-
Thông tin
-
Hỏi đáp
Thiết kế dãy phố - Bài tập lớn môn Kỹ thuật đồ họa máy tính | Đại học Công nghệ Đông Á
Thiết kế dãy phố - Bài tập lớn môn Kỹ thuật đồ họa máy tính | Đại học Công nghệ Đông Á. Tài liệu được biên soạn dưới dạng file PDF gồm 26 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Kỹ thuật đồ họa máy tính 1 tài liệu
Đại học Công Nghệ Đông Á 73 tài liệu
Thiết kế dãy phố - Bài tập lớn môn Kỹ thuật đồ họa máy tính | Đại học Công nghệ Đông Á
Thiết kế dãy phố - Bài tập lớn môn Kỹ thuật đồ họa máy tính | Đại học Công nghệ Đông Á. Tài liệu được biên soạn dưới dạng file PDF gồm 26 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Môn: Kỹ thuật đồ họa máy tính 1 tài liệu
Trường: Đại học Công Nghệ Đông Á 73 tài liệu
Thông tin:
Tác giả:
Tài liệu khác của Đại học Công Nghệ Đông Á
Preview text:
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 ĐỒ HOẠ MÁY TÍNH
ĐỀ TÀI: THIẾT KẾ DÃY PHỐ
Sinh viên thực hiện Lớp Khoá Bắc Ninh, năm 2024
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 ĐỒ HOẠ MÁY TÍNH Nhóm: 1
ĐỀ TÀI: THIẾT KẾ DÃY PHỐ ST Sinh viên Mã Điểm Điểm T thực hiện sinh viên bằng số bằng chữ 1 2 3 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) LỜI MỞ ĐẦU
Trong thời đại ngày nay, cùng với sự bùng nổ của cuộc cách mạng công nghiệp
4.0 tập trung vào sự phát triển của công nghệ không thể không kể tới đồ họa máy tính.
Đồ 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 để 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...).
Nhận thấy được đồ họa máy tính là công cụ không thể thiếu trong nhiều lĩnh vực.
Vậy nên, qua quá trình học tập và nghiên cứu môn học “Đồ họa máy tính ” cùng với sự
chỉ dạy tận tình của cô Đỗ Thị Huyền nhóm chúng em đã chọn đề tài “Thiết kế dãy phố”
làm đề tài nghiên cứu của mình.
Em xin gửi lời cảm ơn chân thành tới cô giáo “Đỗ Thị Huyền ” và thầy cô giáo bộ
môn khoa Công Nghệ Thông Tin Trường Đại Học Công Nghệ Đông Á đã tận tình chỉ
bảo hướng dẫn và giúp đỡ chúng em để hoàn thành tốt bài báo cáo của mình.Trong quá
trình thực hiện có nhiều thiếu xót, khuyết điểm vì vậy mong thầy cô và các bạn cho ý
kiến đóng góp để nhóm e hoàn thiện đề tài của mình hơn 3 LỜI CAM ĐOAN
Chúng tôi, nhóm tác giả của báo cáo này, cam đoan rằng tất cả thông tin và nghiên
cứu trong báo cáo này là hoàn toàn trung thực và không gian lận hay đạo đức trong quá
trình nghiên cứu và viết báo cáo. Các nguồn thông tin được sử dụng trong báo cáo này đã
được dẫn chính xác theo quy định của trường và các nguồn tham khảo đã được liệt kê đầy
đủ. Chúng tôi xác nhận rằng mọi phần công việc và bài viết trong báo cáo này đều được
thực hiện bởi chúng tôi, ngoại trừ các phần được ghi chú rõ nguồn gốc. Chúng tôi không
sao chép hoặc sử dụng công việc của người khác mà không có sự cho phép hoặc dẫn chính xác.
Chúng tôi hiểu rằng việc vi phạm các nguyên tắc đạo đức và trí tuệ là không chấp
nhận và sẽ có hậu quả pháp lý. Chúng tôi đảm bảo rằng tất cả các phần của báo cáo này
đã được xem xét và chỉnh sửa một cách cẩn thận để đảm bảo tính trung thực và chất
lượng. Chúng tôi chịu trách nhiệm về nội dung của báo cáo này và sẽ sẵn sàng chịu trách
nhiệm trước bất kỳ cơ quan nào nếu có sự vi phạm nghiêm trọng đối với tính trung thực
và đạo đức của báo cáo này. 4
DANH MỤC CÁC HÌNH ẢNH Số hiệu Tên Trang
Mô tả giải thuật Bresenham vẽ đường Hình 1.2.1.1 thẳng
Giải thích “Điểm thực” của giải thuật Hình 1.2.1.2
Bresenham vẽ đường thẳng Hình 1.2.2.1
Mô tả thuật toán DDA
Mô tả thuật toán Mid-point vẽ đường Hình 1.2.3.1 thẳng Hình 1.2.3.3
Giải thuật Mid-point vẽ đường Elipse 5
DANH MỤC CÁC BẢNG BIỂU VÀ SƠ ĐỒ Số hiệu Tên Trang
Bảng so sánh giữa Đồ họa điểm và Đồ họa Bảng 1.1.2.1 Vector Hình 1.2.1.3
Lưu đồ thuật toán Bresenham vẽ đường thẳng Hình 1.2.1.4
Lưu đồ thuật toán Bresenham vẽ đường tròn
Lưu đồ thuật toán Mid-point vẽ đường Hình 1.2.3.2 thẳng
. Lưu đồ thuật toán Mid-point vẽ đường Hình 1.2.3.4 Elipse 6
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.1.1. Đồ họa máy tính
Đồ họa máy tính là một ngành khoa học Tin học chuyên nghiên cứu về các
phương pháp và kỹ thuật để có thể mô tả và thao tác trên các đối tượng của thế giới thực bằng máy tính.
Về bản chất: đó là một quá trình xây dựng và phát triển các công cụ trên cả hai
lĩnh vực phần cứng và phần mềm hổ trợ cho các lập trình viên thiết kế các chương trình
có khả năng đồ họa cao.
Với 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ường 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.
1.1.2. Các kỹ thuật đồ họa máy tính
a), Kỹ thuật đồ họa điểm
Các mô hình, hình ảnh của các đối tượng được hiển thị thông qua từng pixel (từng mẫu rời rạc) [1] Đặc điểm:
Có thể thay đổi thuộc tính
Xoá đi từng pixel của mô hình và hình ảnh các đối tượng.
Các mô hình hình ảnh được hiển thị như một lưới điểm (grid) các pixel rời rạc
Từng pixel đều có vị trí xác định, được hiển thị với một giá trị rời rạc (số
nguyên) các thông số hiển thị (màu sắc hoặc độ sáng)
Tập hợp tất cả các pixel của grid cho chúng ta mô hình, hình ảnh đối tượng
mà chúng ta muốn hiển thị.
Phương pháp để tạo ra các pixel:
Phương pháp dùng phần mềm để vẽ trực tiếp từng pixel một.
Dựa trên các lý thuyết mô phỏng (lý thuyết Fractal, v.v) để xây dựng nên
hình ảnh mô phỏng của sự vật.
Phương pháp rời rạc hoá (số hoá) hình ảnh thực của đối tượng. 7
Có thể sửa đổi (image editing) hoặc xử lý (image processing) mảng các
pixel thu được theo những phương pháp khác nhau để thu được hình ảnh đặc trưng của đối tượng
b), Kỹ thuật đồ họa Vector
Xây dựng mô hình hình học cho hình ảnh đối tượng, xác định các thuộc tính của
mô hình hình học, sau đó dựa trên mô hình này để thực hiện quá trình tô trát để hiển thị
từng điểm của mô hình, hình ảnh của đối tượng. [1]
Kỹ thuật này chỉ lưu trữ mô hình toán học của các thành phần trong mô hình hình
học cùng với các thuộc tính tương ứng mà không cần lưu lại toàn bộ tất cả các pixel của
hình ảnh đối tượng. [1]
So sánh giữa Đồ họa điểm và Đồ họa Vector: [1] Đồ họa điểm Đồ họa vector
Hình ảnh và mô hình của các vật thể được
Không thay đổi thuộc tính của từng điểm trực
biểu diễn dưới dạng tập hợp các điểm của tiếp lưới
Thay đổi thuộc tính của các pixel dẫn đến
Xử lý với từng thành phần hình
học cơ sở của nó và thực hiện quá trình tô trát
thay đổi từng phần và từng vùng của hình ảnh và hiển thị lại.
Quan sát hình ảnh và mô hình của hình ảnh và
Copy được các pixel từ một hình ảnh này
sự vật ở nhiều góc độ khác nhau bằng cách sang hình ảnh khác
thay đổi điểm nhìn và góc nhìn
Bảng 1.1.2.1. Bảng so sánh giữa Đồ họa điểm và Đồ họa Vector Kỹ thuật đồ 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.
Trước hết, khung cơ bản (wire-frame) của vật thể phải được dựng trong một phần
mềm đồ họa máy tính, sau đó các phần của vật thể sẽ được thêm vào và nối với nhau 8
(rigged) để tạo sự liên kết chân thực, đặc biệt là với các vật thể có khả năng chuyển động.
Sau đó vật thể phải được render.
Đâ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.1.3. Các lĩnh vực đồ họa máy tính
a), Kiến tạo đồ họa gồm:
Các hệ CAD/CAM(Computer Aided Design/Computer Aided Manufacture
System): kỹ thuật đồ hoạ 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ử….
Đồ hoạ minh hoạ (Presentation 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.
Đồ hoạ hoạt hình và nghệ thuật: bao gồm các công cụ giúp cho các hoạ sĩ, các nhà
thiết kế phim hoạt hình chuyên nghiệp làm các kỹ xảo hoạt hình, vẽ tranh... Ví dụ: phần
mềm 3D Studio, 3D Animation, 3D Studio Max. [1]
b), Xử lý đồ họa gồm :
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ấu trúc, hoặc theo các tiêu trí đượ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 ảnh đã cho thành một tập 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. [1]
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. [1]
1.2. Các giải thuật đồ họa cơ bản
1.2.1. Thuật toán Bresenham
a), Thuật toán Bresenham vẽ đường thẳng Ý tưởng thuật toán: 9
Thay thế các phép toán trên số thực bằng các phép toán trên số nguyên.
Giảm thời gian của thuật toán hơn so với DDA.
Hạn chế phép toán được thực hiện để giảm tải thời gian. Đặt vấn đề:
Cho 2 điểm A(x1,y1) và B(x2,y2) . Vẽ đường thẳng đi qua A,B . Giải thuật:
Thuật toán Bresenham đưa ra cách chọn yi+1 là yi hay yi+1 theo một hướng
khác . Đó là so sánh khoảng cách giữa điểm thực y với 2 điểm gần kề nó nhất. Nếu điểm
nào nằm gần điểm thực hơn thì sẽ được chọn làm điểm vẽ tiếp theo. [2]
Hình 1.2.1.1. Mô tả giải thuật Bresenham vẽ đường thẳng
Xét trường hơp 0 Gọi y là giá trị thực (giá trị chính xác) của đường thẳng tại x ở bước thứ i+1. y = m(xi + 1)+b.
Gọi d1 là khoảng cách từ y đến yi .
Gọi d2 là khoảng cách từ y đến yi+1 . Ta có: 10
Dễ thấy d1- d2 tồn tại phép toán với số thực m = dy/dx .Và để tuân thủ theo đúng
ý tưởng thuật toán chỉ thực hiện các phép toán trên số nguyên, ta khử phân số ( triệt tiêu
mẫu số) bằng cách nhân 2 vế với dx: [2] 11
Sau khi đi phân tích một hồi như ở trên, nhiều bạn sẽ có thắc mắc là “Sao lại đặt
Pi= dx(d1- d ) , rồi tại sao lại đi tìm P 2 i+1 theo Pi ?
Đầu tiên , hãy nhìn hình dưới đây:
Hình 1.2.1.2. Giải thích “Điểm thực” của giải thuật Bresenham vẽ đường thẳng Lưu đồ thuật toán: 12
Hình 1.2.1.3. Lưu đồ thuật toán Bresenham vẽ đường thẳng
b), Thuật toán Bresenham vẽ đường tròn Ý tưởng:
Giả sử tại bước thứ i ta đã xác định được (xi, yi) Tại bước thứ i + 1 o Ta có xi + 1 = xi + 1
o Gọi yi +1 là giá trị chính xác của tung độ tương ứng với điểm có hoành độ là (xi +1) o
d1 là khoảng cách giữa yi và yi + 1 o
d2 là khoảng cách giữa yi +1 và (yi -1) o Khi đó nếu d < d 1 thì y 2 i +1 = yi o
Ngược lại yi +1 = yi – 1. [3]
Phương trình đường tròn: 13
Phương trình đường tròn có hàm mũ tại y nên nếu tính d1, d2 theo y thì sẽ
có hàm căn làm chậm thuật toán, do vậy ta đặt: [3] Đặt: Tính pi+1 theo pi Lưu đồ thuật toán
Hình 1.2.1.4. Lưu đồ thuật toán Bresenham vẽ đường tròn
1.2.2. Thuật toán DDA Đặt vấn đề: Cho 2 điểm A(x , y 1 ) và B(x 1 , y 2
). Hãy vẽ đường thẳng đi qua 2 điểm đó. 2 14
Xây dựng thuật toán: Với kiến thực được học hồi nhỏ (cấp 2), phương trình đường
thẳng có thể phát biểu dưới dạng: (d) y=m.x +b m=( y - y 2 1)/( x - x 2 1) b= y1-mx1
Trong đó: m là hệ số góc
Giả sử vẽ được (xi, yi). Tiếp theo, chọn yi+1 là yi hay yi+1 dựa vào phương trình của đường thẳng d. [4]
Hình 1.2.2.1. Mô tả thuật toán DDA
Thay xi+1 vào phương trình đường thẳng d: Yi+1=m(xi +1) + b Yi+1 =mxi +b+m Yi+1 =yi +m Lưu đồ thuật toán: 15
Hình 1.2.2.2. Lưu đồ thuật toán DDA
1.2.3. Thuật toán Mid-point
a), Thuật toán Mid-point vẽ đường thẳng Đặt vấn đề:
Cho 2 điểm A(x1,y1) và B(x2,y2). Vẽ đường thẳng đi qua 2 điểm A,B Giải thuật: Xét 016
Hình 1.2.3.1. Mô tả thuật toán Mid-point vẽ đường thẳng
Thuật toán Midpoint đưa ra cách chọn điểm yi+1 là
yi hay yi+1 bằng cách so sánh
điểm thực Q(xi+1 , y) với điểm Midpoint là trung điểm của S và P.
Nếu điểm Q nằm dưới điểm Midpoint thì ta chọn điểm S là điểm vẽ tiếp theo.
Ngược lại , nếu điểm Q nằm trên điểm Midpoint thì ta chọn P.
Ta có dạng tổng quát của PT đường thẳng : Ax + By +C=0 Với A= y – y o ; B= -(x 1 2 –x1) ; C=x2y1 –x1y2 Đặt F(x,y)= Ax+ By +C
Ta có nhận xét vị trí tương đối của điểm Midpoint (x,y) với đường thẳng:
F(x,y) < 0 nếu (x,y) nằm phía trên đường thẳng
F(x,y) = 0 nếu (x,y) thuộc về đường thẳng
F(x,y) > 0 nếu (x,y) nằm phía dưới đường thẳng
Lúc này việc chọn các điểm S, P ở trên được đưa về việc xét dấu của: pi =
2F(Midpoint) = 2F(xi +1 , yi +1/2)
Nếu pi < 0 ⇒ Midpoint nằm phía trên đường thẳng ⇒Lúc này điểm thực Q
nằm phía dưới điểm Midpoint ⇒ Chọn S(xi +1, yi).
Nếu pi >= 0 ⇒ Midpoint nằm phía dưới đường thẳng ⇒ Lúc này điểm thực
Q nằm trên điểm Midpoint ⇒ Chọn P(xi +1, yi +1). Mặt khác:
pi+1 –pi = 2F(xi+1 +1 , yi+1 +1/2) – 2F(xi +1 , yi +1/2)
⇒ pi+1 –pi =2[A(xi+1 +1) + B(yi+1 +1/2) +C] – 2[A(xi +1) + B(yi+1/2) +C] 17
⇒ pi+1 –pi = 2A + 2B(yi+1 – yi)
⇒ pi+1 –pi = 2Dy – 2Dx(yi+1 – yi) Vậy:
pi+1 =pi + 2Dy nếu pi <0 do ta chọn yi+1 =yi
pi+1 =pi + 2Dy – 2Dx nếu pi >=0 do ta chọn yi+1 =yi +1 Ta tính giá trị p ứng 1
với điểm ban đầu (x ,1 y1) với nhận xét rằng điểm (x1, y ) 1 là
điểm thuộc đường thẳng, tức là có Ax + By 1 + C =0. 1 p1 = 2F(x +1, y 1 1 +1/2) = 2[A(x +1) +B(y 1 1 +1/2) +C] ⇒ p = 2(Ax 1 + By 1 1 +C) +2A +B ⇒ p = 2A + B 1 ⇒ p = 2Dy-Dx 1
Ta thấy kết quả của thuật toán Midpoint tương tự thuật toán Bresenham như đã nói ở trên. [5] Lưu đồ thuật toán: 18
Hình 1.2.3.2. Lưu đồ thuật toán Mid-point vẽ đường thẳng
b), Thuật toán Mid-point vẽ đường Elipse Đặt vấn đề:
Vẽ elip bằng thuật toán Midpoint. Giải thuật: 19
Hình 1.2.3.3. Giải thuật Mid-point vẽ đường Elipse
Để đơn giản, chúng ta sẽ chọn vẽ hình Elip có tâm ở gốc tọa độ.
Phương trình của đường Elip:
f(x,y) = b2x2 + a2y2 – a2b2 o
< 0 nếu (x,y) nằm bên trong elip. o
= 0 nếu (x,y) nằm trên elip. o
0 nếu (x,y) nằm bên ngoài elip.
Ý tưởng và phân tích giải thuật:
Chia Elip làm 2 phần tại điểm Q nơi có hệ số góc của tiếp tuyến với Elip bằng -1
(véc tơ gradient bằng 1) ( lý do tại sao lại phải chia làm 2 phần thì bài 6 mình đã giải
thích rồi nhé). Tại vùng thứ nhất, x biến thiên nhanh hơn y và tại vùng thứ hai , y biến
thiên nhanh hơn x. Nhớ lại công thức hệ số góc của đường cong :
dx/dy = fx/fy = (2b2x) /( 2a2y)
Trong đó: fx và fy là đạo hàm riêng phần của f(x,y) theo x, theo y. Trong phần thứ nhất:
Giả sử đã vẽ được điểm (xi,yi) , điểm tiếp theo trên elip được chọn trong bước
nhảy i+1 là T hoặc S. Trung điểm I của TS sẽ quyết định điểm nào được chọn. Giá trị của f(x,y) tại điểm I: d 2 2 2 2
i = f(xi + 1, yi – ½) = b (xi + 1) + a 2 2(yi – ½) – a b
Nếu di ≥ 0 thì trung điểm I nằm ngoài đường elip => điểm được chọn là S. 20
Nếu di < 0 thì trung điểm I nằm trong đường elip => điểm được chọn là T. Ta lại có: d 2 2 2 2 2 2
i+1 = f(xi+1 + 1, yi+1 – ½) = b (xi+1 +1) + a (yi+1 – ½) – a b Suy ra: d 2 2 2 2 2
i+1 – di = b [(xi+1 +1) – (xi +1) ] +a2[(yi+1 – ½) – (yi – ½) ] Vì xi+1 = xi+1 nên: d 2 2 2 2 2
i+1 – di = 2b xi+1 + b + a [(yi+1 – ½) – (yi – ½) ]
Nếu điểm được chọn là T (di < 0) thì yi+1 = yi . Ta có : d 2 2 2
i+1 = di + 2b xi+1 + b (= di + fx + b ) = d 2 2 i + 2b (xi + 1) + b = d 2 i + b (2xi + 3)
Nếu điểm được chọn là S (di ≥ 0) thì yi+1 = yi – 1 Ta có: d 2 2 2 i+1 = di + 2b xi+1 + b – 2a 2 yi+1 (= di + fx + b – fy) = d 2 2 2
i + 2b (xi + 1) + b – 2a (yi – 1) = d 2 2 i + b (2xi + 3) + a (-2yi + 2)
Với điểm đầu tiên (0,b) ta có: d 2 2 2 2 2 2 2 2
1 = f(0,b) = b + a (b – ½) – a b = b ─ a b + a /4 Trong phần thứ hai:
Chúng ta tính toán như phần 1. Giả sử ta phải xác định điểm (xj+1,yj+1) tiếp theo
trên elip trong bước j+1. Điểm được chọn là U hoặc V. Trung điểm K của UV sẽ quyết
định việc chọn điểm U hay điểm V. Giá trị của f(x,y) tại điểm K: e 2 2 2
j = f(xj + ½, yj – 1) = b (xj + ½) + a 2 2(yj – 1) – a 2 b
Nếu ej ≥ 0 điểm được chọn là U.
Nếu ej < 0 điểm được chọn là V. Ta lại có: e 2 2 2 2
j+1 = f(xj+1 + ½, yj+1 – 1) = b (xj+1 + ½) + a 2 2(yj+1 – 1) – a b Suy ra: e 2 2 2 2 2 2
j+1 – ej = b [(xj+1 + ½) – (xj + ½) ] + a [(yj+1 – 1) – (yj – 1) ] 21 = b2[(x 2 2 2 2
j+1 + ½) – (xj + ½) ] – 2a yj+1 + a
Nếu điểm được chọn là U (tức ej ≥ 0) thì xj+1 = xj Ta có: e 2 2 2
j+1 = ej – 2a yj+1 + a (= ej – fy + a ) = e 2 2 j – 2a (yj -1) + a = e 2 j – a (3 – 2yj)
Nếu điểm được chọn là V (tức ej < 0 )thì xj+1 = xj+1 Ta có: e 2 2 2 2
j+1 = ej + 2b xj+1 – 2a yj+1 + a (= ej + fx – fy + a ) = e 2 2 2
j + 2b (xj + 1)– 2a (yj -1) + a = e 2 2 j + b (2xj + 2)+ a (3 -2yj )
Giá trị khởi tạo ban đầu trong phần 2 phụ thuộc vào vị trí cuối cùng của phần 1 ,
giả sử là (xk,yk). Khi đó: e 2 2 2 2 2 1 = f(x + ½, y k
k – 1) = b (xk + ½) + a (yk – 1) – a b Lưu đồ thuật toán:
Hình 1.2.3.4. Lưu đồ thuật toán Mid-point vẽ đường Elipse
1.3. Ứng dụng của đồ họa máy tính
Đồ họa máy tính có rất nhiều ứng dụng trong máy tính vì ước tính đến 80% thông
tin xử lý là hình ảnh. Một số ứng dụng tiêu biểu của đồ họa máy tính như là:
Tạo mô hình, hoạt cảnh (game, giải trí,...) 22
Hỗ trợ thiết kế đồ họa
Mô phỏng hình ảnh, chẩn đoán hình ảnh (trong y tế)
Huấn luyện đào tạo ảo (quân sự, hàng không,...)
Thiết kế thương hiệu 23
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ế dãy phố" là một ý tưởng thú vị cho một dự án thiết kế bằng OpenGL.
Đây có thể là một mô hình 3D của một phố nhỏ, có các công trình kiến trúc như tòa nhà
cao tầng, nhà ở, cây xanh, và đường phố.
Dưới đây là các bước lên ý tưởng của nhóm để bắt đầu:
Xác định kiến trúc chung: Đầu tiên, nhóm sẽ quyết định về loại kiến trúc và
phong cách mà muốn áp dụng cho dãy phố của mình. Có thể là một phố cổ điển với
những căn nhà hoặc một phố hiện đại với các tòa nhà cao tầng và biển báo giao thông.
Thiết kế các tòa nhà: Sử dụng OpenGL để tạo ra các mô hình 3D của các tòa nhà
trên phố. Tạo ra các hình hộp đơn giản để biểu diễn các tòa nhà hoặc thậm chí tạo ra các
mô hình chi tiết hơn với cửa sổ, cửa, và các chi tiết kiến trúc khác.
Tạo ra đường phố và vỉa hè: Sử dụng các đa giác và hình học khác để tạo ra các
đường phố và vỉa hè. Điều này có thể bao gồm việc vẽ các hình chữ nhật để biểu diễn
đường và các hình thoi hoặc hình tròn để biểu diễn các vườn hoa hoặc cây xanh.
Tạo ánh sáng và bóng: Sử dụng kỹ thuật chiếu sáng trong OpenGL để tạo ra hiệu
ứng ánh sáng tự nhiên và bóng trên các tòa nhà và đường phố. Điều này có thể tạo ra một
cảm giác sống động và chân thực hơn cho "dãy phố".
Thêm các chi tiết như cây cỏ: Để làm cho phố trở nên sống động hơn, thêm vào
các chi tiết như cây cỏ, hoa, cây cối. Điều này có thể được thực hiện bằng cách sử dụng
các mô hình 3D có sẵn hoặc tạo ra chúng từ các hình hộp và đa giác đơn giản.
Tương tác với người dùng: Tạo ra các tính năng tương tác với người dùng bằng
cách cho phép di chuyển xung quanh trong "dãy phố" bằng cách sử dụng các phím điều
hướng hoặc chuột. Thêm các tính năng như zoom và xoay để người dùng có thể khám
phá phố từ nhiều góc độ khác nhau.
2.2. Vẽ các đối tượng 3D
2.3. Thiết lập các nguồn sáng
2.4. Xử lý sự kiện bấm phím 24
CHƯƠNG 3. KẾT LUẬN 25 TÀI LIỆU THAM KHẢO
[1]. Nguyễn Tuấn Nhật, “Báo cáo chuyên đề học phần đồ họa máy tính”,
studocu.com/vn/document/dai-hoc-dien-luc/dien-luc-university/bao-cao-bai-tap-lon-do-hoa- may-tinh/42950155, 30/04/2024.
[2]. “Thuật toán vẽ đường thẳng Bresenham”, tuhoclaptrinh.cachhoc.net/2017/03/03/bai-
4-thuat-toan-ve-duong-thang-bresenham, 30/04/2024.
[3]. “Giáo trình môn đồ họa máy tính – Trường Đại Học Công Nghệ Đông Á”,
drive.google.com/file/d/1bTNfybUsWOix_hD47Mm2URUv1G0zpQGR/view,30/04/2024.
[4]. “Thuật toán vẽ đường thằng DDA”, tuhoclaptrinh.cachhoc.net/2017/02/25/bai-3-
thuat-toan-ve-duong-thang-dda, 30/04/2024.
[5]. “Thuật toán vẽ đường thẳng Midpoint”, tuhoclaptrinh.cachhoc.net/2017/03/05/bai-5-
thuat-toan-ve-duong-thang-midpoint, 30/04/2024.
[6]. “Thuật toán vẽ đường Elipse Midpoint” tuhoclaptrinh.cachhoc.net/2017/03/12/bai-7-
thuat-toan-ve-duong-ellipse-midpoint/, 30/04/2024 26