lOMoARcPSD| 60734260
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN
HỌC PHẦN: KỸ THUẬT ĐỒ HỌA MÁY TÍNH
Đề tài 36: THIẾT KẾ PHÒNG CHO BÉ TRAI
Sinh viên thực hiện
Lớp
Khóa
Phạm Hồng Phúc Anh
DCCNTT12.10.13
12
Nguyễn Đức Nhanh
DCCNTT12.10.13
12
Nguyễn Thị Thương
DCCNTT12.10.13
12
Bắc Ninh, năm 2024
lOMoARcPSD| 60734260
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN
HỌC PHẦN: KỸ THUẬT ĐỒ HỌA MÁY TÍNH
Nhóm : 13
Đề tài 36: Thiết kế phòng cho bé trai
STT
Sinh viên thực hiện
Điểm bằng số
Điểm bằng chữ
1
Phạm Hồng Phúc Anh
2
Nguyễn Đức Nhanh
3
Nguyễn Thị Thương
CÁN BỘ CHẤM 1 CÁN BỘ CHẤM 2
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
lOMoARcPSD| 60734260
MỤC LỤC
MỤC LỤC HÌNH ẢNH.....................................................................................................
PHÂN CÔNG CÔNG VIỆC..............................................................................................
LỜI MỞ ĐẦU....................................................................................................................
Chương 1: Cơ sở lý thuyết về kỹ thuật đồ họa máy tính....................................................
1.1 Các khái niệm cơ bản về đồ họa máy tính:...............................................................
1.2. Các kỹ thuật đồ họa.................................................................................................
1.2.1. Đồ họa rester:.................................................................................................................
1.2.2.Kỹ thuật đồ họa vector:...................................................................................................
1.2.3.Đồ họa 3D.......................................................................................................................
1.2.4. Đồ họa 2D......................................................................................................................
1.2.5. Các ứng dụng tiêu biểu của kỹ thuật đồ họa................................................................
1.3. Các giải thuật đồ họa cơ bản................................................................................
1.4. Tổng quan về openGL...........................................................................................
1.5. Quan sát ba chiều (phép chiếu – Projection).......................................................
1.5.1 Các phép chiếu..............................................................................................................
1.5.2. Phép chiếu trực giao (Orthographics projection).........................................................
1.5.3. chiếu trục lượng (Axonometric).................................................................................. 1.5.4.
Phép chiếu phối cảnh................................................................................................... Chương 2:
Thiết kế sản phẩm đồ họa 3D với openGL.....................................................
2.1. Xây dựng ý tưởng thiết kế:....................................................................................
2.2. Vẽ các đối tượng 3D..............................................................................................
2.2.1. Quạt trần......................................................................................................................
2.2.2. Giường ngủ..................................................................................................................
2.2.3 Tủ quần áo....................................................................................................................
2.2.4 Ti vi...............................................................................................................................
2.2.5 Chậu cây cảnh...............................................................................................................
2.2.6 Bàn học.........................................................................................................................
2.2.7. Ghế ngồi.......................................................................................................................
2.2.8. Đèn học........................................................................................................................
2.2.9. Kệ sách.........................................................................................................................
lOMoARcPSD| 60734260
2.2.10 . Cửa sổ.......................................................................................................................
2.2.11 Cửa chính....................................................................................................................
2.3. Thiết lập các nguồn sáng.......................................................................................
2.3.1. Các loại nguồn sáng.....................................................................................................
2.3.2. Thiết lập nguồn sáng....................................................................................................
Chương 3: Kết luận..........................................................................................................
3.1. Sản phẩm chạy code..............................................................................................
3.2. Hướng phát triển...................................................................................................
TÀI LIỆU THAM KHẢO................................................................................................
lOMoARcPSD| 60734260
MỤC LỤC HÌNH ẢNH
Số hiệu
Tên
Trang
Hình1.1
Mô hình đồ họa vector
9
Hình1.2
Ứng dụng đồ họa máy tính vào giao diện người dùng
11
Hình1.3
Ứng dụng đồ họa máy tính vào thông tin
11
Hình1.4
Ứng dụng đồ họa máy tính vào bản đồ
12
Hình1.5
Ứng dụng đồ họa máy tính vào giáo dục và đào tạo
12
Hình1.6
Ứng dụng đồ họa máy tính vào y tế
13
Hình1.7
Ứng dụng đồ họa máy tính vào quá trình tự động hóa
13
Hình1.8
Mô hình nguyên lý của tiến trình biểu diễn đối tượng
3D
16
Hình1.9
Phép chiếu trực giao
16
Hình1.10
Phép biến đổi phối cảnh
17
Hình 2.1
Ảnh quạt trần
18
Hình 2.2
Giường ngủ
20
Hình 2.3
Tủ quần áo
22
Hình 2.4
Ảnh ti vi
24
Hình 2.5
Chậu cây cảnh
25
Hình 2.6
Bàn học
27
Hình 2.7
Ghế ngồi học
28
Hình 2.8
Đèn học
29
Hình 2.9
Kệ sách
30
Hình 2.10
Cửa sổ
32
Hình 2.11
Cửa chính
35
Hình 3.1
Hình vẽ 3D bao quát căn phòng
39
Hình 3.2
Hình vẽ 3D góc chiếu sáng 1
39
Hình 3.3
Hình vẽ 3D góc chiếu sáng 2
40
Hình 3.4
Hình vẽ 3D góc chiếu sáng 3
40
Hình 3.5
Hình vẽ 3D góc nhìn 1
41
Hình 3.6
Hình vẽ 3D góc nhìn 2
41
Hình 3.7
Hình vẽ 3D góc nhìn 3
42
Hình 3.8
Hình vẽ 3D góc nhìn 4
42
PHÂN CÔNG CÔNG VIỆC
STT
Tên công việc
Công việc chia đến nhỏ nhất
Họ và tên người thực
hiện
1
Giới thiệu đề tài
Nguyễn Thị Thương
lOMoARcPSD| 60734260
2
thuyết
hình hóa 3D
Vẽ sơ đồ bố trí phòng 3D.
Phạm Hồng Phúc Anh
3
Xây dựng hình 3D cho các đối
tượng đơn giản như bàn, ghế, TV, tủ
sách...
Nguyễn Đức Nhanh
Nguyễn Thị Thương
4
Ánh sáng xử
sự kiện
Thiết kế lập trình hệ thống ánh
sáng cho phòng khách, bao gồm ánh
sáng môi trường và đèn trần
(spotlight).
Phạm Hồng Phúc Anh
5
Lập trình xử sự kiện bàn phím để
bật/tắt điều chỉnh hướng chiếu đèn.
Phạm Hồng Phúc Anh
6
Xác định các thông số ánh sáng
(position,ambient,diffuse,specular...).
Nguyễn Đức Nhanh
7
Texture và hoàn
thiện
Tìm kiếm áp dụng texture cho các
đối tượng 3D để tăng tính chân thực
Nguyễn Thị Thương
Nguyễn Đức Nhanh
8
Xây dựng hình 3D viết code
OpenGL cho các đối tượng phức tạp
hơn như cửa sổ, cửa ra vào, thảm,...
Phạm Hồng Phúc Anh
Nguyễn Đức Nhanh
9
Viết code OpenGL để dựng hình các
đối tượng này
Phạm Hồng Phúc Anh
lOMoARcPSD| 60734260
LỜI MỞ ĐẦU
Ngày nay đồ họa máy tính được ứng dụng trong rất nhiều lĩnh vực khoa học, kỹ
thuật các dịch vụ đời sống đều nhờ sự đa dạng của đồ họa máy tính. Công ngh
đồ họa đã mang lại cho con người chúng ta vô vàn sự tiện nghi, những trải nghiệm mới
lạ và chân thực, có thể nói đồ họa máy tính đã trở thành một trong những công cụ không
thể thiếu trong công việc cũng như sinh hoạt và giải trí của mỗi người và mang đến cho
chúng ta những trải nghiệm trước đây chưa từng vậy nghiên cứu về đồ họa
máy tính có tầm quan trọng vô cùng đặc biệt trong rất nhiều lĩnh vực khác nhau.
Đồ họa máy tính phương pháp công nghệ dùng trong việc chuyển đổi qua lại
giữa dữ liệu và hình ảnh bằng máy tính. Đồ 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ề toán học, các thuật toán cũng như các kỹ thuật máy tính để cho
phép tạo ra, hiển thị và điều khiển hình ảnh, video trên màn hình máy tính. Đồ họa máy
tính 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, lập trình máy tính, kỹ thuật máy nh,.....Việc mô tả dữ liệu thông qua các hình
ảnh màu sắc đa dạng của nó, các chương trình đồ họa thườn thu hút người sử dụng
bởi tính thân thiện, dễ dùng kích thích khả năng sáng tạo nâng cao năng suất làm
việc. Là sinh viên chúng em được tiếp xúc, tìm hiểu và làm quen với một số kỹ thuật đồ
họa trên máy tính thông qua tài liệu, bài giảng trên lớp. Với những kiến thức đã học
nhóm chúng em quyết định chọn đề tài Thiết kế phòng cho trai”. Trong quá trình
làm bài báo cáo, do trình độ chuyên môn và năng lực của nhóm còn nhiều hạn chế n
không tránh khỏi những sai sót, vì vậy rất mong nhận được sự đóng góp của thầy cô
các bạn để bài báo cáo hoàn thiện hơn.
Qua đây, nhóm chúng em cũng xin chân thành cảm ơn cô “Đỗ Thị Huyền” đã
nhiệt tình hướng dẫn, chỉ bảo nhóm em trong quá trình hoc tập.
Em xin chân thành cảm ơn!
Chương 1: Cơ sở lý thuyết về kỹ thuật đồ họa máy tính
1.1 Các khái niệm cơ bản về đồ họa máy tính:
- Đồ 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 gồm:
Thiết kế phần cứng.
Các thuật toán để phát sinh các đường.
Các phần mềm được sử dụng cho người lập trình hệ thống và người lập
trình ứng dụng đồ họa.
Các chương trình ứng dụng tạo ảnh bằng máy tính.
- Definition (ISO): Phương pháp và công nghệ chuyển đổi sữ liệu từ thiết bị
đồ họa sang máy tính.
- Computer Graphics: là phương tiện đa năng và mạnh nhất của giao tiếp giữa
con người và máy tính.
- Computer Graphics (Kỹ thuât đồ họa máy tính) là một lĩnh vực của công
nghệ thông tin mà ở đó nghiên cứu, xây dựng và tập hợp các công cụ (mô
hình lý thuyết và phần mềm) khác nhau: kiến tạo, xây dựng, lưu trữ, xử lý
các mô hình (model) và hình ảnh (image) của đối tượng. Các mô hình
lOMoARcPSD| 60734260
(model) và hình ảnh này có thể là kết quả thu được từ những lĩnh vực khác
nhau của rất nhiều ngành khoa học (vật lý, toán học, thiên văn học,....).
1.2. Các kỹ thuật đồ họa
1.2.1. Đồ họa rester:
- Khái niệm thiết kế đồ họa raster (đồ họa hoặc hình ảnh Bitmap) là một trong
những kỹ thuật hiển thị hình ảnh lâu đời phố biến nhất với nền tảng kỹ
thuật lấy từ ng nghệ màn hình tivi đã tồn tại rất lâu trước khi máy tính điện
tử ra đời. Với kỹ thuật này, tất cả các hình nh đều được làm nên từ các ô
vuông có màu nhỏ li ti được gọi là pixel (phần tử ảnh).
- Tùy thuộc vào độ phân giải, một hình ảnh thể chứa hàng nghìn đến hàng
triệu pixel, giống như một bức tường được y lên từ nhiều viên gạch vậy. Ưu
điểm lớn nhất của kỹ thuật raster là các hình ảnh raster có thể hiển thị các chi
tiết ràng, đẹp với màu sắc đa dạng, hài hòa. Tuy nhiên, hình ảnh raster
thể sẽ bị “vỡ” hoặc mnếu phóng to hoặc bị nén quá nhiều. Dung lượng các
file ảnh raster cũng khá lớn nếu có độ phân giải cao.
1.2.2.Kỹ thuật đồ họa vector:
- Đồ họa vector là kỹ thuật tạo dựng hình ảnh bằng các đường kẻ quy định bởi
các công thức toán học lần đầu tiên được sử dụng cho màn hình máy tính
trong những m 60 70 của thế kỉ 20. Tuy không phổ biến bằng kỹ thuật
đồ họa raster đã từng một thời gian gần như bị “xóa sổ” bởi raster, đồ
họa vector đang được ưa chuộng trở lại.
Hình1.1.Mô hình đồ họa
vector
lOMoARcPSD| 60734260
1.2.3.Đồ họa 3D
- Đồ họa 3D kỹ thuật đồ họa đang được tập trung phát triển nhất trong thời
điểm hiện tại, với sự quan tâm và tiềm ng của các ứng dụng như không gian
ảo hay hình chiếu ba chiều. Nhà thiết kế đồ họa phải thực hiện rất nhiều bước
khác nhau áp dụng nhiều kỹ thuật tạo dựng hình ảnh phức tạp để được
một đôí tượng hình ảnh 3D đúng nghĩa.
- Đây bước mất thời gian phức tạp nhất vì một vật thể 3D có nhiều bề mặt
khác nhau với các chất liệu khác nhau, độ trong suốt hay mờ đục, màu sắc,
mức độ bắt sáng hay phản sáng khác nhau. Để tạo được một vật thể 3D thật
nhất có thể, nhiều kỹ thuật toán học được áp dụng để tính toán mô phỏng
cách ánh sáng chiếu và phản chiếu vào các loại mặt phẳng khác nhau như ray
tracing hay radiosity,…
1.2.4. Đồ họa 2D
- Đồ họa 2D hay đồ hoạ hai chiều những hình ảnh phẳng không chiều sâu.
Chúng chủ yếu được sdụng trong minh họa, thiết kế đồ họa một số loại
hoạt hình nhất định. Hãy nghĩ đến những bộ phim hoạt hình bạn đã xem
khi còn nhỏ hoặc các biểu tượng trên màn hình của bạn; đây những dụ
về đồ họa 2D. Chúng dựa vào các hình dạng hình học cơ bản và hệ tọa độ XY
gồm chiều cao và chiều rộng.
- Kỹ thuật đồ họa 2 chiều: kỹ thuật đhọa máy tính sử dụng hệ tọa độ hai
chiều (hệ tọa độ thẳng), sử dụng rất nhiều trong kỹ thuật xử lý bản đồ, đồ thị.
Các lĩnh vực của đồ họa máy tính:
- Kỹ thuật xử ảnh (Computer Imaging): sau quá trình xử ảnh cho ta ảnh
số của đối tượng, trong quá trình xử ảnh sử dụng rất nhiều các kỹ thuật
phức tạp: kỹ thuật khôi phục ảnh, kỹ thuật làm nối ảnh, kỹ thuật xác định biên
ảnh.
- Kỹ thuật nhận dạng (Pattern Recognition): từ những ảnh mẫu có sẵn ta phân
loại theo các trúc, hoặc theo các tiêu chí được xác định từ trước bằng các
thuật toán chọn lọc để có thể phân tích hay tổng hợp các ảnh gốc, các ảnh gốc
này được lưu trong một thư viện và căn cứ vào thư viện này ta xây dựng được
các thuật giải phân tích và tổ hợp ảnh.
- Kỹ thuật tổng hợp ảnh (Image Synthesis): lĩnh vực xây dựng mô hình
hình ảnh của các vật thể dựa trên các đối tượng và mối quan hệ giữa chúng.
- Các hệ CAD\CAM (Computer Aided Design/Computer) Aided
Manufacture System): kỹ thuật đồ họa tập hợp các công cụ, c kỹ thuật trợ
giúp cho thiết kế các chi tiết và các hệ thống khác nhau: hệ thống cơ, hthống
điện,hệ thống điện tử,...
- Đồ họa minh họa (Pressentation Graphics): gồm các công cụ giúp hiển thị các
số liệu thí nghiệm một cách trực quan, dựa trên các mẫu đồ thị hoặc các thuật
toán có sẵn.
lOMoARcPSD| 60734260
- Đồ họa hoạt hình và nghệ thuật: bao gồm các công cụ giúp cho các họa sĩ, các
nhà thiết kế phim hoạt hình chuyên nghiệp m về các kỹ sảo hoạt hình, vẽ
tranh,...ví dụ; phần mềm studio, 3D studio mã.
1.2.5. Các ứng dụng tiêu biểu của kỹ thuật đồ họa
Đồ họa máy tính là một trong những linh vực lý thú nhất và phát triển nhanh
nhất của tin học.Ngay từ khi xuất hiện nó đã có sức lôi cuốn mãnh liệt, cuốn
hút rất nhiều người nhiều lĩnh vực khác nhau như khoa học nghệ thuật, kinh
doanh, quản lý,...Tính hấp dẫn của thể được minh họa rất trực quan
thông qua các ứng dụng của nó.
- Xây dựng giao diện tương tác người dùng (User Interface): Giao diện đồ họa
thực sự cuộc cách mạng mang lại sự thuận tiện thoải mái cho người dùng
ứng dụng. Giao diện WYSIWYG WIMP đang được đa số người dùng ưa
thích nhờ tính thân thiện, dễ sử dụng nó.
Hình 1.2. Ứng dụng đồ họa máy tính vào giao diện người dùng
- Tạo các biểu đồ trong thương mại, khoa học, kỹ thuật
Các ứng dụng này thường được ng để m lược các dữ liệu về i chính,
thống kê, kinh tế, khoa học,.... giúp cho nghiên cứu, quản lý,.. một cách
hiệu quả.
lOMoARcPSD| 60734260
Hình 1.3. Ứng dụng đồ họa máy tính vào thông tin
- Vẽ bản đồ:
Hình 1.4. Ứng dụng đồ họa máy nh vào bản đồ
- Giáo dục và đào tạo:
lOMoARcPSD| 60734260
Hình 1.5. Ứng dụng đồ họa máy tính vào giáo dục và đào tạo
- Y tế:
Hình 1.6. Ứng dụng đồ họa máy tính vào y tế
- Điều khiển các quá trình tự động hóa:
lOMoARcPSD| 60734260
Hình 1.7. Ứng dụng đồ họa máy tính vào quá trình tự động hóa
1.3. Các giải thuật đồ họa cơ bản
Các giải thuật đồ họa cơ bản là những thật toán được sử dụng để thực
hiện các thao tác cơ bản trên hình ảnh và video, ví dụ như:
Biến đổi hình học:
Biến đổi tịnh tiến: Di chuyển đối tượng dọc theo một vector.
Biến đổi xoay: Xoay đối tượng quanh một điểm trụ.
Biến đổi thu phóng: thay đổi kích thước của đối tượng.
Biến đổi cắt xén: Loại bỏ các phần không mong muốn của đối tượng.
Chiếu sáng
hình phong: hình hóa cách ánh ng phản xạ xa từ bề mặt.
hình Blinn-phong: Cải tiến hình Phong bằng cách tính toán hướng phản
xạ cục bộ.
Mô hình Cook-Torrance: Mô hình hóa cách ánh sáng tương tác với các
bề mặt phức tạp hơn.
Tô màu
màu bằng màu phẳng: Gán một màu duy nhất cho toàn bộ đối tượng:
màu dốc màu: Gán các màu khác nhau cho các điểm khác nhau trên
đối tượng theo một Gradient.
Tô màu theo ánh sáng kết cấu: Gán màu sắc cho đối tượng dựa trên một
kết cấu.
Hiển thị
Thuật toán Bresenham: Vẽ các đường thẳng.
Thuật toán DDA: Vẽ các đường thẳng với độ chính xác cao hơn.
Thuật toán quét bảng: Hiển thị các hình ảnh raster.
lOMoARcPSD| 60734260
1.4. Tổng quan về openGL
- OpenGL (Open Graphics Library) một API đa nền tảng, đa ngôn ngữ cho
kết xuất đồ họa vector 2D và 3D. API thường được sử dụng để tương tác với
bộ xử lý đồ họa (GPU), nhằm đạt được tốc độ kết xuất phần cứng.
- Đặc tả OpenGL tả một API trừu tượng để vẽ đồ họa 2D 3D. Mặc
API thể được triển khai hoàn toàn trong phần mềm, nhưng được thiết
kế để triển khai hầu hết hoặc hoàn toàn trong phần cứng.
- API được định nghĩa là một tập hợp các hàm thể được gọi bởi chương trình
khách, cùng với một tập hợp các hằng số nguyên được đặt tên (ví dụ, hằng số
GL_TEXTURE_2D, tương ứng với số thập phân 3553). Mặc các định
nghĩa m bề ngoài tương tự như các định nghĩa của ngôn ngữ lập trình C,
chúng không phụ thuộc vào ngôn ngữ. vậy, OpenGL nhiều language
bindings, một số liên kết đáng chú ý nhất là WebGL ràng buộc JavaScript
(API, dựa trên OpenGL ES 2.0, cho kết xuất 3D từ trong trình duyệt web); C
binding WGL, GLX CGL; C binding cung cấp bởi iOS; Java, C
bindings cung cấp bởi Android.
- Ngoài việc không phụ thuộc vào ngôn ngữ, OpenGL cũng đa nền tảng. Đặc
tả kỹ thuật không nói về chủ đề lấy quản ngữ cảnh OpenGL, để lại
điều này như một chi tiết của windowing system. Vì lý do tương tự,
OpenGL hoàn toàn quan tâm đến việc hiển thị, không cung cấp API nào liên
quan đến đầu vào, âm thanh hoặc windowing.OpenGL được thiết kế nhằm
thỏa mãn mục đích chính sau:
- Che giấu sự tương tác phức tạp với các bộ máy xúc tiến 3 chiều bằng cách
đưa ra một giao diện lập trình thống nhất.
- Che giấu các sự khác biệt giữa các phần cứng 3 chiều bằng cách bắt buộc các
phần cứng tương thích OpenGL phải hỗ trợ tất cả các chức năng của giao diện
OpenGL. Nếu cần, các chức năng chưa được hỗ trợ đầy đủ bởi phần cứng có
thể được hỗ trợ bằng phần mềm.
1.5. Quan sát ba chiều (phép chiếu – Projection)
1.5.1 Các phép chiếu
- Định nghĩa về phép chiếu:
Mộ cách tổng quát, phép chiếu là phép chuyển đổi những điểm của đối
tượng trong hệ thống tọa độ n chiếu thành những điểm trong hệ thống tọa
độ có số chiếu nhỏ hơn n.
- Định nghĩa về hình chiếu
Ảnh của đối tượng trên mặt phẳng chiếu được hình thành từ phép chiếu
bởi các đường thẳng gọi là tia chiếu (Projection) xuất phát từ một điểm
lOMoARcPSD| 60734260
gọi là tâm chiếu (Center of projection) đí qua các điểm của đối tượng
giao với mặt chiếu (Projection plan).
- Các bước xây dựng hình chiếu:
Đối tượng trong không gian với tọa độ thực được cắt theo một không
gian xác định gọi là view volume.
View volume được chiếu lên mặt phẳng chiếu. Diện tích bởi view
volume trên mặt phẳng chiếu đó cho chúng ta khung nhìn.
Là việc ánh sáng phản xạ khung nhìn vào trong một cổng nhìn bất kỳ cho
trước trên màn hình để hiển thị hình ảnh.
Hình 1.8. Mô hình nguyên lý của tiến trình biểu diễn đối tượng 3D
1.5.2. Phép chiếu trực giao (Orthographics projection)
- Là phép chiếu song song và tia chiếu vuông góc với mặt phẳng chiếu. Về
mặt toán học, phép chiếu trưc giao là phép chiếu với một trong các mặt
phẳng tọa độ =0.
- Thường dùng mặt phẳng z=0, ngoài ra x=0 và y=0.
- Ứng với mỗi mặt phẳng chiếu ta có một ma trận tương ứng.
Hình 1.9. Phép chiếu trực giao
- Thông thường thi người ta không sử dụng cả 6 mặt phẳng để suy diễn
ngược hình của đối tượng mà chỉ sử dụng một trong số chúng như: Hình
chiếu bằng, đứng cạnh.
- Cả sáu góc nhìn đèu có thể thu được từ một mặt phẳng chiếu thông qua các
phép biến đổi hình học như quay, dịch chuyển hay lấy đối xứng.
lOMoARcPSD| 60734260
1.5.3. chiếu trục lượng (Axonometric)
- Phép chiếu trục lượng là phép chiếu thu được sau khi quay đối tượng sao
cho ba mặt của đối tượng trông thấy rõ nhất (thường mặt phẳng chiếu
z=0)
Có 3 phép chiếu
Phép chiếu Trimetric Phép chiếu Dimetic
Phép chiếu Isometric
1.5.4. Phép chiếu phối cảnh
- Phép chiếu phối cảnh là phép chiếu mà các tia chiếu không song song với
nhau mà xuất phát từ một điểm gọ là tâm chiếu. Phép chiếu phối cảnh tạo ra
hiệu ứng về luật xa gần tạo cảm giác về độ sâu của đối tượng trong thế giới
thật mà phép chiếu song song không lột tả được.
- Các đoạn thẳng song song của mô hình 3D sau phép chiếu hội tụ tại một
điểm gọi là điểm triệt tiêu (vanishing point)
- Phan loại phép chiếu phối cảnh dựa vào tâm chiếu – centre of projection
vàmặt phẳng chiếu – projection plane.
Hình 1.10. Phép biến đổi phối cảnh
lOMoARcPSD| 60734260
Chương 2: Thiết kế sản phẩm đồ họa 3D với openGL
2.1. Xây dựng ý tưởng thiết kế:
Để thiết kế một phòng ngủ 3D sử dụng OpenGL, nhóm đã tiến hành bước đầu tiên
là xây dựng ý tưởng thiết kế. Các thành phần đồ họa bao gồm: Căn phòng, cửa sổ, cửa
chính, tủ quần áo, bóng đèn, đèn học, tivi, giường, tấm thảm, quạt trần, chậu cây, ghế,
bàn học , bộ, tủ sách. Quá trình này bao gồm các nội dung chính sau:
- Khung cơ bản: Đầu tiên, chúng ta sẽ xây dựng khung cơ bản của căn phòng ngủ.
Căn phòng sẽ chiều cao, chiều rộng chiều dài cụ thể, tạo nên một không
gian 3D.
- Quạt trần: Sẽ một quạt trần được đặt trên cùng của căn phòng. Quạt trần sẽ
được phỏng bằng cách sử dụng môt cái trụ để giữ thăng bằng cho các cánh
quạt.
- Hệ thống chiếu sáng: căn phòng ngủ sẽ được trang bị hệ thống chiếu sáng. Đèn
sẽ được phỏng bằng cách sử dụng một hình cầu ánh sáng sẽ được
phỏng bằng cách sử dụng kỹ thuật ánh sáng trong đồ họa.
- Giường ngủ: Trong căn phòng sẽ có một chiếc giường ngủ được mô phỏng bằng
hình chữ nhật. Chúng ta có thêm các chi tiết như chăn, gối, gấu bông,....để thêm
tính thực tế.
- Ngoài những chi tiết trên chúng ta cũng thể sử dụng thêm các chi tiết khác
như kệ sách, bàn học, cửa số, tủ quần áo, cây cảnh, tivi,.....
- Chúng ta sẽ thêm các chi tiết hiệu ứng như phản xạ, ánh sáng,... để mô hình 3D
chân thật hơn.
2.2. Vẽ các đối tượng 3D
2.2.1. Quạt trần Ảnh
thiết kế đối tượng:
Hình 2.1. Ảnh quạt trần
void quattran()
{
//quat tran
glPushMatrix();
lOMoARcPSD| 60734260
maudovat(0.824, 0.706, 0.549, 0.412, 0.353, 0.2745);
glTranslatef(0, 30, 0); glScalef(0.2, 5, 0.2);
glutSolidCube(1.0); glPopMatrix();
glPushMatrix();
maudovat(0.1, 0.6, 0.3, 0.1, 0.6, 0.3);
glTranslatef(0, 30, 0); glScalef(1, 1,
1); glutSolidSphere(1.0, 16, 16);
glPopMatrix();
glPushMatrix();
maudovat(0.1, 0.6, 0.3, 0.1, 0.6, 0.3);
glTranslatef(0, 28, 0); glScalef(0.5,
0.5, 0.5); glutSolidSphere(1.0, 16,
16); glPopMatrix();
glPushMatrix();
maudovat(0.7, 0.5, 0.3, 0.7, 0.5, 0.3);
glTranslatef(0, 28, 0);
glRotatef(135.0, 0.0, 1.0, 0.0);
glScalef(16.0, 0.25, 2.0);
glutSolidCube(1); glPopMatrix();
glPushMatrix();
maudovat(0.7, 0.5, 0.3, 0.7, 0.5, 0.3);
glTranslatef(0, 28, 0);
glRotatef(45.0, 0.0, 1.0, 0.0);
glScalef(16.0, 0.25, 2.0);
glutSolidCube(1);
glPopMatrix();
}
2.2.2. Giường ngủ Ảnh
thiết kế đối tượng:
lOMoARcPSD| 60734260
Hình 2.2. Giường ngủ
void giuong()
{
// đau giuong
glPushMatrix();
maudovat(0.824, 0.706, 0.549, 0.412, 0.353, 0.2745);
glTranslatef(28, 4.0, -10.0);
glScalef(2, 4.2, 20.2);
glutSolidCube(1.0);
glPopMatrix(); //thân
giuong glPushMatrix();
maudovat(0.5, 0.2, 0.2, 0.25,
0.1, 0.1); glTranslatef(20.0,
3, -10.0); glScalef(14, 2,
20.2); glutSolidCube(1.0);
glPopMatrix();
//goi 1 glPushMatrix();
maudovat(1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
glTranslatef(24.5, 5.5, -14.0);
glScalef(4, 1.5, 7.2); glRotatef(110,
0, 0, 1); glutSolidCube(1.0);
glPopMatrix();
//goi 2 glPushMatrix();
maudovat(1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
glTranslatef(24.5, 5.5, -4.0);
glScalef(4, 1.5, 7.2); glRotatef(110,
lOMoARcPSD| 60734260
0, 0, 1); glutSolidCube(1.0);
glPopMatrix();
// cái chan glPushMatrix();
maudovat(1.0, 1.0, 1.0, 1.0, 1.0, 1.0);
glTranslatef(17, 4.2, -10.0);
glScalef(5, 0.5, 20.2);
glutSolidCube(1.0); glPopMatrix();
// phan chan bên trái
glPushMatrix();
glTranslatef(17, 3.0, 0.2);
glScalef(5, 3, 0.5);
glutSolidCube(1.0);
glPopMatrix();
}
2.2.3 Tủ quần áo
Ảnh thiết kế đối tượng:
Hình 2.3. Tủ quần áo
void tuquanao()
{

Preview text:

lOMoAR cPSD| 60734260
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN
HỌC PHẦN: KỸ THUẬT ĐỒ HỌA MÁY TÍNH
Đề tài 36: THIẾT KẾ PHÒNG CHO BÉ TRAI
Sinh viên thực hiện Lớp Khóa
Phạm Hồng Phúc Anh DCCNTT12.10.13 12 Nguyễn Đức Nhanh DCCNTT12.10.13 12
Nguyễn Thị Thương DCCNTT12.10.13 12 Bắc Ninh, năm 2024 lOMoAR cPSD| 60734260
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA: CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN
HỌC PHẦN: KỸ THUẬT ĐỒ HỌA MÁY TÍNH Nhóm : 13
Đề tài 36: Thiết kế phòng cho bé trai Mã sinh
STT Sinh viên thực hiện viên
Điểm bằng số Điểm bằng chữ 1
Phạm Hồng Phúc Anh 20213747 2 Nguyễn Đức Nhanh 20213956 3
Nguyễn Thị Thương 20210905 CÁN BỘ CHẤM 1 CÁN BỘ CHẤM 2
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên) lOMoAR cPSD| 60734260 MỤC LỤC
MỤC LỤC HÌNH ẢNH.....................................................................................................
PHÂN CÔNG CÔNG VIỆC..............................................................................................
LỜI MỞ ĐẦU....................................................................................................................
Chương 1: Cơ sở lý thuyết về kỹ thuật đồ họa máy tính....................................................
1.1 Các khái niệm cơ bản về đồ họa máy tính:...............................................................
1.2. Các kỹ thuật đồ họa.................................................................................................
1.2.1. Đồ họa rester:.................................................................................................................
1.2.2.Kỹ thuật đồ họa vector:...................................................................................................
1.2.3.Đồ họa 3D.......................................................................................................................
1.2.4. Đồ họa 2D......................................................................................................................
1.2.5. Các ứng dụng tiêu biểu của kỹ thuật đồ họa................................................................
1.3. Các giải thuật đồ họa cơ bản................................................................................
1.4. Tổng quan về openGL...........................................................................................
1.5. Quan sát ba chiều (phép chiếu – Projection).......................................................
1.5.1 Các phép chiếu..............................................................................................................
1.5.2. Phép chiếu trực giao (Orthographics projection).........................................................
1.5.3. chiếu trục lượng (Axonometric).................................................................................. 1.5.4.
Phép chiếu phối cảnh................................................................................................... Chương 2:
Thiết kế sản phẩm đồ họa 3D với openGL.....................................................
2.1. Xây dựng ý tưởng thiết kế:....................................................................................
2.2. Vẽ các đối tượng 3D..............................................................................................
2.2.1. Quạt trần......................................................................................................................
2.2.2. Giường ngủ..................................................................................................................
2.2.3 Tủ quần áo....................................................................................................................
2.2.4 Ti vi...............................................................................................................................
2.2.5 Chậu cây cảnh...............................................................................................................
2.2.6 Bàn học.........................................................................................................................
2.2.7. Ghế ngồi.......................................................................................................................
2.2.8. Đèn học........................................................................................................................
2.2.9. Kệ sách......................................................................................................................... lOMoAR cPSD| 60734260
2.2.10 . Cửa sổ.......................................................................................................................
2.2.11 Cửa chính....................................................................................................................
2.3. Thiết lập các nguồn sáng.......................................................................................
2.3.1. Các loại nguồn sáng.....................................................................................................
2.3.2. Thiết lập nguồn sáng....................................................................................................
Chương 3: Kết luận..........................................................................................................
3.1. Sản phẩm chạy code..............................................................................................
3.2. Hướng phát triển...................................................................................................
TÀI LIỆU THAM KHẢO................................................................................................ lOMoAR cPSD| 60734260
MỤC LỤC HÌNH ẢNH Số hiệu Tên Trang Hình1.1 Mô hình đồ họa vector 9 Hình1.2
Ứng dụng đồ họa máy tính vào giao diện người dùng 11 Hình1.3
Ứng dụng đồ họa máy tính vào thông tin 11 Hình1.4
Ứng dụng đồ họa máy tính vào bản đồ 12 Hình1.5
Ứng dụng đồ họa máy tính vào giáo dục và đào tạo 12 Hình1.6
Ứng dụng đồ họa máy tính vào y tế 13 Hình1.7
Ứng dụng đồ họa máy tính vào quá trình tự động hóa 13 Hình1.8
Mô hình nguyên lý của tiến trình biểu diễn đối tượng 16 3D Hình1.9 Phép chiếu trực giao 16 Hình1.10
Phép biến đổi phối cảnh 17 Hình 2.1 Ảnh quạt trần 18 Hình 2.2 Giường ngủ 20 Hình 2.3 Tủ quần áo 22 Hình 2.4 Ảnh ti vi 24 Hình 2.5 Chậu cây cảnh 25 Hình 2.6 Bàn học 27 Hình 2.7 Ghế ngồi học 28 Hình 2.8 Đèn học 29 Hình 2.9 Kệ sách 30 Hình 2.10 Cửa sổ 32 Hình 2.11 Cửa chính 35 Hình 3.1
Hình vẽ 3D bao quát căn phòng 39 Hình 3.2
Hình vẽ 3D góc chiếu sáng 1 39 Hình 3.3
Hình vẽ 3D góc chiếu sáng 2 40 Hình 3.4
Hình vẽ 3D góc chiếu sáng 3 40 Hình 3.5 Hình vẽ 3D góc nhìn 1 41 Hình 3.6 Hình vẽ 3D góc nhìn 2 41 Hình 3.7 Hình vẽ 3D góc nhìn 3 42 Hình 3.8 Hình vẽ 3D góc nhìn 4 42
PHÂN CÔNG CÔNG VIỆC
Họ và tên người thực STT Tên công việc
Công việc chia đến nhỏ nhất hiện 1 Giới thiệu đề tài Nguyễn Thị Thương lOMoAR cPSD| 60734260 2
Lý thuyết và mô Vẽ sơ đồ bố trí phòng 3D. Phạm Hồng Phúc Anh hình hóa 3D
Xây dựng mô hình 3D cho các đối Nguyễn Đức Nhanh 3
tượng đơn giản như bàn, ghế, TV, tủ sách... Nguyễn Thị Thương
Thiết kế và lập trình hệ thống ánh
sáng cho phòng khách, bao gồm ánh 4
sáng môi trường và đèn trần Phạm Hồng Phúc Anh (spotlight).
Ánh sáng và xử lý Lập trình xử lý sự kiện bàn phím để 5 sự kiện
bật/tắt và điều chỉnh hướng chiếu đèn. Phạm Hồng Phúc Anh
Xác định các thông số ánh sáng 6 Nguyễn Đức Nhanh
(position,ambient,diffuse,specular...).
Tìm kiếm và áp dụng texture cho các Nguyễn Thị Thương 7
đối tượng 3D để tăng tính chân thực Nguyễn Đức Nhanh Texture và hoàn
Xây dựng mô hình 3D và viết code Phạm Hồng Phúc Anh 8 thiện
OpenGL cho các đối tượng phức tạp Nguyễn Đức Nhanh
hơn như cửa sổ, cửa ra vào, thảm,...
Viết code OpenGL để dựng hình các 9 đối tượng này Phạm Hồng Phúc Anh lOMoAR cPSD| 60734260 LỜI MỞ ĐẦU
Ngày nay đồ họa máy tính được ứng dụng trong rất nhiều lĩnh vực khoa học, kỹ
thuật và các dịch vụ đời sống đều nhờ có sự đa dạng của đồ họa máy tính. Công nghệ
đồ họa đã mang lại cho con người chúng ta vô vàn sự tiện nghi, những trải nghiệm mới
lạ và chân thực, có thể nói đồ họa máy tính đã trở thành một trong những công cụ không
thể thiếu trong công việc cũng như sinh hoạt và giải trí của mỗi người và mang đến cho
chúng ta những trải nghiệm mà trước đây chưa từng có vì vậy nghiên cứu về đồ họa
máy tính có tầm quan trọng vô cùng đặc biệt trong rất nhiều lĩnh vực khác nhau.
Đồ 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 bằng máy tính. Đồ 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ề toán học, các thuật toán cũng như các kỹ thuật máy tính để cho
phép tạo ra, hiển thị và điều khiển hình ảnh, video 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, lập trình máy tính, kỹ thuật máy tính,.....Việc mô tả dữ liệu thông qua các hình
ảnh và màu sắc đa dạng của nó, các chương trình đồ họa thườn thu hút người sử dụng
bởi tính thân thiện, dễ dùng kích thích khả năng sáng tạo và nâng cao năng suất làm
việc. Là sinh viên chúng em được tiếp xúc, tìm hiểu và làm quen với một số kỹ thuật đồ
họa trên máy tính thông qua tài liệu, bài giảng trên lớp. Với những kiến thức đã học
nhóm chúng em quyết định chọn đề tài “Thiết kế phòng cho bé trai”. Trong quá trình
làm bài báo cáo, do trình độ chuyên môn và năng lực của nhóm còn nhiều hạn chế nên
không tránh khỏi những sai sót, vì vậy rất mong nhận được sự đóng góp của thầy cô và
các bạn để bài báo cáo hoàn thiện hơn.
Qua đây, nhóm chúng em cũng xin chân thành cảm ơn cô “Đỗ Thị Huyền” đã
nhiệt tình hướng dẫn, chỉ bảo nhóm em trong quá trình hoc tập.
Em xin chân thành cảm ơn!
Chương 1: Cơ sở lý thuyết về kỹ thuật đồ họa máy tính
1.1 Các khái niệm cơ bản về đồ họa máy tính:
- Đồ 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 gồm:
• Thiết kế phần cứng.
• Các thuật toán để phát sinh các đường.
• Các phần mềm được sử dụng cho người lập trình hệ thống và người lập
trình ứng dụng đồ họa.
• Các chương trình ứng dụng tạo ảnh bằng máy tính.
- Definition (ISO): Phương pháp và công nghệ chuyển đổi sữ liệu từ thiết bị đồ họa sang máy tính.
- Computer Graphics: là phương tiện đa năng và mạnh nhất của giao tiếp giữa con người và máy tính.
- Computer Graphics (Kỹ thuât đồ họa máy tính) là một lĩnh vực của công
nghệ thông tin mà ở đó nghiên cứu, xây dựng và tập hợp các công cụ (mô
hình lý thuyết và phần mềm) khác nhau: kiến tạo, xây dựng, lưu trữ, xử lý
các mô hình (model) và hình ảnh (image) của đối tượng. Các mô hình lOMoAR cPSD| 60734260
(model) và hình ảnh này có thể là kết quả thu được từ những lĩnh vực khác
nhau của rất nhiều ngành khoa học (vật lý, toán học, thiên văn học,....).
1.2. Các kỹ thuật đồ họa
1.2.1. Đồ họa rester:
- Khái niệm thiết kế đồ họa raster (đồ họa hoặc hình ảnh Bitmap) là một trong
những kỹ thuật hiển thị hình ảnh lâu đời và phố biến nhất với nền tảng kỹ
thuật lấy từ công nghệ màn hình tivi đã tồn tại rất lâu trước khi máy tính điện
tử ra đời. Với kỹ thuật này, tất cả các hình ảnh đều được làm nên từ các ô
vuông có màu nhỏ li ti được gọi là pixel (phần tử ảnh).
- Tùy thuộc vào độ phân giải, một hình ảnh có thể chứa hàng nghìn đến hàng
triệu pixel, giống như một bức tường được xây lên từ nhiều viên gạch vậy. Ưu
điểm lớn nhất của kỹ thuật raster là các hình ảnh raster có thể hiển thị các chi
tiết rõ ràng, đẹp với màu sắc đa dạng, hài hòa. Tuy nhiên, hình ảnh raster có
thể sẽ bị “vỡ” hoặc mờ nếu phóng to hoặc bị nén quá nhiều. Dung lượng các
file ảnh raster cũng khá lớn nếu có độ phân giải cao.
1.2.2.Kỹ thuật đồ họa vector:
- Đồ họa vector là kỹ thuật tạo dựng hình ảnh bằng các đường kẻ quy định bởi
các công thức toán học lần đầu tiên được sử dụng cho màn hình máy tính
trong những năm 60 và 70 của thế kỉ 20. Tuy không phổ biến bằng kỹ thuật
đồ họa raster và đã từng có một thời gian gần như bị “xóa sổ” bởi raster, đồ
họa vector đang được ưa chuộng trở lại.
Hình1.1.Mô hình đồ họa vector lOMoAR cPSD| 60734260 1.2.3.Đồ họa 3D
- Đồ họa 3D là kỹ thuật đồ họa đang được tập trung phát triển nhất trong thời
điểm hiện tại, với sự quan tâm và tiềm năng của các ứng dụng như không gian
ảo hay hình chiếu ba chiều. Nhà thiết kế đồ họa phải thực hiện rất nhiều bước
khác nhau và áp dụng nhiều kỹ thuật tạo dựng hình ảnh phức tạp để có được
một đôí tượng hình ảnh 3D đúng nghĩa.
- Đây là bước mất thời gian và phức tạp nhất vì một vật thể 3D có nhiều bề mặt
khác nhau với các chất liệu khác nhau, độ trong suốt hay mờ đục, màu sắc,
mức độ bắt sáng hay phản sáng khác nhau. Để tạo được một vật thể 3D thật
nhất có thể, nhiều kỹ thuật toán học được áp dụng để tính toán và mô phỏng
cách ánh sáng chiếu và phản chiếu vào các loại mặt phẳng khác nhau như ray tracing hay radiosity,… 1.2.4. Đồ họa 2D
- Đồ họa 2D hay đồ hoạ hai chiều là những hình ảnh phẳng không có chiều sâu.
Chúng chủ yếu được sử dụng trong minh họa, thiết kế đồ họa và một số loại
hoạt hình nhất định. Hãy nghĩ đến những bộ phim hoạt hình bạn đã xem
khi còn nhỏ hoặc các biểu tượng trên màn hình của bạn; đây là những ví dụ
về đồ họa 2D. Chúng dựa vào các hình dạng hình học cơ bản và hệ tọa độ XY
gồm chiều cao và chiều rộng.
- Kỹ thuật đồ họa 2 chiều: là kỹ thuật đồ họa máy tính sử dụng hệ tọa độ hai
chiều (hệ tọa độ thẳng), sử dụng rất nhiều trong kỹ thuật xử lý bản đồ, đồ thị.
Các lĩnh vực của đồ họa máy tính:
- Kỹ thuật xử lý ảnh (Computer Imaging): sau quá trình xử lý ảnh cho ta ảnh
số của đối tượng, trong quá trình xử lý ảnh sử dụng rất nhiều các kỹ thuật
phức tạp: kỹ thuật khôi phục ảnh, kỹ thuật làm nối ảnh, kỹ thuật xác định biên ảnh.
- Kỹ thuật nhận dạng (Pattern Recognition): từ những ảnh mẫu có sẵn ta phân
loại theo các trúc, hoặc theo các tiêu chí được xác định từ trước và bằng các
thuật toán chọn lọc để có thể phân tích hay tổng hợp các ảnh gốc, các ảnh gốc
này được lưu trong một thư viện và căn cứ vào thư viện này ta xây dựng được
các thuật giải phân tích và tổ hợp ảnh.
- Kỹ thuật tổng hợp ảnh (Image Synthesis): là lĩnh vực xây dựng mô hình và
hình ảnh của các vật thể dựa trên các đối tượng và mối quan hệ giữa chúng.
- Các hệ CAD\CAM (Computer Aided Design/Computer) Aided
Manufacture System): kỹ thuật đồ họa tập hợp các công cụ, các kỹ thuật trợ
giúp cho thiết kế các chi tiết và các hệ thống khác nhau: hệ thống cơ, hệ thống
điện,hệ thống điện tử,...
- Đồ họa minh họa (Pressentation Graphics): gồm các công cụ giúp hiển thị các
số liệu thí nghiệm một cách trực quan, dựa trên các mẫu đồ thị hoặc các thuật toán có sẵn. lOMoAR cPSD| 60734260
- Đồ họa hoạt hình và nghệ thuật: bao gồm các công cụ giúp cho các họa sĩ, các
nhà thiết kế phim hoạt hình chuyên nghiệp làm về các kỹ sảo hoạt hình, vẽ
tranh,...ví dụ; phần mềm studio, 3D studio mã.
1.2.5. Các ứng dụng tiêu biểu của kỹ thuật đồ họa
Đồ họa máy tính là một trong những linh vực lý thú nhất và phát triển nhanh
nhất của tin học.Ngay từ khi xuất hiện nó đã có sức lôi cuốn mãnh liệt, cuốn
hút rất nhiều người ở nhiều lĩnh vực khác nhau như khoa học nghệ thuật, kinh
doanh, quản lý,...Tính hấp dẫn của nó có thể được minh họa rất trực quan
thông qua các ứng dụng của nó.
- Xây dựng giao diện tương tác người dùng (User Interface): Giao diện đồ họa
thực sự là cuộc cách mạng mang lại sự thuận tiện và thoải mái cho người dùng
ứng dụng. Giao diện WYSIWYG và WIMP đang được đa số người dùng ưa
thích nhờ tính thân thiện, dễ sử dụng nó.
Hình 1.2. Ứng dụng đồ họa máy tính vào giao diện người dùng
- Tạo các biểu đồ trong thương mại, khoa học, kỹ thuật
Các ứng dụng này thường được dùng để tóm lược các dữ liệu về tài chính,
thống kê, kinh tế, khoa học,.... giúp cho nghiên cứu, quản lý,.. một cách có hiệu quả. lOMoAR cPSD| 60734260
Hình 1.3. Ứng dụng đồ họa máy tính vào thông tin - Vẽ bản đồ:
Hình 1.4. Ứng dụng đồ họa máy tính vào bản đồ
- Giáo dục và đào tạo: lOMoAR cPSD| 60734260
Hình 1.5. Ứng dụng đồ họa máy tính vào giáo dục và đào tạo - Y tế:
Hình 1.6. Ứng dụng đồ họa máy tính vào y tế
- Điều khiển các quá trình tự động hóa: lOMoAR cPSD| 60734260
Hình 1.7. Ứng dụng đồ họa máy tính vào quá trình tự động hóa
1.3. Các giải thuật đồ họa cơ bản
• Các giải thuật đồ họa cơ bản là những thật toán được sử dụng để thực
hiện các thao tác cơ bản trên hình ảnh và video, ví dụ như:
• Biến đổi hình học:
Biến đổi tịnh tiến: Di chuyển đối tượng dọc theo một vector.
Biến đổi xoay: Xoay đối tượng quanh một điểm trụ.
Biến đổi thu phóng: thay đổi kích thước của đối tượng.
Biến đổi cắt xén: Loại bỏ các phần không mong muốn của đối tượng.  Chiếu sáng
Mô hình phong: Mô hình hóa cách ánh sáng phản xạ xa từ bề mặt. Mô
hình Blinn-phong: Cải tiến mô hình Phong bằng cách tính toán hướng phản xạ cục bộ.
Mô hình Cook-Torrance: Mô hình hóa cách ánh sáng tương tác với các bề mặt phức tạp hơn. • Tô màu
Tô màu bằng màu phẳng: Gán một màu duy nhất cho toàn bộ đối tượng:
Tô màu dốc màu: Gán các màu khác nhau cho các điểm khác nhau trên
đối tượng theo một Gradient.
Tô màu theo ánh sáng kết cấu: Gán màu sắc cho đối tượng dựa trên một kết cấu. • Hiển thị
Thuật toán Bresenham: Vẽ các đường thẳng.
Thuật toán DDA: Vẽ các đường thẳng với độ chính xác cao hơn.
Thuật toán quét bảng: Hiển thị các hình ảnh raster. lOMoAR cPSD| 60734260
1.4. Tổng quan về openGL
- OpenGL (Open Graphics Library) là một API đa nền tảng, đa ngôn ngữ cho
kết xuất đồ họa vector 2D và 3D. API thường được sử dụng để tương tác với
bộ xử lý đồ họa (GPU), nhằm đạt được tốc độ kết xuất phần cứng.
- Đặc tả OpenGL mô tả một API trừu tượng để vẽ đồ họa 2D và 3D. Mặc dù
API có thể được triển khai hoàn toàn trong phần mềm, nhưng nó được thiết
kế để triển khai hầu hết hoặc hoàn toàn trong phần cứng.
- API được định nghĩa là một tập hợp các hàm có thể được gọi bởi chương trình
khách, cùng với một tập hợp các hằng số nguyên được đặt tên (ví dụ, hằng số
GL_TEXTURE_2D, tương ứng với số thập phân 3553). Mặc dù các định
nghĩa hàm bề ngoài tương tự như các định nghĩa của ngôn ngữ lập trình C,
chúng không phụ thuộc vào ngôn ngữ. Vì vậy, OpenGL có nhiều language
bindings, một số liên kết đáng chú ý nhất là WebGL ràng buộc JavaScript
(API, dựa trên OpenGL ES 2.0, cho kết xuất 3D từ trong trình duyệt web); C
binding WGL, GLX và CGL; C binding cung cấp bởi iOS; và Java, C
bindings cung cấp bởi Android.
- Ngoài việc không phụ thuộc vào ngôn ngữ, OpenGL cũng đa nền tảng. Đặc
tả kỹ thuật không nói gì về chủ đề lấy và quản lý ngữ cảnh OpenGL, để lại
điều này như một chi tiết của windowing system. Vì lý do tương tự,
OpenGL hoàn toàn quan tâm đến việc hiển thị, không cung cấp API nào liên
quan đến đầu vào, âm thanh hoặc windowing.OpenGL được thiết kế nhằm
thỏa mãn mục đích chính sau:
- Che giấu sự tương tác phức tạp với các bộ máy xúc tiến 3 chiều bằng cách
đưa ra một giao diện lập trình thống nhất.
- Che giấu các sự khác biệt giữa các phần cứng 3 chiều bằng cách bắt buộc các
phần cứng tương thích OpenGL phải hỗ trợ tất cả các chức năng của giao diện
OpenGL. Nếu cần, các chức năng chưa được hỗ trợ đầy đủ bởi phần cứng có
thể được hỗ trợ bằng phần mềm.
1.5. Quan sát ba chiều (phép chiếu – Projection) 1.5.1 Các phép chiếu
- Định nghĩa về phép chiếu:
• Mộ cách tổng quát, phép chiếu là phép chuyển đổi những điểm của đối
tượng trong hệ thống tọa độ n chiếu thành những điểm trong hệ thống tọa
độ có số chiếu nhỏ hơn n.
- Định nghĩa về hình chiếu
• Ảnh của đối tượng trên mặt phẳng chiếu được hình thành từ phép chiếu
bởi các đường thẳng gọi là tia chiếu (Projection) xuất phát từ một điểm lOMoAR cPSD| 60734260
gọi là tâm chiếu (Center of projection) đí qua các điểm của đối tượng
giao với mặt chiếu (Projection plan).
- Các bước xây dựng hình chiếu:
• Đối tượng trong không gian với tọa độ thực được cắt theo một không
gian xác định gọi là view volume.
• View volume được chiếu lên mặt phẳng chiếu. Diện tích bởi view
volume trên mặt phẳng chiếu đó cho chúng ta khung nhìn.
• Là việc ánh sáng phản xạ khung nhìn vào trong một cổng nhìn bất kỳ cho
trước trên màn hình để hiển thị hình ảnh.
Hình 1.8. Mô hình nguyên lý của tiến trình biểu diễn đối tượng 3D
1.5.2. Phép chiếu trực giao (Orthographics projection)
- Là phép chiếu song song và tia chiếu vuông góc với mặt phẳng chiếu. Về
mặt toán học, phép chiếu trưc giao là phép chiếu với một trong các mặt phẳng tọa độ =0.
- Thường dùng mặt phẳng z=0, ngoài ra x=0 và y=0.
- Ứng với mỗi mặt phẳng chiếu ta có một ma trận tương ứng.
Hình 1.9. Phép chiếu trực giao
- Thông thường thi người ta không sử dụng cả 6 mặt phẳng để suy diễn
ngược hình của đối tượng mà chỉ sử dụng một trong số chúng như: Hình
chiếu bằng, đứng cạnh.
- Cả sáu góc nhìn đèu có thể thu được từ một mặt phẳng chiếu thông qua các
phép biến đổi hình học như quay, dịch chuyển hay lấy đối xứng. lOMoAR cPSD| 60734260
1.5.3. chiếu trục lượng (Axonometric)
- Phép chiếu trục lượng là phép chiếu thu được sau khi quay đối tượng sao
cho ba mặt của đối tượng trông thấy rõ nhất (thường mặt phẳng chiếu là z=0) Có 3 phép chiếu
• Phép chiếu Trimetric  Phép chiếu Dimetic • Phép chiếu Isometric
1.5.4. Phép chiếu phối cảnh
- Phép chiếu phối cảnh là phép chiếu mà các tia chiếu không song song với
nhau mà xuất phát từ một điểm gọ là tâm chiếu. Phép chiếu phối cảnh tạo ra
hiệu ứng về luật xa gần tạo cảm giác về độ sâu của đối tượng trong thế giới
thật mà phép chiếu song song không lột tả được.
- Các đoạn thẳng song song của mô hình 3D sau phép chiếu hội tụ tại một
điểm gọi là điểm triệt tiêu (vanishing point)
- Phan loại phép chiếu phối cảnh dựa vào tâm chiếu – centre of projection
vàmặt phẳng chiếu – projection plane.
Hình 1.10. Phép biến đổi phối cảnh lOMoAR cPSD| 60734260
Chương 2: Thiết kế sản phẩm đồ họa 3D với openGL
2.1. Xây dựng ý tưởng thiết kế:
Để thiết kế một phòng ngủ 3D sử dụng OpenGL, nhóm đã tiến hành bước đầu tiên
là xây dựng ý tưởng thiết kế. Các thành phần đồ họa bao gồm: Căn phòng, cửa sổ, cửa
chính, tủ quần áo, bóng đèn, đèn học, tivi, giường, tấm thảm, quạt trần, chậu cây, ghế,
bàn học , bộ, tủ sách. Quá trình này bao gồm các nội dung chính sau:
- Khung cơ bản: Đầu tiên, chúng ta sẽ xây dựng khung cơ bản của căn phòng ngủ.
Căn phòng sẽ có chiều cao, chiều rộng và chiều dài cụ thể, tạo nên một không gian 3D.
- Quạt trần: Sẽ có một quạt trần được đặt trên cùng của căn phòng. Quạt trần sẽ
được mô phỏng bằng cách sử dụng môt cái trụ để giữ thăng bằng cho các cánh quạt.
- Hệ thống chiếu sáng: căn phòng ngủ sẽ được trang bị hệ thống chiếu sáng. Đèn
sẽ được mô phỏng bằng cách sử dụng một hình cầu và ánh sáng sẽ được mô
phỏng bằng cách sử dụng kỹ thuật ánh sáng trong đồ họa.
- Giường ngủ: Trong căn phòng sẽ có một chiếc giường ngủ được mô phỏng bằng
hình chữ nhật. Chúng ta có thêm các chi tiết như chăn, gối, gấu bông,....để thêm tính thực tế.
- Ngoài những chi tiết trên chúng ta cũng có thể sử dụng thêm các chi tiết khác
như kệ sách, bàn học, cửa số, tủ quần áo, cây cảnh, tivi,.....
- Chúng ta sẽ thêm các chi tiết hiệu ứng như phản xạ, ánh sáng,... để mô hình 3D chân thật hơn.
2.2. Vẽ các đối tượng 3D
2.2.1. Quạt trần Ảnh thiết kế đối tượng:
Hình 2.1. Ảnh quạt trần void quattran() { //quat tran glPushMatrix(); lOMoAR cPSD| 60734260
maudovat(0.824, 0.706, 0.549, 0.412, 0.353, 0.2745);
glTranslatef(0, 30, 0); glScalef(0.2, 5, 0.2);
glutSolidCube(1.0); glPopMatrix(); glPushMatrix();
maudovat(0.1, 0.6, 0.3, 0.1, 0.6, 0.3);
glTranslatef(0, 30, 0); glScalef(1, 1,
1); glutSolidSphere(1.0, 16, 16); glPopMatrix(); glPushMatrix();
maudovat(0.1, 0.6, 0.3, 0.1, 0.6, 0.3);
glTranslatef(0, 28, 0); glScalef(0.5,
0.5, 0.5); glutSolidSphere(1.0, 16, 16); glPopMatrix(); glPushMatrix();
maudovat(0.7, 0.5, 0.3, 0.7, 0.5, 0.3); glTranslatef(0, 28, 0);
glRotatef(135.0, 0.0, 1.0, 0.0); glScalef(16.0, 0.25, 2.0);
glutSolidCube(1); glPopMatrix(); glPushMatrix();
maudovat(0.7, 0.5, 0.3, 0.7, 0.5, 0.3); glTranslatef(0, 28, 0);
glRotatef(45.0, 0.0, 1.0, 0.0); glScalef(16.0, 0.25, 2.0); glutSolidCube(1); glPopMatrix(); } 2.2.2. Giường ngủ Ảnh thiết kế đối tượng: lOMoAR cPSD| 60734260
Hình 2.2. Giường ngủ void giuong() { // đau giuong glPushMatrix();
maudovat(0.824, 0.706, 0.549, 0.412, 0.353, 0.2745);
glTranslatef(28, 4.0, -10.0); glScalef(2, 4.2, 20.2); glutSolidCube(1.0); glPopMatrix(); //thân giuong glPushMatrix(); maudovat(0.5, 0.2, 0.2, 0.25, 0.1, 0.1); glTranslatef(20.0, 3, -10.0); glScalef(14, 2, 20.2); glutSolidCube(1.0); glPopMatrix(); //goi 1 glPushMatrix();
maudovat(1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
glTranslatef(24.5, 5.5, -14.0);
glScalef(4, 1.5, 7.2); glRotatef(110, 0, 0, 1); glutSolidCube(1.0); glPopMatrix(); //goi 2 glPushMatrix();
maudovat(1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
glTranslatef(24.5, 5.5, -4.0);
glScalef(4, 1.5, 7.2); glRotatef(110, lOMoAR cPSD| 60734260 0, 0, 1); glutSolidCube(1.0); glPopMatrix(); // cái chan glPushMatrix();
maudovat(1.0, 1.0, 1.0, 1.0, 1.0, 1.0); glTranslatef(17, 4.2, -10.0); glScalef(5, 0.5, 20.2);
glutSolidCube(1.0); glPopMatrix(); // phan chan bên trái glPushMatrix(); glTranslatef(17, 3.0, 0.2); glScalef(5, 3, 0.5); glutSolidCube(1.0); glPopMatrix(); } 2.2.3 Tủ quần áo
Ảnh thiết kế đối tượng:
Hình 2.3. Tủ quần áo void tuquanao() {