Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu về cơ sở toán học, các thuật toán cũng như các kĩ thuật để cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính. Đồ họa máy tính có liên quan ít nhiều đến một số lĩnh vực như đại số, hình học giải tích, hình học họa hình, quang học,... và kĩ thuật máy tính, đặc biệt là chế tạo phần cứng (các loại màn hình, các thiết bị xuất, nhập, các vỉ mạch đồ họa...). Theo nghĩa rộng hơn, đồ họa máy tính là phương pháp và công nghệ dùng trong việc chuyển đổi qua lại giữa dữ liệu và hình ảnh trên màn hình bằng máy tính. Đồ họa máy tính hay kĩ thuật đồ họa máy tính còn được hiểu dưới dạng phương pháp và kĩ thuật tạo hình ảnh từ các mô hình toán học mô tả các đối tượng hay dữ liệu lấy được từ các đối tượng trong thực tế. Thuật ngữ đồ họa máy tính (computer graphics) được đề xuất bởi một chuyên gia người Mĩ tên là William Fetter vào năm 1960. Khi đó ông đang nghiên cứu xây dựng mô hình buồng lái máy bay cho hãng Boeing. William Fetter đã dựa trên các hình ảnh 3 chiều của mô hình người phi công trong buồng lái để xây dựng nên mô hình buồng lái tối ưu cho máy bay Boeing. Đây là phương pháp nghiên cứu rất mới vào thời kì đó. Phương pháp này cho phép các nhà thiết kế quan sát một cách trực quan vị trí của người lái trong khoang buồng lái. William Fetter đã đặt tên cho phương pháp của mình là computer graphics...
TRƯƠNG ĐAI HOC CÔNG NGHIÊP HA NÔI KHOA CÔNG NGHÊ THÔNG TIN BAO CAO BAI TÂP LƠN MƠN: ĐỒ HOA MAY TÍNH ĐỀ TÀI: Mô hoạt động số đồ dùng phòng làm việc Giảng viên: Vũ Minh Yến Lớp: 20213IT6010001 -Hà Nợi, 2022- Mục lục Contents Lời nói đầu CHƯƠNG I, MƠ TẢ BÀI TỐN 1.1 Giới thiệu đề tài 1.2 Mơ tả mơ hình kịch ❖ Mơ tả mơ hình ❖ Mô tả kịch CHƯƠNG II, MỘT SỐ KỸ THUẬT ĐIỂN HÌNH PHÁT TRIỂN CHƯƠNG TRÌNH 2.1, Tạo hàm cube dùng chung 2.2, Thiết kế cài đặt phòng cắt lát 2.2.1, Mơ hình phân cấp 2.2.2, Kỹ thuật cài đặt 2.3, Thiết kế cài đặt cửa 2.3.1, Mơ hình phân cấp 2.3.2, Kỹ thuật cài đặt 2.4, Thiết kế cài đặt cửa sổ 10 2.4.1, Mô hình phân cấp 10 2.4.2, Kỹ thuật cài đặt 10 2.5, Thiết kế cài đặt ghế 11 2.5.1, Mơ hình phân cấp 11 2.5.2, Kỹ thuật cài đặt 11 2.6, Thiết kế cài đặt bàn 13 2.6.1, Mơ hình phân cấp 13 2.6.2, Kỹ thuật cài đặt 13 2.7, Thiết kế cài đặt tủ 15 2.7.1, Mơ hình phân cấp 15 2.7.2, Kỹ thuật cài đặt 15 2.8, Thiết kế điều khiển phép chiếu, camera 16 CHƯƠNG III, KẾT QUẢ CHƯƠNG TRÌNH 19 Kết đạt 19 Kết luận .20 Lời nói đầu Đồ họa máy tính lĩnh vực khoa học máy tính nghiên cứu sở tốn học, thuật toán kĩ thuật phép tạo, hiển thị điều khiển hình ảnh hình máy tính Đồ họa máy tính có liên quan nhiều đến số lĩnh vực đại số, hình học giải tích, hình học họa hình, quang học, kĩ thuật máy tính, đặc biệt chế tạo phần cứng (các loại hình, thiết bị xuất, nhập, vỉ mạch đồ họa ) Theo nghĩa rộng hơn, đồ họa máy tính phương pháp cơng nghệ dùng việc chuyển đổi qua lại liệu hình ảnh hình máy tính Đồ họa máy tính hay kĩ thuật đồ họa máy tính cịn hiểu dạng phương pháp kĩ thuật tạo hình ảnh từ mơ hình tốn học mô tả đối tượng hay liệu lấy từ đối tượng thực tế Thuật ngữ "đồ họa máy tính" (computer graphics) đề xuất chuyên gia người Mĩ tên William Fetter vào năm 1960 Khi ơng nghiên cứu xây dựng mơ hình buồng lái máy bay cho hãng Boeing William Fetter dựa hình ảnh chiều mơ hình người phi cơng buồng lái để xây dựng nên mơ hình buồng lái tối ưu cho máy bay Boeing Đây phương pháp nghiên cứu vào thời kì Phương pháp cho phép nhà thiết kế quan sát cách trực quan vị trí người lái khoang buồng lái William Fetter đặt tên cho phương pháp computer graphics CHƯƠNG I, MÔ TẢ BAI TOAN 1.1 Giới thiệu đề tài Hình Ảnh minh họa mơ hình văn phòng ● Thiết kế văn phòng làm việc: Phòng làm việc nơi quan trọng, yếu tố định đến tinh thần ý chí làm việc Nên phòng làm việc cần thiết kế cách gọn gàng, ngăn nắp kèm theo đồ vật mang tính chất văn phịng như: bàn, ghế, tủ, vô cần thiết Mỗi phịng thường tốt lên thái độ ý thức làm việc người thông qua cách xếp trí phịng 1.2 Mơ tả mơ hình kịch ❖ Mơ tả mơ hình -Tổng quan văn phòng bao gồm: ● ● Một phòng cắt lát: tường mặt sàn bàn làm việc ● ● ● ● ghế tủ cửa cửa sổ ❖ Mơ tả kịch -Mô hoạt động vật thể văn phòng -Thay đổi view volume bấm ‘b’,’B’ a Căn phòng cắt lát -Khi bấm ‘x’, ’y’, ‘z’ xoay phòng xoay quanh trục tương ứng theo chiều kim đồng hồ -Khi bấm ‘X’, ’Y’, ‘Z’ xoay phòng xoay quanh trục tương ứng theo chiều ngược kim đồng hồ phải -'a','s','d','w' di chuyển văn phòng theo chiều lên, xuống, trái, b Bàn làm việc -Bấm đóng mở ngăn kéo phím ‘k’, ‘K’ c Ghế -'n' ngả lưng ghế xuống -'N' dựng lưng ghế lên -'u' nâng ghế cao lên -'U' hạ thấp ghế -'g' xoay ghế theo chiều kim đồng hồ -'G' xoay ghế theo chiều ngược kim đồng hồ -'A','S','D','W' di chuyển ghế d Tủ -'l' mở cửa tủ trái -'L' đóng cửa tủ trái -'r' mở cửa tủ phải -'R' đóng cửa tủ phải -'t' kéo ngăn kéo tủ -'T' đóng ngăn kéo tủ vào e Cửa -'c' mở cửa -'C' đóng cửa f Cửa sổ -'v' kéo rèm cửa sổ xuống -'V' đẩy rèm cửa sổ lên Môi trường lập trình - Chương trình chạy Visual Studio ngôn ngữ C++ sử dụng OpenGL CHƯƠNG II, MỘT SỐ KỸ THUẬT ĐIỂN HÌNH PHAT TRIỂN CHƯƠNG TRÌNH 2.1, Tạo hàm cube dùng chung - Hàm cube() tạo để tạo thành phần vật thể Nó có khả ‘Re-use’ nên tiện lợi giúp code ngắn gọn void cube(GLfloat x, GLfloat y, GLfloat z, GLfloat scaleX, GLfloat scaleY, GLfloat scaleZ, mat4 mv) { instance = Translate(x, y, z)* Scale(scaleX, scaleY, scaleZ); glUniformMatrix4fv(model_view_loc, 1, GL_TRUE, mv * instance); glDrawArrays(GL_TRIANGLES, 0, NumPoints); } 2.2, Thiết kế cài đặt phòng cắt lát 2.2.1, Mơ hình phân cấp 2.2.2, Kỹ thuật cài đặt void office() { //Tạo phòng cắt lát với sàn tường model_view_san = Translate(position_office_x, position_office_y, position_office_z) *RotateX(thetas[0])*RotateY(thetas[1])*RotateZ(thetas[2]); cube(0.0, 0.0, 0.0, 6,0.1,4,model_view_san); model_view_san = model_view_san*Translate(0.0, 1.0, -2.0); cube(0.0, 0.0, 0.0, 6, 2, 0.1, model_view_san); model_view_san = model_view_san * Translate(-3.0, 0.0, 2.0); cube(0.0, 0.0, 0.0, 0.1, 2, 4, model_view_san); //Gọi hàm tạo vật thể ban(); tu(); ghe(); cuachinh(); cuaso(); } 2.3, Thiết kế cài đặt cửa 2.3.1, Mơ hình phân cấp 2.3.2, Kỹ thuật cài đặt void cuachinh() { //tao khung cua model_view_cua_chinh = model_view_san * Translate(0.0, -0.1, 0.56); cube(0.0, 0.0, 0.0, 0.12, 1.8, 0.12, model_view_cua_chinh); model_view_cua_chinh = model_view_cua_chinh * Translate(0.0, 0.0, -1.12); cube(0.0, 0.0, 0.0, 0.12, 1.8, 0.12, model_view_cua_chinh); model_view_cua_chinh = model_view_cua_chinh * Translate(0.0, 0.96, 0.56); cube(0.0, 0.0, 0.0, 0.12, 0.12, 1.24, model_view_cua_chinh); //tao cua model_view_cua_chinh = model_view_cua_chinh * Translate(0.0,-0.96,0.5)*RotateY(deg_cua_chinh); cube(0.0, 0.0, 0.5, 0.1, 1.8, 1, model_view_cua_chinh); //nam dam cua model_view_cua_chinh = model_view_cua_chinh * Translate(0.0, 0.0, 0.85); cube(0.0, 0.0, 0.0, 0.16, 0.14, 0.14, model_view_cua_chinh); } 2.4, Thiết kế cài đặt cửa sổ 2.4.1, Mơ hình phân cấp 2.4.2, Kỹ thuật cài đặt void cuaso(){ //tao de model_view_cua_so = model_view_ban * Translate(-1.2, 0.2, -2.0); cube(0.0, 0.0, 0.0, 0.6, 0.12, 0.4, model_view_cua_so); //tao khung model_view_cua_so = model_view_cua_so * Translate(-0.275, 0.46, 0.0); cube(0.0, 0.0, 0.0, 0.05, 0.8, 0.12, model_view_cua_so); model_view_cua_so = model_view_cua_so * Translate(0.55,0.0, 0.0); cube(0.0, 0.0, 0.0, 0.05, 0.8, 0.12, model_view_cua_so); model_view_cua_so = model_view_cua_so * Translate(-0.275, 0.425, 0.0); cube(0.0, 0.0, 0.0, 0.6, 0.05, 0.12, model_view_cua_so); //tao rem cua model_view_cua_so = model_view_cua_so * Translate(0.0, -0.025, 0.0); 10 cube(0.0, -0.5*height_rem, 0.0, 0.5, height_rem, 0.1, model_view_cua_so); model_view_cua_so = model_view_cua_so * Translate(0.0, -(height_rem + 0.06), 0.0); cube(0.0, 0.0, 0.0, 0.01, 0.14, 0.01, model_view_cua_so); model_view_cua_so = model_view_cua_so * Translate(0.0, -0.08, 0.0); cube(0.0, 0.0, 0.0, 0.02, 0.02, 0.02, model_view_cua_so); } 2.5, Thiết kế cài đặt ghế 2.5.1, Mô hình phân cấp 2.5.2, Kỹ thuật cài đặt void ghe() { model_view_truc_ghe = model_view_san * Translate(position_chair[0], -(2 ghe_heigt) / 2, position_chair[2]); cube(0.0, 0.0, 0.0, 0.1, ghe_heigt, 0.1, model_view_truc_ghe); //Chan ghe model_view_chan_ghe = model_view_truc_ghe * Translate(0.0, -(ghe_heigt - 0.1)/2, 0.0); cube(0.0, 0.0, 0.0, 0.5, 0.1, 0.1, model_view_chan_ghe); model_view_chan_ghe = model_view_chan_ghe * Translate(0.0, 0.0, 0.0); 11 cube(0.0, 0.0, 0.0, 0.1, 0.1, 0.5, model_view_chan_ghe); //Mat Ghe model_view_mat_ghe = model_view_truc_ghe * Translate(0.0, (ghe_heigt - 0.08)/2, 0.0) * RotateY(deg_ghe); cube(0.0, 0.0, 0.0, 0.55, 0.08, 0.55, model_view_mat_ghe); //Lung ghe model_view_lung_ghe = model_view_mat_ghe * Translate(-0.235, 0.09, 0.0)*RotateZ(deg_lung_ghe); cube(0.0, 0.0, 0.0, 0.08, 0.1, 0.08, model_view_lung_ghe); model_view_lung_ghe = model_view_lung_ghe * Translate(0.0, 0.3, 0.0); cube(0.0, 0.0, 0.0, 0.08, 0.6, 0.55, model_view_lung_ghe); //tay vin model_view_mat_ghe = model_view_mat_ghe * Translate(-0.12, 0.1, 0.25); cube(0.0, 0.0, 0.0, 0.05, 0.12, 0.05, model_view_mat_ghe); model_view_mat_ghe = model_view_mat_ghe * Translate(0.28, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.05, 0.12, 0.05, model_view_mat_ghe); model_view_mat_ghe = model_view_mat_ghe * Translate(0.0, 0.0, -0.5); cube(0.0, 0.0, 0.0, 0.05, 0.12, 0.05, model_view_mat_ghe); model_view_mat_ghe = model_view_mat_ghe * Translate(-0.28, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.05, 0.12, 0.05, model_view_mat_ghe); model_view_mat_ghe = model_view_mat_ghe * Translate(0.175, 0.035, 0.0); cube(0.0, 0.0, 0.0, 0.5, 0.05, 0.09, model_view_mat_ghe); model_view_mat_ghe = model_view_mat_ghe * Translate(0.0, 0.0, 0.5); cube(0.0, 0.0, 0.0, 0.5, 0.05, 0.09, model_view_mat_ghe); } 12 2.6, Thiết kế cài đặt bàn 2.6.1, Mơ hình phân cấp 2.6.2, Kỹ thuật cài đặt void ban() { //Tạo đáy bàn model_view_ban = model_view_san * Translate(2.6, -0.34, 0.0); cube(0.0, 0.0, 0.0, 1.2,0.02,2.2,model_view_ban); //Tạo chân bàn model_view_chan_ban = model_view_ban * Translate(0.5, -0.335, 1.0); cube(0.0, 0.0, 0.0, 0.2, 0.65, 0.2, model_view_chan_ban); model_view_chan_ban = model_view_chan_ban * Translate(-1.0, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.2, 0.65, 0.2, model_view_chan_ban); model_view_chan_ban = model_view_chan_ban * Translate(0.0, 0.0, -2.0); cube(0.0, 0.0, 0.0, 0.2, 0.65, 0.2, model_view_chan_ban); model_view_chan_ban = model_view_chan_ban * Translate(1.0, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.2, 0.65, 0.2, model_view_chan_ban); //Tạo ngăn kéo model_view_ngankeo = model_view_ban * Translate(-position_ngankeo-0.02, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.6, 0.02, 0.3, model_view_ngankeo); model_view_ngankeo = model_view_ngankeo * Translate(0.0, 0.1, -0.13); cube(0.0, 0.0, 0.0, 0.6, 0.2, 0.02, model_view_ngankeo); model_view_ngankeo = model_view_ngankeo * Translate(0.0, 0.0, 0.26); cube(0.0, 0.0, 0.0, 0.6, 0.2, 0.02, model_view_ngankeo); model_view_ngankeo = model_view_ngankeo * Translate(0.28, 0.0, -0.13); cube(0.0, 0.0, 0.0, 0.02, 0.2, 0.3, model_view_ngankeo); model_view_ngankeo = model_view_ngankeo * Translate(-0.56, 0.0, 0.0); 13 cube(0.0, 0.0, 0.0, 0.02, 0.2, 0.3, model_view_ngankeo); model_view_ngankeo = model_view_ngankeo * Translate(0.0, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.005, 0.05, 0.1, model_view_ngankeo); //Tạo mặt bàn model_view_vach = model_view_ban * Translate(0.0, 0.3, 0.0); cube(0.0, 0.0, 0.0, 1.2, 0.02, 2.2, model_view_vach); //Tạo vách sau model_view_vach = model_view_ban * Translate(0.61, 0.14, 0.0); cube(0.0, 0.0, 0.0, 0.02, 0.3, 2.2, model_view_vach); //Tạo vách bên model_view_vach = model_view_ban * Translate(0.0, 0.14, 1.09); cube(0.0, 0.0, 0.0, 1.24, 0.3, 0.02, model_view_vach); model_view_vach = model_view_ban * Translate(0.0, 0.14, -1.09); cube(0.0, 0.0, 0.0, 1.24, 0.3, 0.02, model_view_vach); //Tạo vách trước model_view_vach = model_view_ban * Translate(-0.61, 0.14, 0.625); cube(0.0, 0.0, 0.0, 0.02, 0.3, 0.95, model_view_vach); model_view_vach = model_view_ban * Translate(-0.61, 0.14, -0.625); cube(0.0, 0.0, 0.0, 0.02, 0.3, 0.95, model_view_vach); model_view_vach = model_view_ban * Translate(-0.61, 0.25, 0.0); cube(0.0, 0.0, 0.0, 0.02, 0.08, 0.3, model_view_vach); } 14 2.7, Thiết kế cài đặt tủ 2.7.1, Mơ hình phân cấp 2.7.2, Kỹ thuật cài đặt void tu() { model_view_tu = model_view_san * Translate(4.6, -0.8, -1.4); cube(0.0, 0.0, 0.0, 2.2, 0.05, 1.2, model_view_tu); //Tạo chân tủ model_view_chan_tu = model_view_tu * Translate(1.05, -0.112, -0.55); cube(0.0, 0.0, 0.0, 0.1, 0.175, 0.1, model_view_chan_tu); model_view_chan_tu = model_view_chan_tu * Translate(-2.1, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.1, 0.175, 0.1, model_view_chan_tu); model_view_chan_tu = model_view_chan_tu * Translate(0.0, 0.0, 1.1); cube(0.0, 0.0, 0.0, 0.1, 0.175, 0.1, model_view_chan_tu); model_view_chan_tu = model_view_chan_tu * Translate(2.1, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.1, 0.175, 0.1, model_view_chan_tu); //mat sau tu model_view_vach_tu = model_view_tu * Translate(0.0, 0.8, -0.575); cube(0.0, 0.0, 0.0, 2.2, 1.6, 0.05, model_view_vach_tu); //Tạo khung model_view_khung_tu = model_view_tu * Translate(-0.55, 0.6, 0.0); cube(0.0, 0.0, 0.0, 1.1, 0.05, 1.2, model_view_khung_tu); 15 model_view_khung_tu = model_view_khung_tu * Translate(0.0, 0.6, 0.0); cube(0.0, 0.0, 0.0, 1.1, 0.05, 1.2, model_view_khung_tu); model_view_khung_tu = model_view_khung_tu * Translate(1.1, -0.5, 0.0); cube(0.0, 0.0, 0.0, 1.1, 0.05, 1.2, model_view_khung_tu); model_view_khung_tu = model_view_khung_tu * Translate(-0.55, 0.125, 0.0); cube(0.0, 0.0, 0.0, 0.05, 1.6, 1.2, model_view_khung_tu); //tạo vách tủ model_view_vach_tu = model_view_vach_tu * Translate(-1.075, 0.0, 0.575); cube(0.0, 0.0, 0.0, 0.05, 1.6, 1.2, model_view_vach_tu); model_view_vach_tu = model_view_vach_tu * Translate(1.075*2, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.05, 1.6, 1.2, model_view_vach_tu); model_view_vach_tu = model_view_vach_tu * Translate(-1.075, 0.795, 0.0); cube(0.0, 0.0, 0.0, 2.2, 0.05, 1.2, model_view_vach_tu); //left model_view_cua_tu_left = model_view_tu * Translate(-1.1, 0.785, 0.575)*RotateY(deg_left_door); cube(0.55, 0.0, 0.0, 1.1, 1.575, 0.05, model_view_cua_tu_left); model_view_cua_tu_left = model_view_cua_tu_left * Translate(1.0, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.05, 0.3, 0.005, model_view_cua_tu_left); //Tạo ngăn kéo tủ model_ngankeo_tu = model_view_tu * Translate(0.5375, 0.025, positon_ngankeo_tu); cube(0.0, 0.0, 0.0, 1.025, 0.05, 1.15, model_ngankeo_tu); model_ngankeo_tu = model_ngankeo_tu * Translate(0.0, 0.275, -0.55); cube(0.0, 0.0, 0.0, 1.025, 0.5, 0.05, model_ngankeo_tu); model_ngankeo_tu = model_ngankeo_tu * Translate(-0.49, 0.0, 0.575); cube(0.0, 0.0, 0.0, 0.05, 0.5, 1.15, model_ngankeo_tu); model_ngankeo_tu = model_ngankeo_tu * Translate(0.96, 0.0,0.0); cube(0.0, 0.0, 0.0, 0.05, 0.5, 1.15, model_ngankeo_tu); model_ngankeo_tu = model_ngankeo_tu * Translate(-0.46, 0.05, 0.55); cube(0.0, 0.0, 0.0, 1.1, 0.705, 0.05, model_ngankeo_tu); model_ngankeo_tu = model_ngankeo_tu * Translate(0.0, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.4, 0.05, 0.05, model_ngankeo_tu); //right model_view_cua_tu_right = model_view_tu * Translate(1.1, 1.1475, 0.575) * RotateY(deg_right_door); cube(-0.55, 0.0, 0.0, 1.1, 0.875, 0.05, model_view_cua_tu_right); model_view_cua_tu_right = model_view_cua_tu_right * Translate(-1.0, 0.0, 0.0); cube(0.0, 0.0, 0.0, 0.05, 0.3, 0.005, model_view_cua_tu_right); } 2.8, Thiết kế điều khiển phép chiếu, camera ● B1, Chỉnh sửa vshader1 16 ● B2, Tạo biến gán giá trị ban đầu để khởi tạo phép chiếu camera ● B3, Sửa hàm shaderSetup để lấy giá trị cần thiết để thiết lập ● B4, Thiết lập phép chiếu camera từ biến vừa tạo hàm display ● B5, Tạo phím điều khiển phối cảnh hàm keyboard 17 18 CHƯƠNG III, KẾT QUẢ CHƯƠNG TRÌNH Kết đạt -Xây dựng số mơ hình phịng làm việc +Cửa đóng mở +Cửa sổ kéo hạ rèm xuống +Ghế thay đổi chiều cao, ngả lưng ghế, xoay, di chuyển +Bàn kéo ngăn kéo ra, đóng ngăn kéo vào +Tủ mở cánh cửa độc lập ngăn kéo tủ có khả kéo kéo vào 19 Kết luận Sau làm tập nhóm, thành viên có hội học hỏi, rèn luyện kiến thức lớp; qua thành viên hiểu học có khả giải toán Trong tương lai, nhóm tìm hiều thêm vấn đề công nghệ liên quan rèn luyện học hỏi thêm 20 ... hình máy tính Đồ họa máy tính hay kĩ thuật đồ họa máy tính cịn hiểu dạng phương pháp kĩ thuật tạo hình ảnh từ mơ hình tốn học mơ tả đối tượng hay liệu lấy từ đối tượng thực tế Thuật ngữ "đồ họa máy. .. .20 Lời nói đầu Đồ họa máy tính lĩnh vực khoa học máy tính nghiên cứu sở toán học, thuật toán kĩ thuật phép tạo, hiển thị điều khiển hình ảnh hình máy tính Đồ họa máy tính có liên quan nhiều... giải tích, hình học họa hình, quang học, kĩ thuật máy tính, đặc biệt chế tạo phần cứng (các loại hình, thiết bị xuất, nhập, vỉ mạch đồ họa ) Theo nghĩa rộng hơn, đồ họa máy tính phương pháp cơng