1. Trang chủ
  2. » Tất cả

Giáo trình lý thuyết đồ họa phần 1 trường đh công nghiệp quảng ninh

20 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 413,24 KB

Nội dung

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH GIÁO TRÌNH LÝ THUYẾT ĐỒ HỌA DÙNG CHO BẬC ĐẠI HỌC (LƯU HÀNH NỘI BỘ) QUẢNG NINH 2020 MỤC LỤC Chương 1 CÁC YẾU TỐ CƠ SỞ CỦA ðỒ HỌA 1 1 Tổng quan về ñồ[.]

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH GIÁO TRÌNH LÝ THUYẾT ĐỒ HỌA DÙNG CHO BẬC ĐẠI HỌC (LƯU HÀNH NỘI BỘ) QUẢNG NINH - 2020 MỤC LỤC Chương 1: CÁC YẾU TỐ CƠ SỞ CỦA ðỒ HỌA 1.1 Tổng quan đồ họa máy tính 1.1.1 Giới thiệu đồ họa máy tính 1.1.2 Các kỹ thuật ñồ họa 1.1.2.1 Kỹ thuật ñồ họa ñiểm 1.1.2.2 Kỹ thuật ñồ họa vector 1.1.3 Ứng dụng ñồ họa máy tính 1.1.4 Các lĩnh vực ñồ họa máy tính 1.1.5 Tổng quan hệ ñồ họa 1.2 Màn hình đồ họa 1.3 Các khái niệm 1.3.1 ðiểm 1.3.2 Các biểu diễn tọa ñộ 1.3.3 ðoạn thẳng 1.4 Các thuật tốn vẽ đoạn thẳng 1.4.1 Bài toán 1.4.2 Thuật toán DDA 1.4.3 Thuật toán Bresenham 10 1.4.4 Thuật toán MidPoint 12 1.5 Thuật tốn vẽ đường trịn 14 1.5.1 Thuật toán Bresenham 14 1.5.2 Thuật toán MidPoint 16 1.6 Thuật toán vẽ Ellipse 17 1.6.1 Thuật toán Bresenham 17 1.6.2 Thuật toán MidPoint 20 1.7 Phương pháp vẽ ñồ thị hàm số 21 Bài tập 23 Chương 2: TÔ MÀU 2.1 Giới thiệu hệ màu 25 2.2 Các thuật tốn tơ màu 28 2.2.1 Bài toán 28 2.2.2 Thuật tốn xác định P ∈ S 28 2.2.3 Thuật tốn tơ màu theo dịng quét 30 2.2.4 Thuật tốn tơ màu theo vết dầu loang 30 Bài tập 31 Chương 3: XÉN HÌNH 3.1 ðặt vấn đề 32 3.2 Xén đoạn thẳng vào vùng hình chữ nhật 32 3.2.1 Cạnh hình chữ nhật song song với trục tọa ñộ 32 3.2.1.1 Thuật toán Cohen – Sutherland 33 3.2.1.2 Thuật toán chia nhị phân 34 3.2.1.3 Thuật toán Liang – Barsky 35 3.2.2 Khi cạnh hình chữ nhật tạo với trục hồnh góc α 36 3.3 Xén ñoạn thẳng vào hình trịn 37 3.4 Xén đường trịn vào hình chữ nhật 38 3.5 Xén đa giác vào hình chữ nhật 39 Bài tập 40 Chương 4: CÁC PHÉP BIẾN ðỔI 4.1 Các phép biến ñổi mặt phẳng 41 4.1.1 Cơ sở toán học 41 4.1.2 Ví dụ minh họa 43 4.2 Các phép biến đổi khơng gian 45 4.2.1 Các hệ trục tọa ñộ 45 4.2.2 Các công thức biến ñổi 46 4.2.3 Ma trận nghịch ñảo 48 4.3 Các phép chiếu vật thể không gian lên mặt phẳng 48 4.3.1 Phép chiếu phối cảnh 48 4.3.2 Phép chiếu song song 50 4.4 Công thức phép chiếu lên hình 50 4.5 Phụ lục 56 4.6 Ví dụ minh họa 59 Bài tập 61 Chương 5: BIỂU DIỄN CÁC ðỐI TƯỢNG BA CHIỀU 5.1 Mơ hình WireFrame 63 5.2 Vẽ mơ hình WireFrame với phép chiếu 64 5.3 Vẽ mặt toán học 65 Bài tập 68 Chương 6: THIẾT KẾ ðƯỜNG VÀ MẶT CONG BEZIER VÀ B-SPLINE 6.1 ðường cong Bezier mặt Bezier 69 6.1.1 Thuật toán Casteljau 70 6.1.2 Dạng Bernstein ñường cong Bezier 70 6.1.3 Dạng biểu diễn ma trận ñường Bezier 71 6.1.4 Tạo vẽ ñường cong Bezier 72 6.1.5 Các tính chất đường Bezier 74 6.1.6 ðánh giá ñường cong Bezier 76 6.2 ðường cong Spline B-Spline 77 6.2.1 ðịnh nghĩa 77 6.2.2 Các tính chất hữu ích việc thiết kế đường cong B-Spline 78 6.2.3 Thiết kế mặt Bezier B-Spline 79 6.2.4 Các băng Bezier 80 6.2.5 Dán băng Bezier với 81 6.2.6 Các băng B-Spline 81 Chương 7: KHỬ ðƯỜNG VÀ MẶT KHUẤT 7.1 Các khái niệm 83 7.2 Các phương pháp khử mặt khuất 85 7.2.1 Giải thuật xếp theo chiều sâu 85 7.2.2 Giải thuật BackFace 88 7.2.3 Giải thuật vùng ñệm ñộ sâu 90 Bài tập 103 Chương 8: TẠO BÓNG VẬT THỂ 3D 8.1 Khái niệm 104 8.2 Nguồn sáng xung quanh 104 8.3 Nguồn sáng ñịnh hướng 105 8.4 Nguồn sáng ñiểm 109 8.5 Mơ hình bóng Gouraud 110 Bài tập 121 Phụ lục: MỘT SỐ CHƯƠNG TRÌNH MINH HỌA I Các thuật tốn tô màu 122 II Các thuật tốn xén hình 129 III Vẽ ñối tượng 3D 136 Tài liệu tham khảo 143 LỜI MỞ ðẦU ðồ họa lĩnh vực phát triển nhanh ngành Cơng nghệ thơng tin Nó ñược ứng dụng rộng rãi nhiều lĩnh vực khoa học công nghệ Chẵng hạn y học, kiến trúc, giải trí ðồ họa máy tính giúp thay ñổi cách cảm nhận sử dụng máy tính, trở thành cơng cụ trực quan quan trọng khơng thể thiếu đời sống ngày Vì mơn “ðồ họa” trở thành mơn học chun ngành Cơng nghệ thơng tin trường đại học Cuốn sách “Giáo trình lý thuyết đồ họa” biên soạn theo sát nội dung chương trình đào tạo cử nhân Cơng nghệ thơng tin Nội dung giáo trình cung cấp số kiến thức lý thuyết thuật tốn xây dựng cơng cụ đồ họa 2D 3D Từ giúp sinh viên ñộc lập xây dựng thư viện ñồ họa cho riêng phát triển phần mềm ứng dụng ñồ họa cao Giáo trình ñược chia làm chương phần phụ lục, sau chương có phần tập ñể kiểm tra kiến thức rèn luyện khả lập trình cho bạn đọc ðể thuận tiện cho việc trình bày thuật tốn cách dể hiểu, giải thuật giáo trình viết ngơn ngữ “tựa Pascal” mã nguồn cài ñặt Turbo Pascal 7.0 Nhằm giúp bạn ñọc bớt lúng túng q trình cài đặt giải thuật, phần phụ lục liệt kê số mã nguồn cài ñặt thuật toán chương Tuy nhiên, bạn ñọc nên tự cài ñặt thuật toán phần lý thuyết, cảm thấy khó khăn nên tham khảo phần phụ lục Chương 1, trình bày yếu tố sở ñồ họa như: hình ñồ họa, ñiểm, ñoạn thẳng, đường trịn, hệ màu thuật tốn tơ màu, xén hình Chương trang bị kiến thức tốn học phép biến đổi khơng gian 2D 3D Chương 5, giới thiệu mơ hình đồ họa 3D, giải thuật khử mặt khuất tạo bóng cho vật thể Chương trình bày phương pháp thiết kế ñường cong Bezier B-Spline Mặc dù ñã cố gắng trình biên soạn chắn giáo trình khơng thể tránh khỏi thiếu sót Chúng tơi mong nhận ý kiến đóng góp bạn đọc bạn đồng nghiệp lĩnh vực ðồ họa để giáo trình ngày ñược hoàn thiện lần tái sau Các tác giả CHƯƠNG I CÁC YẾU TỐ CƠ SỞ CỦA ðỒ HỌA 1.1 TỔNG QUAN VỀ ðỒ HỌA MÁY TÍNH ðồ họa máy tính lãnh vực phát triển nhanh Tin học Nó áp dụng rộng rãi nhiều lãnh vực khác thuộc khoa học, kỹ nghệ, y khoa, kiến trúc giải trí Thuật ngữ đồ họa máy tính (Computer Graphics) đề xuất nhà khoa học người Mỹ tên William Fetter vào năm 1960 ơng nghiên cứu xây dựng mơ hình buồng lái máy bay cho hãng Boeing Các chương trình đồ họa ứng dụng cho phép làm việc với máy tính cách thoải mái, tự nhiên 1.1.1 Giới thiệu đồ họa máy tính ðồ họa máy tính ngành khoa học Tin học chuyên nghiên cứu phương pháp kỹ thuật để mơ tả thao tác đối tượng giới thực máy tính Về chất: q trình xây dựng phát triển công cụ hai lĩnh vực phần cứng phần mềm hổ trợ cho lập trình viên thiết kế chương trình có khả đồ họa cao Với việc mơ tả liệu thơng qua hình ảnh màu sắc đa dạng nó, chương trình đồ họa thường thu hút người sử dụng tính thân thiện, dể dùng, kích thích khả sáng tạo nâng cao suất làm việc 1.1.2 CÁC KỸ THUẬT ðỒ HỌA Dựa vào phương pháp xử lý liệu hệ thống, ta phân làm hai kỹ thuật ñồ họa: 1.1.2.1 Kỹ thuật ñồ họa ñiểm Chương I Các yếu tố sở ñồ họa Nguyên lý kỹ thuật sau: hình ảnh hiển thị thông qua pixel (từng mẫu rời rạc) Với kỹ thuật này, tạo ra, xóa thay đổi thuộc tính pixel đối tượng Các hình ảnh hiển thị lưới điểm rời rạc (grid), điểm có vị trí xác ñịnh ñược hiển thị với giá trị nguyên biểu thị màu sắc dộ sáng điểm Tập hợp tất pixel grid tạo nên hình ảnh đối tượng mà ta muốn biểu diễn 1.1.2.2 Kỹ thuật ñồ họa vector Nguyên lý kỹ thuật xây dựng mơ hình hình học (geometrical model) cho hình ảnh đối tượng, xác định thuộc tính mơ hình hình học, sau dựa mơ hình để thực q trình tơ trát (rendering) để hiển thị điểm mơ hình, hình ảnh ñối tượng Ở kỹ thuật này, lưu trữ mơ hình tốn học thành phần mơ hình hình học với thuộc tính tương ứng mà khơng cần lưu lại tồn tất pixel hình ảnh đối tượng 1.1.3 Ứng dụng đồ họa máy tính Ngày nay, đồ họa máy tính sử dụng rộng rãi nhiều lĩnh vực khác như: Công nghiệp, thương mại, quản lý, giáo dục, giải trí, Sau số ứng dụng tiêu biểu: 1.1.3.1 Tạo giao diện (User Interfaces): chương trình ứng dụng WINDOWS, WINWORD, EXCEL ñang ñược ña số người sử dụng ưa chuộng nhờ tính thân thiện, dể sử dụng 1.1.3.2 Tạo biểu ñồ dùng thương mại, khoa học kỹ thuật: Các biểu ñồ ñược tạo ña dạng, phong phú bao gồm hai chiều lẫn ba chiều góp phần thúc đẩy xu hướng phát triển mơ hình liệu hổ trợ đắc lực cho việc phân tích thơng tin trợ giúp định 1.1.3.3 Tự động hóa văn phịng chế ñiện tử: dùng ứng dụng ñồ họa ñể in ấn tài liệu với nhiều loại liệu khác như: văn bản, biểu ñồ, ñồ thị nhiều loại hình ảnh khác 1.1.3.4 Thiết kế với trợ giúp máy tính (Computer aided design): Một lợi ích lớn máy tính trợ giúp người việc thiết kế Các ứng Chương I Các yếu tố sở ñồ họa dụng ñồ họa cho phép thiết kế thiết bị khí, điện, điện tử, tô, máy bay, phần mềm AUTOCAD 1.1.3.5 Lĩnh vực giải trí, nghệ thuật: cho phép họa sĩ tạo hình ảnh hình máy tính Người họa sĩ tự pha màu, trộn màu, thực số thao tác: cắt, dán, tẩy, xóa, phóng to, thu nhỏ phần mềm PAINTBRUSH, CORELDRAW, 1.1.3.6 Lĩnh vực ñồ: xây dựng in ấn ñồ ñịa lý Một ứng dụng ñồ họa hệ thống thơng tin địa lý (GIS - Geographical Information System) 1.1.4 Các lĩnh vực ñồ họa máy tính 1.1.4.1 Các hệ CAD/CAM (CAD – Computer Aided Design, CAM – Computer Aided Manufacture) Các hệ xây dựng tập hợp cơng cụ đồ họa trợ giúp cho việc thiết kế chi tiết hệ thống khác nhau: thiết bị khí, điện tử Chẳng hạn phần mềm Auto Cad hảng AutoDesk 1.1.4.2 Xử lý ảnh (Image Processing) ðây lĩnh vực xử lý liệu ảnh sống Sau q trình xử lý ảnh, liệu đầu ảnh đối tượng Trong q trình xử lý ảnh, sử dụng nhiều kỹ thuật phức tạp: khơi phục ảnh, xác định biên Ví dụ: phần mềm PhotoShop, Corel Draw, 1.1.4.3 Khoa học nhận dạng (Pattern Recognition) Nhận dạng lĩnh vực kỹ thuật xử lý ảnh Từ mẫu ảnh có sẵn, ta phân loại theo cấu trúc theo phương pháp xác định thuật tốn chọn lọc để phân tích hay tổng hợp ảnh ñã cho thành tập hợp ảnh gốc, ảnh gốc ñược lưu thư viện vào thư viện ñể nhận dạng ảnh khác Ví dụ: Phần mềm nhận dạng chữ viết (VnDOCR) viện Công nghệ Thông tin Hà Nội, nhận dạng vân tay, nhận dạng mặt người khoa học hình 1.1.4.4 ðồ họa minh họa (Presentation Graphics) Chương I Các yếu tố sở ñồ họa ðây lĩnh vực ñồ họa bao gồm công cụ trợ giúp cho việc hiển thị số liệu thống kê cách trực quan thơng qua mẫu đồ thị biểu đồ có sẵn Chẳng hạn biểu đồ (Chart) phần mềm Word, Excel 1.1.4.5 Hoạt hình nghệ thuật Lĩnh vực ñồ họa bao gồm công cụ giúp cho họa sĩ, nhà thiết kế phim ảnh chuyên nghiệp thực công việc thơng qua kỹ xảo vẽ tranh, hoạt hình kỹ xảo điện ảnh khác Ví dụ: Phần mềm xử lý kỹ xảo hoạt hình như: 3D Animation, 3D Studio Max , phần mềm xử lý kỹ xảo ñiện ảnh: Adobe Primiere, Cool 3D, 1.1.5 Tổng quan hệ ñồ họa (Graphics System) 1.1.5.1 Hệ thống ñồ họa Phần mềm ñồ họa: Là tập hợp câu lệnh ñồ họa hệ thống Các câu lệnh lập trình dùng cho thao tác đồ họa khơng ngơn ngữ lập trình thông dụng PASCAL, C, hổ trợ Thông thường, cung cấp tập cơng cụ thêm vào ngôn ngữ Tập công cụ dùng ñể tạo thành phần sở hình ảnh đồ họa như: ðiểm, đoạn thẳng, đường trịn, màu sắc, Qua đó, nhà lập trình phải tạo chương trình đồ họa có khả ứng dụng cao Phần cứng ñồ họa: Là thiết bị điện tử: CPU, Card, hình, chuột, phím giúp cho việc thực phát triển phần mềm ñồ họa 1.1.5.2 Các thành phần hệ thống đồ họa Tập hợp cơng cụ phân loại dựa cơng việc hồn cảnh cụ thể: xuất, nhập, biến đổi ảnh, bao gồm: • Tập cơng cụ tạo ảnh gốc (output primitives): cung cấp công cụ cho việc xây dựng hình ảnh Các ảnh gốc bao gồm chuỗi ký tự, thực thể hình học điểm, đường thẳng, đa giác, đường trịn, • Tập cơng cụ thay đổi thuộc tính (attributes): dùng để thay đổi thuộc tính ảnh gốc Các thuộc tính ảnh gốc bao gồm màu sắc (color), kiểu ñường thẳng (line style), kiểu văn (text style), mẫu tô vùng (area filling pattern), Chương I Các yếu tố sở ñồ họa • Tập cơng cụ thay đổi hệ quan sát (viewing transformation): Một mà ảnh gốc thuộc tính xác định hệ tọa ñộ thực, ta cần phải chiếu phần quan sát ảnh sang thiết bị xuất cụ thể Các công cụ cho phép ñịnh nghĩa vùng quan sát hệ tọa độ thực để hiển thị hình ảnh • Tập cơng cụ phục vụ cho thao tác nhập liệu (input operations): Các ứng dụng ñồ họa sử dụng nhiều loại thiết bị nhập khác bút vẽ, bảng, chuột, Chính vậy, cần xây dựng thêm cơng cụ ñể ñiều khiển xử lý liệu nhập cho có hiệu Một yêu cầu phần cứng khơng thể thiếu đặt cho phần mềm đồ họa là: tính dễ mang chuyển (portability), có nghĩa chương trình chuyển đổi cách dễ dàng kiểu phần cứng khác Nếu chuẩn hóa, chương trình thiết kế thường khơng thể chuyển đổi đến hệ thống phần cứng khác mà khơng viết lại gần tồn chương trình Sau nổ lực tổ chức chuẩn hóa quốc tế, chuẩn cho việc phát triển phần mềm đồ họa đời: GKS (Graphics Kernel System - Hệ ñồ họa sở) Hệ thống ban ñầu ñược thiết kế tập cơng cụ đồ họa hai chiều, sau ñược phát triển ñể mở rộng ñồ họa ba chiều Ngồi ra, cịn có số chuẩn đồ họa phổ biến như: • CGI (Computer Graphics Interface System): hệ chuẩn cho phương pháp giao tiếp với thiết bị ngoại vi • OPENGL: thư viện đồ họa hảng Silicon Graphics • DIRECTX: thư viện đồ họa hảng Microsoft 1.2 MÀN HÌNH ðỒ HỌA Mỗi máy tính có CARD dùng để quản lý hình, gọi Video Adapter hay Graphics Adapter Có nhiều loại adapter như: CGA, MCGA, EGA, VGA, Hercules Các adapter làm việc hai chế độ: văn (Text Mode) đồ họa (Graphics Mode) Có nhiều cách ñể khởi tạo mode ñồ họa Ta sử dụng hàm $00 ngắt $10 BIOS với Mode sau: Chương I Các yếu tố sở đồ họa • Mode $12: chế độ phân giải 640x480x16 • Mode $13: chế độ phân giải 320x200x256 Ta viết thủ tục để khởi tạo chế ñộ ñồ họa sau: Procedure InitGraph(Mode:Word); var Reg:Registers; Begin reg.ah := 0; reg.al := mode; intr($10,reg); End; Các bạn tham khảo thêm tài liệu lập trình hệ thống 1.3 CÁC KHÁI NIỆM 1.3.1 ðiểm (Pixel) Trong hệ thống ñồ họa, ñiểm ñược biểu thị tọa độ số Ví du: Trong mặt phẳng, ñiểm cặp (x,y) Trong khơng gian ba chiều, điểm ba (x,y,z) Trên hình máy tính, điểm vị trí vùng nhớ hình dùng để lưu trữ thơng tin độ sáng điểm tương ứng hình Số điểm vẽ hình ñược gọi ñộ phân giải hình (320x200, 480x640, 1024x1024, ) Cách hiển thị thông tin lên hình đồ họa: Vùng đệm hình hay cịn gọi nhớ hiển thị ñược bắt ñầu từ ñịa A000h:$0000h Vì vậy, để hiển thị thơng tin hình ta cần đưa thơng tin vào vùng đệm hình địa Có nhiều cách để vẽ điểm hình: dùng phục vụ BIOS truy xuất trực tiếp vào vùng nhớ hình • Nếu dùng phục vụ BIOS, ta dùng hàm $0C ngắt $10: Procedure PutPixel(Col,Row:Word; Color:Byte); Var reg:Registers; Begin reg.ah:=$0C; reg.al:=Color; Chương I Các yếu tố sở ñồ họa reg.bh:=0; reg.cx:=Col; reg.dx:=Row; Intr($10,reg); End; • Nếu muốn truy xuất trực tiếp vào vùng ñệm hình: Giả sử điểm (x,y) vẽ hình với độ phân giải 320x200x256 (mode 13h), điểm ñó ñược ñịnh vị vùng ñệm bắt ñầu từ ñịa segment A000h ñịa offset ñược tính theo cơng thức: Offset = y*320 + x Ta viết thủ tục sau: Procedure PutPixel(x,y:Word; Color:Byte); Var Offset:Word; Begin Offset:=(y shl 8) + (y shl 6) + x; Mem[$A000:Offset]:=Color; End; 1.3.2 Các biểu diễn tọa ñộ Hầu hết chương trình đồ họa dùng hệ tọa độ Decartes (Hình 1.1) Ta biến đổi: O Y O MaxX Y X X MaxY Tọa ñộ giới thực Tọa độ thiết bị hình Hình 1.1 1.3.3 ðoạn thẳng Trong hệ thống ñồ họa, ñoạn thẳng biểu thị việc “tơ” đoạn thẳng bắt ñầu từ ñiểm ñầu mút kéo dài cho ñến gặp điểm đầu mút 1.4 CÁC THUẬT TỐN VẼ ðOẠN THẲNG Chương I Các yếu tố sở đồ họa 1.4.1 Bài tốn: Vẽ đoạn thẳng ñi qua ñiểm A(x1,y1) B(x2,y2) * Trường hợp x1=x2 y1=y2: ñơn giản * Trường hợp ñường thẳng có hệ số góc m: Ý tưởng: Vì Pixel vẽ vị trí ngun nên đường thẳng vẽ giống hình bậc thang (do làm trịn) Vấn đề đặt chọn tọa độ ngun gần với đường thẳng 1.4.2 Thuật tốn DDA (Digital differential analyzer) Xét đường thẳng có hệ số góc 01: ta hốn đổi vai trị x,y cho Nếu chọn ∆y=1 thì: xk+1 = xk + 1/m Tương tự, ñiểm B nằm bên trái A nằm bên phải thì: yk+1 = yk - m (01, ∆y= -1) Tóm lại: Ta có thuật tốn vẽ ñường thẳng DDA sau:  Nhập A(x1,y1) B(x2,y2)  Tính ∆x = x2 - x1 ∆y = y2 - y1 Step = Max(|∆x| , |∆y|)  Khởi tạo giá trị: IncX = ∆x/Step; x = x1; IncY = ∆y/Step; {bước tăng vẽ} {Chọn ñiểm vẽ ñầu tiên} y = y1; Vẽ ñiểm (x,y);  Cho i chạy từ ñến Step:  x = x + IncX;  Vẽ ñiểm (Round(x),Round(y)) y = y + IncY; Từ ñó ta có thủ tục vẽ ñoạn thẳng theo thuật toán DDA sau: Procedure DDALine(x1,y1,x2,y2:Integer); var dx,dy,step,i:integer; Chương I Các yếu tố sở ñồ họa xInc,yInc,x,y:real; Begin dx:=x2-x1; dy:=y2-y1; If abs(dx)>abs(dy) Then step:=abs(dx) else step:=abs(dy); xInc:=dx/step; yInc:=dy/step; x:=x1; y:=y1; Putpixel(round(x),round(y),15); for i:=1 to step Begin x:=x+xInc; y:=y+yInc; Putpixel(round(x),round(y),15); End; End; 1.4.3 Thuật toán Bresenham Phương trình đường thẳng phát biểu dạng: y = m.x + b (1) Phương trình đường thẳng qua ñiểm: x − x1 y − y1 = x − x1 y − y1 ðặt yi+ y (*) yi ∆x = x2 - x1 ∆y = y2 - y1 (*) ⇔ y = x Suy m = xi ∆y ∆y + y1 - x1 ∆x ∆x ∆y ∆x xi+1 Hình 1.2 ∆y = m ∆x (2) b = y1 - m.x1 (3) nên Ta xét trường hợp hệ số góc 0

Ngày đăng: 27/02/2023, 19:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN