GIÁO TRÌNH ĐỒ HỌA MÁY TÍNH

  -  

Đồ họa máy tính xách tay được ra đời bởi sự kết hợp của 2 nghành thông tin cùng truyền hình. Đầu tiên kỹ thuật hình ảnh được cách tân và phát triển bởi những nhóm kỹ sư sử dụng laptop lớn. Trong tiến độ đầu của sự cải cách và phát triển người ta yêu cầu tốn các tiền cho việc trang bị các thiết bị phần cứng. Ngày nay, nhờ vào sự hiện đại của vi xử lý, giá cả của máy tính càng thời điểm càng cân xứng với túi tiền của người sử dụng trong khi những kỹ thuật vận dụng đồ họa của......




Bạn đang xem: Giáo trình đồ họa máy tính

*

Chương 1: reviews thuật toán vẽ với tô những đường cơ bảnLời nói đầu Đồ họa laptop được thành lập và hoạt động bởi sự phối hợp của 2 nghành nghề dịch vụ thông tin với truyềnhình. Đầu tiên kỹ thuật hình ảnh được trở nên tân tiến bởi những nhóm kỹ sư sử dụng máy vi tính lớn.Trong quy trình đầu của sự cải cách và phát triển người ta buộc phải tốn những tiền cho việc trang bị cácthiết bị phần cứng. Ngày nay, dựa vào sự tiến bộ của vi xử lý, túi tiền của đồ vật tínhcàng dịp càng cân xứng với ví tiền của người tiêu dùng trong khi các kỹ thuật vận dụng đồhọa của chính nó ngày càng cao hơn nên có không ít người quan tiền tâm phân tích đến lĩnh vực này.Chúng ta hoàn toàn có thể vẽ ra phần đa hình hình ảnh không chỉ là hình ảnh tĩnh mà còn có thể thay đổi thànhnhững hình hình ảnh sinh đụng qua các phép quay, tịnh tiến... Vì chưng vậy, trang bị họa máy tính xách tay trởthành một nghành nghề lý thú và có nhiều ứng dụng trong thực tế. Tuy nhiên, câu hỏi dạy với học kỹ thuật đồ họa thì ko là đơn giản dễ dàng do chủ thể này cónhiều phức tạp. Kỹ thuật đồ dùng họa liên quan đến tin học với toán học bởi vì hầu hết các giảithuật vẽ, đánh cùng những phép trở thành hình đầy đủ được gây ra dựa trên căn nguyên của hình họckhông gian hai chiều và tía chiều. Hiện tại nay, Kỹ thuật thứ họa là một môn học được huấn luyện và đào tạo cho sinh viên chuyênngành Tin học tập với 45 tiết kim chỉ nan và 15 huyết thực tập. Câu chữ của giáo trình kỹ thuậtđồ họa này triệu tập vào 2 vụ việc chính như sau : - trình diễn các thuật toán vẽ cùng tô những đường cơ bạn dạng như con đường thẳng, nhiều giác,đường tròn, ellipse và những đường conic. Những thuật toán này hỗ trợ cho sinh viên rất có thể tựmình kiến tạo để vẽ với tô một hình nào kia ( chương 1 và 2). - văn bản thứ hai nhắc đến hình ảnh hai chiều và đồ họa ba chiều bao gồm cácphép biến đổi Affine, windowing và clipping, quan lại sát hình ảnh ba chiều qua các phép chiếu,khử các mặt tắt hơi và đường khuất, kiến tạo đường cong cùng mặt cong (từ chương 3 đếnchương 7). Giáo trình kỹ thuật giao diện này được sửa đổi và update dựa trên tởm nghiệmgiảng dạy đang qua với được xây dựng dựa vào tài liệu tham khảo chính là : Donald Hearn, M. Pauline Baker; Computer Graphics; Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986. Sau cùng, shop chúng tôi hy vọng rằng giáo trình này đang đóng góp tích cực và lành mạnh trong việccải tiến sự hiểu biết của sinh viên về nghành đồ họa và ước ao nhận được sự góp ý củacác đồng nghiệp cùng sinh viên để các bước biên soạn ngày càng được tốt hơn. Trang 1 Chương 1: giới thiệu thuật toán vẽ với tô những đường cơ bảnMục lụcChương 1: GIỚI THIỆU THUẬT TOÁN VẼ VÀ TÔ ...................................6CÁC ĐƯỜNG CƠ BẢN.....................................................................................6 1.1 Tổng quan liêu .........................................................................................................6 1.2. Hệ tọa độ quả đât thực, hệ tọa độ thiết bị cùng hệ tọa độ chuẩn .........................7 1.3. Thuật toán vẽ đoạn thẳng..................................................................................9 1.3.1. Thuật toán DDA (Digital DifferentialAnalyzer).....................................10 1.3.2. Thuật toán Bresenham.............................................................................13 1.4. Thuật toán vẽ con đường tròn................................................................................17 1.4.1. Thuật toán đơn giản.................................................................................17 1.4.2. Thuật toán MidPoint................................................................................18 1.4.3. Vẽ mặt đường tròn bởi thuật toán Bresenham.............................................21 1.4.4. Thuật toán vẽ Ellipse...............................................................................22 1.4.5. Vẽ con đường conics và một vài đường cong khác ........................................24 1.4.6. Vẽ đa giác................................................................................................25 1.4.7. Tổng kết chương 1...................................................................................28 1.4.8. Bài xích tập chương 1 .....................................................................................28Chương 2 : CÁC THUẬT TOÁN TÔ MÀU..................................................31 2.1. Tổng quan lại .......................................................................................................31 2.2. Các không khí màu .......................................................................................31 2.2.1. Không gian màu RGB (Red - Green - Blue)...........................................31 2.2.2. Không khí màu CMY (Cyan - Magenta - Yellow) ...............................32 2.2.3. Không gian màu HSV ( Hue - Saturation - Value ) ................................32 2.3. Các thuật toán tô color .....................................................................................33 2.3.1. Tô đối chọi giản..............................................................................................33 2.3.2. Tô màu theo loại quét (scan - line)........................................................38 2.3.3. Phương thức tô màu dựa theo mặt đường biên..............................................42 2.4. Tổng kết chương 2 ..........................................................................................45 2.5. Bài xích tập chương 2.............................................................................................46Chương 3 : PHÉP BIẾN ĐỔI vào ĐỒ HỌA hai CHIỀU..................47 U 3.1. Tổng quan tiền .......................................................................................................47 3.2. Phép tịnh tiến (translation)..............................................................................47 3.3. Phép đổi khác tỷ lệ ..........................................................................................48 3.4. Phép quay........................................................................................................49 3.5. Phép đối xứng .................................................................................................51 3.6. Phép biến hóa dạng................................................................................................51 3.7. Phép biến đổi Affine ngược ( The inverse of an Affine transformation) .......52 3.8. Một số trong những tính chất của phép chuyển đổi affine ......................................................53 3.9. Hệ tọa độ thuần độc nhất .......................................................................................53 3.10. Phối hợp các phép biến hóa (composing transformation).............................54 3.11. Tổng kết chương 3 ......................................................................................55 3.12. Bài bác tập chương 3 .........................................................................................55Chương 4 ...........................................................................................................58WINDOWING với CLIPPING ........................................................................58 4.1. Tổng quan liêu .......................................................................................................58 4.2. Những khái niệm về Windowing.........................................................................58 Trang 2 Chương 1: trình làng thuật toán vẽ cùng tô các đường cơ bản 4.3. Các thuật toán Clipping ..................................................................................63 4.4. Phép chuyển đổi từ cửa sổ - cho – vùng quan gần kề ...............................................84 4.5. Tổng kết chương 4 ..........................................................................................86 4.6. Bài tập chương 4.............................................................................................86Chương 5 : ĐỒ HỌA bố CHIỀU...................................................................88 U 5.1. Tổng quan liêu .......................................................................................................88 5.2. Trình làng đồ họa 3 chiều................................................................................88 5.3. Biểu diễn đối tượng người dùng 3 chiều............................................................................90 5.4. Những phép thay đổi 3 chiều...............................................................................95 5.4.1. Hệ tọa độ bàn tay buộc phải - bàn tay trái .......................................................95 5.4.2. Các phép đổi khác Affine cơ sở...............................................................95 5.5. Tổng kết chương 5 ..........................................................................................97Chương 6 : quan SÁT ẢNH ba CHIỀU ...................................................98 U 6.1. Tổng quan tiền .......................................................................................................98 6.2. Những phép chiếu................................................................................................98 6.2.1. Những phép chiếu tuy vậy song .....................................................................100 6.2.2. Những phép chiếu phối cảnh......................................................................105 6.3. Biến đổi hệ tọa độ quan sát (hệ quan sát) .....................................................107 6.3.1. Xác minh mặt phẳng quan cạnh bên ...............................................................108 6.3.2. Không khí quan tiếp giáp ..............................................................................112 6.3.3. Clipping .................................................................................................115 6.4. Cài đặt các thao tác làm việc quan tiếp giáp (Implementation of Viewing Operations)......116 6.5. Thiết đặt phần cứng .........................................................................................125 6.6. Thiết kế xem hình ảnh ba chiều ..........................................................................126 6.7. Các mở rộng đến Đường ống quan liền kề (Viewing Pipeline)..........................130 6.8. Tổng kết chương 6 ........................................................................................130 6.9. Bài bác tập chương 6..........................................................................................131Chương 7 .........................................................................................................134KHỬ CÁC MẶT KHUẤT VÀ ĐƯỜNG KHUẤT......................................134 7.1. Tổng quan .....................................................................................................134 7.2. Khử các mặt nằm sau (Back-Face Removal) ...............................................135 7.3. Phương thức dùng vùng đệm độ sâu (Depth-Buffer Method) .....................138 7.4. Cách thức đường quét (Scan-Line Method) ............................................140 7.5. Phương pháp sắp xếp theo độ sâu (Depth- Sorting Method)........................143 7.6. Phương pháp phân phân tách vùng (Area- Subdivision Method) .........................147 7.7. Các cách thức Octree (Octree Methods) .................................................150 7.8. Loại trừ các đường bị đậy khuất....................................................................154 7.9. Tổng kết chương 7 ........................................................................................156 7.10. Bài xích tập chương 7 .......................................................................................157 Trang 3 Chương 1: ra mắt thuật toán vẽ với tô những đường cơ bản PHẦN TỔNG QUAN1. Mục đích yêu cầu sau thời điểm học dứt môn này, sinh viên nên đạt được những yêu cầu sau: - Hiểu vậy nào là bối cảnh trên đồ vật tính. - kiến thiết và cài đặt được các thuật toán vẽ những đường cơ bản như mặt đường thẳng,đường tròn,... - thi công và thiết đặt được các thuật toán sơn một hình. - thực hiện được những phép đổi thay hình trong không gian 2 chiều, 3 chiều để làm thayđổi một hình hình ảnh đã gồm sẳn. - hoàn toàn có thể tạo một cửa sổ để cắt - dán một hình. - Hiểu khái niệm về những tiếp cận nhằm mô bỏng được một hình ảnh trong khônggian 3 chiều trên lắp thêm tính.2. Đối tượng thực hiện Môn kỹ thuật giao diện được giảng dạy cho sinh viên năm đồ vật tư của các khoa sau: - chuyên ngành công nghệ thông tin.

Xem thêm: Download Plants Vs Zombies Pc Full Miễn Phí Cho Windows, Tải Plants Vs Zombies



Xem thêm: Guide Riven Mùa 11: Bảng Ngọc Bổ Trợ, Cách Lên Đồ Cho Riven, Bảng Ngọc Riven Mùa 12 Và Cách Lên Đồ Mạnh Nhất

- siêng ngành năng lượng điện tử (viễn thông, auto hóa,...) - siêng ngành sư phạm (Toán tin, Lý tin )3. Ngôn từ cốt lõi Giáo trình Kỹ thuật thứ họa bao hàm 7 chương. - Chương 1: trình làng thuật toán vẽ với tô những đường cơ bản - Chương 2: những thuật toán tô màu sắc - Chương 3: Phép đổi khác trong vật họa 2d - Chương 4: Tạo hành lang cửa số và cắt hình - Chương 5: Đồ họa 3d - Chương 6: quan tiền sát hình ảnh 3 chiều - Chương 7: Khử các mặt tạ thế và đường khuất4. Kỹ năng và kiến thức tiên quyết - kỹ năng về hình học không khí và hình giải tích - kỹ năng và kiến thức lập trình căn bản, lập trình bối cảnh - kỹ năng và kiến thức về cấu trúc dữ liệu, lập trình đệ qui Trang 4 Chương 1: reviews thuật toán vẽ với tô các đường cơ bản5. Hạng mục tài liệu tham khảo- Donald Hearn, M. Pauline Baker; Computer Graphics; Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986.- F.S.Hill; Computer graphics ; 1990- Vũ dũng mạnh Tường, Dương Anh Đức, nai lưng Đan Thư, Lý Quốc Ngọc. Giáo trình Nhậpmôn thiết bị họa & xử lý ảnh.1995.- VERA B.ANAND, bạn dịch TS Nguyễn Hữu Lộc. Đồ họa máy tính xách tay và quy mô hóahình học. Công ty xuất bản Thành Phố sài gòn - 2000.- Foley, Van Darn, Feiner, Hughes, Phillips. Introduction à L"Infographie. 1995.- Lê Tấn Hùng, Huỳnh Quyết Thắng. Kỹ thuật thứ họa. Công ty xuất phiên bản khoa học cùng kỹthuật, tp hà nội - 2000. Trang 5 Chương 1: reviews thuật toán vẽ và tô các đường cơ bản Chương 1: GIỚI THIỆU THUẬT TOÁN VẼ VÀ TÔ CÁC ĐƯỜNG CƠ BẢN 1.1 Tổng quan • mục tiêu của chương 1 Học ngừng chương này, sinh viên phải nắm bắt được những vấn đề sau: - nắm nào là hệ giao diện - xây cất và setup được các thủ tục vẽ và tô những đường cơ bản như mặt đường thẳng,đường tròn, elip, và những đường cong khác. • kỹ năng và kiến thức cơ bản cần thiết các kiến thức cơ bạn dạng cần thiết để học chương này bao hàm : - các khái niệm toán học tập về con đường thẳng như : mặt đường thẳng là gì : dạng tổng quátphương trình mặt đường thẳng, thông số góc, tung độ dốc. - phát âm rõ hình dáng của con đường thẳng phụ thuộc vào vào hệ số góc như vậy nào. - Phương trình bao quát của mặt đường tròn, ellippse ( không tồn tại tham số và gồm thamsố). - kỹ năng lập trình: tùy chỉnh cấu hình thủ tục, hàm (lưu ý truyền qui chiếu cùng truyền giátrị). • Tài liệu tham khảo Donald Hearn, M. Pauline Baker. Computer Graphics . Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986 (chapters 3, 55-76). • nội dung cốt lõi cấu hình thiết lập thủ tục vẽ : - Đường thẳng bằng lời giải DDA - Đường trực tiếp bằng giải thuật Bresenham - Đường tròn bằng giải thuật đối xứng - Đường tròn bằng giải mã Bresenham - Đường tròn bằng giải thuật MidPoint - Ellippse - Đa giác Trang 6 Chương 1: ra mắt thuật toán vẽ với tô những đường cơ bản1.2. Hệ tọa độ trái đất thực, hệ tọa độ thiết bị và hệ tọa độ chuẩn chỉnh Một hệ mềm bối cảnh được tế bào tả bao hàm 3 miền như sau : - Miền điều khiển : bao quanh toàn cỗ hệ thống. - Miền thực : phía bên trong miền điều khiển. Khi một vài nào đó thâm nhập vào miềnthực, nó sẽ tiến hành chuyển thành số thực vết phẩy động, và khi có một vài rời khỏi miền nàythì nó sẽ được chuyển thành số nguyên bao gồm dấu 16 bits. - Miền hiển thị : phía bên trong miền điều khiển và tinh chỉnh nhưng minh bạch với miền thực. Chỉ cósố nguyên 16 bits new nằm vào miền hiển thị. Trong nghành nghề kỹ thuật đồ dùng họa, chúng ta phải phát âm được rằng thực chất của đồ gia dụng họalà làm nạm nào để có thể mô tả và đổi khác được các đối tượng trong quả đât thực trênmáy tính. Vị vì, các đối tượng người tiêu dùng trong trái đất thực được tế bào tả bởi tọa độ thực. Trongkhi đó, hệ tọa độ máy lại áp dụng hệ tọa độ nguyên nhằm hiển thị các hình ảnh. Đâychính là vụ việc cơ bạn dạng cần giải quyết. Ngoài ra, còn có một trở ngại khác nữa là với cácthiết bị không giống nhau thì có những định nghĩa khác nhau. Do đó, cần có một phương phápchuyển đổi khớp ứng giữa các hệ tọa độ và đối tượng người sử dụng phải được quan niệm bởi những thànhphần dễ dàng và đơn giản như thay nào để rất có thể mô tả gần đúng với hình hình ảnh thực mặt ngoài. Hai quy mô cơ bạn dạng của vận dụng đồ họa là dựa trên mẫu số hóa và dựa vào đặctrưng hình học. Trong áp dụng đồ họa dựa trên mẫu số hóa thì các đối tượng đồ họađược tạo nên bởi lưới các px rời rạc. Các pixel này hoàn toàn có thể đuợc tạo nên bằng những chươngtrình vẽ, máy quét, ... Các px này thể hiện tọa độ xác xác định trí và quý hiếm mẫu. Thuận lợicủa áp dụng này là dể dàng gắng đổi ảnh bằng cách biến hóa màu nhan sắc hay địa chỉ của cácpixel, hoặc dịch chuyển vùng hình ảnh từ vị trí này sang địa điểm khác. Tuy nhiên, điều ăn hại là khôngthể xem xét đối tượng người tiêu dùng từ các góc nhìn khác nhau. Ứng dụng thiết bị họa dựa vào đặc trưnghình học bao hàm các đối tượng người sử dụng đồ họa các đại lý như đoạn thẳng, nhiều giác,.... Bọn chúng đượclưu trữ bởi các mô hình và những thuộc tính. Ví dụ như : đoạn trực tiếp được mô hình bằng haiđiểm đầu với cuối, bao gồm thuộc tính như màu sắc, độ dày. Người tiêu dùng không thao tác làm việc trựctiếp bên trên các pixel mà thao tác làm việc trên những thành phần hình học của đối tượng. A. Hệ tọa độ nhân loại thực: trong số những hệ tọa độ thực thường xuyên được dùng để làm mô tả các đối tượng người tiêu dùng trongthế giới thực là hệ tọa độ Descartes. Cùng với hệ tọa độ này, mỗi điểm p được màn trình diễn bằngmột cặp tọa độ (xp,yp) với xp, yp ∈R (xem hình 1.1). Trang 7 Chương 1: trình làng thuật toán vẽ với tô những đường cơ bản Y P(xp,yp) yp O xp X Hình 1.1 : Hệ tọa độ thực. . Ox : hotline là trục hoành. . Oy : call là trục tung. . Xp : hoành độ điểm phường . Yp : tung độ điểm p. B. Hệ tọa độ lắp thêm Hệ tọa độ thiết bị (device coordinates) được sử dụng cho một thiết bị xuất rõ ràng nàođó, ví như máy in, màn hình,.. Vào hệ tọa độ vật dụng thì những điểm cũng được mô tả bởi vì cặp tọa độ (x,y). Tuynhiên, không giống với hệ tọa độ thực là x, y ∈ N. Điều này tức là các điểm trong hệ tọa độthực được quan niệm liên tục, còn những điểm trong hệ tọa độ đồ vật là tránh rạc. Quanh đó ra,các tọa độ x, y của hệ tọa độ lắp thêm chỉ trình diễn được vào một giới hạn nào kia của N.Ví dụ : Độ phân giải của màn hình trong chế độ đồ họa là 640x480. Lúc đó, x∈(0,640)và y∈(0,480) (xem hình 1.2). (0,0) (640,0) (0, 480) (640,480) Hình 1.2 : Hệ tọa độ trên màn hình. Trang 8 Chương 1: trình làng thuật toán vẽ và tô các đường cơ bạn dạng c. Hệ tọa độ thiết bị chuẩn (Normalized device coordinates) Do biện pháp định nghĩa các hệ tọa độ thiết bị không giống nhau nên một hình ảnh hiển thịđược trên máy này là chính xác thì chưa chắc chắn hiển thị đúng mực trên thíết bị khác.Người ta phát hành một hệ tọa độ thiết bị chuẩn đại diện phổ biến cho tất cả các đồ vật đểcó thể tế bào tả những hình ảnh mà không phụ thuộc vào vào ngẫu nhiên thiết bị nào. Trong hệ tọa độ chuẩn, những tọa độ x, y sẽ được gán các giá trị trong khúc từ <0,1>.Như vậy, vùng không gian của hệ tọa độ chuẩn đó là hình vuông đơn vị có góc tráidưới (0, 0) cùng góc phải trên là (1, 1). Quá trình mô tả các đối tượng người sử dụng thực như sau (xem hình 1.3): màn hình Ảnh khái niệm trên tọa độ cố kỉnh Tọa độ chuẩn hóa Tọa độ thiết bị thiết bị in giới thực. Vật dụng khác Hình 1.3 : Hệ tọa độ trên màn hình.1.3. Thuật toán vẽ đoạn trực tiếp Xét đoạn thẳng có thông số góc 0 Chương 1: trình làng thuật toán vẽ cùng tô các đường cơ phiên bản (xi+4,yi+3) (xi+2,yi+2) (xi+3,yi+2) (xi+1,yi+1) (xi,yi) Hình 1.4 : các điểm vẽ gần với điểm ước ao vẽ. Vấn đề đề ra là lựa chọn điểm vẽ ra sao để con đường thẳng được vẽ ngay gần với đườngthẳng ao ước vẽ độc nhất vô nhị và dành được tối ưu hóa về mặt tốc độ ? 1.3.1. Thuật toán DDA (Digital DifferentialAnalyzer) Là thuật toán tính toán các điểm vẽ dọc theo đường thẳng dựa vào hệ số góc củaphương trình đường thẳng y=mx+b. Δy vào đó, m= , Δy = yi+1 - yi , Δx = xi+1 - xi Δx phân biệt trong hình mẫu vẽ 1.4 thì tọa độ của điểm x vẫn tăng 1 đơn vị chức năng trên từng điểmvẽ, còn việc đưa ra quyết định chọn yi +1 là yi +1 hay yi sẽ nhờ vào vào giá bán trị sau thời điểm làm tròncủa tung độ y. Tuy nhiên, giả dụ tính trực tiếp cực hiếm thực của y ở từng bước từ phương trìnhy=mx+b thì cần một phép toán nhân cùng một phép toán cộng số thực. Yi +1 = mxi +1 + b = m(xi + 1) + b = mxi + b + m Để nâng cấp tốc độ, bạn ta khử phép nhân trên số thực.Ta có : yi = mxi + b ⇒ yi +1 = yi + m → int(yi +1) • kết luận khi 0 Chương 1: trình làng thuật toán vẽ và tô những đường cơ bảnHai trường thích hợp này dùng làm vẽ một điểm bắt đầu từ phía bên trái đến điểm cuối cùng bên phảicủa mặt đường thẳng (xem hình 1.5). Ví như điểm ban đầu từ bên phải đến điểm sau cuối bêntrái thì xét trái lại : • 0 Chương 1: ra mắt thuật toán vẽ và tô các đường cơ bảnLưu trang bị thuật toán DDA Begin dx=x2-x1 dy=y2-y1 Yes No abs(dx)>abs(dy) step=abs(dx) step=abs(dy) x_inc=dx/step y_inc=dy/step x=x1;y= y1 putpixel(x1,y1,c) No k Chương 1: ra mắt thuật toán vẽ với tô các đường cơ bảnCài đặt minh họa thuật toán DDAProcedure DDA ( x1, y1, x2, y2, màu sắc : integer );Var dx, dy, step : integer; X_inc, y_inc , x, y : real ;Begin dx:=x2-x1; dy:=y2-y1; if abs(dx)>abs(dy) then steps:=abs(dx) else steps:=abs(dy); x_inc:=dx/steps; y_inc:=dy/steps; x:=x1; y:=y1; putpixel(round(x),round(y), color); for k:=1 khổng lồ steps vị begin x:=x+x_inc; y:=y+y_inc; putpixel(round(x),round(y), color); end;end; 1.3.2. Thuật toán Bresenham P2 yi+1 d2 yi+1 d1 yi P1 xi xi+1 = xi+1 Hình 1.6 : Dạng mặt đường thẳng bao gồm 0 Chương 1: trình làng thuật toán vẽ cùng tô các đường cơ bạn dạng Gọi (xi +1,yi +1) là vấn đề thuộc đoạn trực tiếp (xem hình 1.6). Ta có y:= m(xi +1)+b. Đặt d1 = yi +1 - yi d2 = (yi +1) - yi +1Việc lựa chọn điểm (xi +1, yi +1) là P1 tốt P2 dựa vào vào việc so sánh d1 và d2 hay lốt củad1-d2.- giả dụ d1-d2 Chương 1: reviews thuật toán vẽ cùng tô những đường cơ bảnLưu đồ vật thuật toán Bresenham Begin dx = x2-x1; dy = y2 - y1; p. = 2dy-dx; c1 = 2dy; c2 = 2(dy-dx); x = x1; y = y1; putpixel (x,y,color); No x Chương 1: giới thiệu thuật toán vẽ với tô các đường cơ bảnCài đặt minh họa thuật toán Bresenham Procedure Bres_Line (x1,y1,x2,y2 : integer); Var dx, dy, x, y, P, const1, const2 : integer; Begin dx : = x2 - x1; dy : = y2 - y1; p. : = 2*dy - dx; Const1 : = 2*dy ; const2 : = 2*(dy - dx) ; x:= x1; y:=y1; Putpixel ( x, y, Color); while (x Chương 1: ra mắt thuật toán vẽ cùng tô các đường cơ phiên bản 1.4. Thuật toán vẽ đường tròn trong hệ tọa độ Descartes, phương trình mặt đường tròn bán kính R có dạng: Với tâm O(0,0) : x 2 + y 2 = R2 Với trung khu C(xc,yc): (x - xc )2 + (y - yc )2 = R2 trong hệ tọa độ cực : x = xc + R.cosθ y = yc + Y.sinθ cùng với θ ∈ <0, 2π>. Vị tính đối xứng của con đường tròn C (xem hình 1.7) đề xuất ta chỉ cần vẽ 1/8 cung tròn, tiếp đến lấy đối xứng qua 2 trục tọa độ và 2 con đường phân giác thì ta vẽ được cả con đường tròn. Y (-x,y) (x,y) (-y,x) (y,x) R 2 x 2 (-y,-x) (y,-x) (-x,-y) (x,-y) Hình 1.7 : Đường tròn với các điểm đối xứng.1.4.1. Thuật toán dễ dàng Cho x = 0, 1, 2, ..., int( R 2 ) cùng với R>1. 2 - trên mỗi quý hiếm x, tính int(y = R 2 − x 2 ). - Vẽ điểm (x,y) thuộc 7 điểm đối xứng của nó. Cài đặt minh họa thuật toán đơn giản. Trang 17 Chương 1: trình làng thuật toán vẽ cùng tô các đường cơ bạn dạng Procedure Circle (xc, yc, R : integer) ; Var x, y : integer ; Procedure DOIXUNG ; Begin putpixel (xc + x , yc +y, color) ; putpixel (xc - x , yc + y, color) ; putpixel (xc + x , yc - y, color) ; putpixel (xc - x , yc- y, color) ; putpixel (xc + y , yc + x, color) ; putpixel (xc - y , yc + x, color) ; putpixel (xc + y , yc - x, color) ; putpixel (xc - y , yc - x, color) ; kết thúc ; Begin For x : = 0 lớn round(R*Sqrt(2)/2) vị Begin y : = round(Sqrt(R*R - x*x)) ; DOIXUNG; end ; end ;1.4.2. Thuật toán xét điểm thân (MidPoint) vày tính đối xứng của đường tròn bắt buộc ta chỉ việc vẽ 1/8 cung tròn, tiếp đến lấy đối xứng là vẽ được cả mặt đường tròn. Thuật toán MidPoint đưa ra cách chọn yi+1 là yi tuyệt yi-1 bằng cách so sánh điểm thực Q(xi+1,y) cùng với điểm giữa MidPoind là trung điểm của S1 và S2. Chọn điểm bắt đầu để vẽ là (0,R). đưa sử (xi, yi) là vấn đề nguyên đã tìm được ở bước thứ i (xem hình 1.8), thì điểm (xi+1, yi+1) ở cách i+1 là sự lựa lựa chọn giữa S1 và S2. Xi+1= xi + 1 yi+1= yi - 1 yi Trang 18 Chương 1: ra mắt thuật toán vẽ và tô những đường cơ phiên bản (xi,yi) S1 Q(xi+1,y) yi yi+1 MidPoint yi - 1 S2 Hình 1.8 : Đường tròn cùng với điểm Q(xi+1, y) và điểm MidPoint.Đặt F(x,y) = x2 + y2 - R2 , ta có :. F(x,y) 0 , trường hợp điểm (x,y) nằm ở ngoài đường tròn.Xét Pi = F(MidPoint) = F(xi +1, yi - 1/2). Ta bao gồm :- nếu Pi = 0 : điểm MidPoint nằm ngòai con đường tròn. Khi đó, điểm thực Q sát với điểmS2 hơn phải ta lựa chọn yi+1 = yi - 1.Mặt khác : Pi+1 - Pi = F(xi+1 +1, yi+1 - 1/2) - F(xi + 1, yi - 1/2) = <(xi+1 +1)2 + (yi+1 - 1/2)2 - R2 > - <(xi +1)2 + (yi - 1/2)2 - R2 > = 2xi + 3 + ((yi+1)2 + (yi)2 ) - (yi+1 - yi)Vậy : - trường hợp Pi = 0 : chọn yi+1 = yi - 1. Lúc ấy Pi+1 = Pi + 2xi - 2yi +5. - Pi ứng với điểm thuở đầu ( x0 , y0 ) = (0,R) là: 5 P0 = F(x0 + 1, y0 - 1/2) = F(1, R - 1/2) = -R 4 Trang 19 Chương 1: ra mắt thuật toán vẽ và tô những đường cơ bảnLưu đồ gia dụng thuật toán MidPoint vẽ con đường tròn Begin p = 5/4 - R; x=0 ; y= R; Putpixel(x,y,c); No x