Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
97
Dung lượng
889,8 KB
Nội dung
Chương 1: Giới thiệu thuật tốn vẽ tơ đường Lời nói đầu Đồ họa máy tính đời kết hợp lĩnh vực thơng tin truyền hình Đầu tiên kỹ thuật đồ họa phát triển nhóm kỹ sư sử dụng máy tính lớn Trong giai đoạn đầu phát triển người ta phải tốn nhiều tiền cho việc trang bị thiết bị phần cứng Ngày nay, nhờ vào tiến vi xử lý, giá thành máy tính lúc phù hợp với túi tiền người sử dụng kỹ thuật ứng dụng đồ họa ngày cao nên có nhiều người quan tâm nghiên cứu đến lĩnh vực Chúng ta vẽ hình ảnh khơng ảnh tĩnh mà biến đổi thành hình ảnh sinh động qua phép quay, tịnh tiến Do vậy, đồ họa máy tính trở thành lĩnh vực lý thú có nhiều ứng dụng thực tế Tuy nhiên, việc dạy học kỹ thuật đồ họa khơng đơn giản chủ đề có nhiều phức tạp Kỹ thuật đồ họa liên quan đến tin học tốn học hầu hết giải thuật vẽ, tơ phép biến hình xây dựng dựa tảng hình học khơng gian hai chiều ba chiều Hiện nay, Kỹ thuật đồ họa môn học giảng dạy cho sinh viên chuyên ngành Tin học với 45 tiết lý thuyết 15 tiết thực tập Nội dung giáo trình kỹ thuật đồ họa tập trung vào vấn đề sau : - Trình bày thuật tốn vẽ tô đường đường thẳng, đa giác, đường tròn, ellipse đường conic Các thuật tốn giúp cho sinh viên tự thiết kế để vẽ tơ hình ( chương 2) - Nội dung thứ hai đề cập đến đồ họa hai chiều đồ họa ba chiều bao gồm phép biến đổi Affine, windowing clipping, quan sát ảnh ba chiều qua phép chiếu, khử mặt khuất đường khuất, thiết kế đường cong mặt cong (từ chương đến chương 7) Giáo trình kỹ thuật đồ họa sửa đổi cập nhật dựa kinh nghiệm giảng dạy qua xây dựng dựa tài liệu tham khảo : Donald Hearn, M Pauline Baker; Computer Graphics; Prentice-Hall, Inc., Englewood Cliffs, New Jersey , 1986 Sau cùng, chúng tơi hy vọng giáo trình đóng góp tích cực việc cải tiến hiểu biết sinh viên lĩnh vực đồ họa mong nhận góp ý đồng nghiệp sinh viên để công việc biên soạn ngày tốt Trang Chương 1: Giới thiệu thuật tốn vẽ tơ đường Mục lục 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 1.2 Hệ tọa độ giới thực, hệ tọa độ thiết bị hệ tọa độ chuẩn 1.3 Thuật toán vẽ đoạn thẳng 1.3.1 Thuật toán DDA (Digital DifferentialAnalyzer) 10 1.3.2 Thuật toán Bresenham 13 1.4 Thuật tốn vẽ đườ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ẽ đường tròn thuật toán Bresenham 21 1.4.4 Thuật toán vẽ Ellipse .22 1.4.5 Vẽ đường conics số đường cong khác 24 1.4.6 Vẽ đa giác 25 1.4.7 Tổng kết chương 28 1.4.8 Bài tập chương .28 Chương : CÁC THUẬT TỐN TƠ MÀU 31 2.1 Tổng quan .31 2.2 Các không gian màu .31 2.2.1 Không gian màu RGB (Red - Green - Blue) 31 2.2.2 Không gian 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 tốn tơ màu .33 2.3.1 Tô đơn giản 33 2.3.2 Tô màu theo dòng quét (scan - line) 38 2.3.3 Phương pháp tô màu dựa theo đường biên 42 2.4 Tổng kết chương 45 2.5 Bài tập chương 46 Chương : PHÉP BIẾN ĐỔI TRONG ĐỒ HỌA HAI CHIỀU 47 U 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 Tổng quan .47 Phép tịnh tiến (translation) 47 Phép biến đổi tỷ lệ 48 Phép quay 49 Phép đối xứng 51 Phép biến dạng 51 Phép biến đổi Affine ngược ( The inverse of an Affine transformation) .52 Một số tính chất phép biến đổi affine 53 Hệ tọa độ .53 Kết hợp phép biến đổi (composing transformation) 54 Tổng kết chương 55 Bài tập chương 55 Chương 58 WINDOWING CLIPPING 58 4.1 4.2 Tổng quan .58 Các khái niệm Windowing .58 Trang Chương 1: Giới thiệu thuật tốn vẽ tơ đường 4.3 4.4 4.5 4.6 Các thuật toán Clipping 63 Phép biến đổi từ cửa sổ - đến – vùng quan sát .84 Tổng kết chương 86 Bài tập chương 86 Chương : ĐỒ HỌA BA CHIỀU 88 U 5.1 Tổng quan .88 5.2 Giới thiệu đồ họa chiều 88 5.3 Biểu diễn đối tượng chiều 90 5.4 Các phép biến đổi chiều .95 5.4.1 Hệ tọa độ bàn tay phải - bàn tay trái .95 5.4.2 Các phép biến đổi Affine sở .95 5.5 Tổng kết chương 97 Chương : QUAN SÁT ẢNH BA CHIỀU 98 U 6.1 Tổng quan .98 6.2 Các phép chiếu 98 6.2.1 Các phép chiếu song song .100 6.2.2 Các 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 định mặt phẳng quan sát .108 6.3.2 Không gian quan sát 112 6.3.3 Clipping 115 6.4 Cài đặt thao tác quan sát (Implementation of Viewing Operations) 116 6.5 Cài đặt phần cứng 125 6.6 Lập trình xem ảnh ba chiều 126 6.7 Các mở rộng đến Đường ống quan sát (Viewing Pipeline) 130 6.8 Tổng kết chương 130 6.9 Bài tập chương 131 Chương 134 KHỬ CÁC MẶT KHUẤT VÀ ĐƯỜNG KHUẤT 134 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 Tổng quan .134 Khử mặt nằm sau (Back-Face Removal) .135 Phương pháp dùng vùng đệm độ sâu (Depth-Buffer Method) .138 Phương pháp đường quét (Scan-Line Method) 140 Phương pháp xếp theo độ sâu (Depth- Sorting Method) 143 Phương pháp phân chia vùng (Area- Subdivision Method) 147 Các phương pháp Octree (Octree Methods) 150 Loại bỏ đường bị che khuất 154 Tổng kết chương 156 Bài tập chương .157 Trang Chương 1: Giới thiệu thuật tốn vẽ tơ đường PHẦN TỔNG QUAN Mục đích yêu cầu Sau học xong môn này, sinh viên cần đạt yêu cầu sau: - Hiểu đồ họa máy tính - Thiết kế cài đặt thuật toán vẽ đường đường thẳng, đường tròn, - Thiết kế cài đặt thuật tốn tơ hình - Sử dụng phép biến hình không gian chiều, chiều để làm thay đổi hình ảnh có sẳn - Có thể tạo cửa sổ để cắt - dán hình - Hiểu khái niệm tiếp cận để mô hình ảnh khơng gian chiều máy tính Đối tượng sử dụng Mơn kỹ thuật đồ họa giảng dạy cho sinh viên năm thứ tư khoa sau: - Chuyên ngành công nghệ thông tin - Chuyên ngành điện tử (viễn thông, tự động hóa, ) - Chun ngành sư phạm (Tốn tin, Lý tin ) Nội dung cốt lõi Giáo trình Kỹ thuật đồ họa bao gồm chương - Chương 1: Giới thiệu thuật tốn vẽ tơ đường - Chương 2: Các thuật tốn tơ màu - Chương 3: Phép biến đổi đồ họa chiều - Chương 4: Tạo cửa sổ cắt hình - Chương 5: Đồ họa chiều - Chương 6: Quan sát ảnh chiều - Chương 7: Khử mặt khuất đường khuất Kiến thức tiên - Kiến thức hình học khơng gian hình giải tích - Kiến thức lập trình bản, lập trình đồ họa - Kiến thức cấu trúc liệu, lập trình đệ qui Trang Chương 1: Giới thiệu thuật tốn vẽ tơ đường Danh 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ũ Mạnh Tường, Dương Anh Đức, Trần Đan Thư, Lý Quốc Ngọc Giáo trình Nhập mơn đồ họa & xử lý ảnh.1995 - VERA B.ANAND, người dịch TS Nguyễn Hữu Lộc Đồ họa máy tính Mơ hình hóa hình học Nhà xuất Thành Phố Hồ Chí Minh - 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 đồ họa Nhà xuất khoa học kỹ thuật, Hà nội - 2000 Trang Chương 1: Giới thiệu thuật tốn vẽ tơ đường Chương 1: GIỚI THIỆU THUẬT TỐN VẼ VÀ TƠ CÁC ĐƯỜNG CƠ BẢN 1.1 Tổng quan • Mục tiêu chương Học xong chương này, sinh viên phải nắm bắt vấn đề sau: - Thế hệ đồ họa - Thiết kế cài đặt thủ tục vẽ tô đường đường thẳng, đường tròn, elip, đường cong khác • Kiến thức cần thiết Các kiến thức cần thiết để học chương bao gồm : - Các khái niệm toán học đường thẳng : đường thẳng : dạng tổng qt phương trình đường thẳng, hệ số góc, tung độ dốc - Hiểu rõ hình dáng đường thẳng phụ thuộc vào hệ số góc - Phương trình tổng qt đường tròn, ellippse ( khơng có tham số có tham số) - Kĩ thuật lập trình: thiết lập thủ tục, hàm (lưu ý truyền qui chiếu 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 Thiết lập thủ tục vẽ : - Đường thẳng giải thuật DDA - Đường thẳng giải thuật Bresenham - Đường tròn giải thuật đối xứng - Đường tròn giải thuật Bresenham - Đường tròn giải thuật MidPoint - Ellippse - Đa giác Trang Chương 1: Giới thiệu thuật toán vẽ tô đường 1.2 Hệ tọa độ giới thực, hệ tọa độ thiết bị hệ tọa độ chuẩn Một hệ mềm đồ họa mô tả bao gồm miền sau : - Miền điều khiển : bao bọc toàn hệ thống - Miền thực : nằm miền điều khiển Khi số thâm nhập vào miền thực, chuyển thành số thực dấu phẩy động, có số rời khỏi miền chuyển thành số nguyên có dấu 16 bits - Miền hiển thị : nằm miền điều khiển phân biệt với miền thực Chỉ có số nguyên 16 bits nằm miền hiển thị Trong lĩnh vực kỹ thuật đồ họa, phải hiểu thực chất đồ họa làm để mơ tả biến đổi đối tượng giới thực máy tính Bởi vì, đối tượng giới thực mô tả tọa độ thực Trong đó, hệ tọa độ thiết bị lại sử dụng hệ tọa độ nguyên để hiển thị hình ảnh Đây vấn đề cần giải Ngồi ra, có khó khăn khác với thiết bị khác có định nghĩa khác Do đó, cần có phương pháp chuyển đổi tương ứng hệ tọa độ đối tượng phải định nghĩa thành phần đơn giản để mơ tả gần với hình ảnh thực bên ngồi Hai mơ hình ứng dụng đồ họa dựa mẫu số hóa dựa đặc trưng hình học Trong ứng dụng đồ họa dựa mẫu số hóa đối tượng đồ họa tạo lưới pixel rời rạc Các pixel đuợc tạo chương trình vẽ, máy quét, Các pixel mơ tả tọa độ xác định vị trí giá trị mẫu Thuận lợi ứng dụng dể dàng thay đổi ảnh cách thay đổi màu sắc hay vị trí pixel, di chuyển vùng ảnh từ nơi sang nơi khác Tuy nhiên, điều bất lợi xem xét đối tượng từ góc nhìn khác Ứng dụng đồ họa dựa đặc trưng hình học bao gồm đối tượng đồ họa sở đoạn thẳng, đa giác, Chúng lưu trữ mơ hình thuộc tính Ví dụ : đoạn thẳng mơ hình hai điểm đầu cuối, có thuộc tính màu sắc, độ dày Người sử dụng không thao tác trực tiếp pixel mà thao tác thành phần hình học đối tượng a Hệ tọa độ giới thực: Một hệ tọa độ thực thường dùng để mô tả đối tượng giới thực hệ tọa độ Descartes Với hệ tọa độ này, điểm P biểu diễn cặp tọa độ (xp,yp) với xp, yp ∈R (xem hình 1.1) Trang Chương 1: Giới thiệu thuật tốn vẽ tô đường Y yp O P(xp,yp) X xp Hình 1.1 : Hệ tọa độ thực Ox : gọi trục hoành Oy : gọi trục tung xp : hoành độ điểm P yp : tung độ điểm P b Hệ tọa độ thiết bị Hệ tọa độ thiết bị (device coordinates) dùng cho thiết bị xuất cụ thể đó, ví dụ máy in, hình, Trong hệ tọa độ thiết bị điểm mô tả cặp tọa độ (x,y) Tuy nhiên, khác với hệ tọa độ thực x, y ∈ N Điều có nghĩa điểm hệ tọa độ thực định nghĩa liên tục, điểm hệ tọa độ thiết bị rời rạc Ngoài ra, tọa độ x, y hệ tọa độ thiết bị biểu diễn giới hạn N Ví dụ : Độ phân giải hình chế độ đồ họa 640x480 Khi đó, x∈(0,640) y∈(0,480) (xem hình 1.2) (0,0) (0, 480) (640,0) (640,480) Hình 1.2 : Hệ tọa độ hình Trang Chương 1: Giới thiệu thuật tốn vẽ tô đường c Hệ tọa độ thiết bị chuẩn (Normalized device coordinates) Do cách định nghĩa hệ tọa độ thiết bị khác nên hình ảnh hiển thị thiết bị xác chưa hiển thị xác thíết bị khác Người ta xây dựng hệ tọa độ thiết bị chuẩn đại diện chung cho tất thiết bị để mơ tả hình ảnh mà khơng phụ thuộc vào thiết bị Trong hệ tọa độ chuẩn, tọa độ x, y gán giá trị đoạn từ [0,1] Như vậy, vùng không gian hệ tọa độ chuẩn hình vng đơn vị có góc trái (0, 0) góc phải (1, 1) Q trình mơ tả đối tượng thực sau (xem hình 1.3): Ảnh định nghĩa tọa độ giới thực hình Tọa độ chuẩn hóa Tọa độ thiết bị máy in thiết bị khác Hình 1.3 : Hệ tọa độ hình 1.3 Thuật tốn vẽ đoạn thẳng Xét đoạn thẳng có hệ số góc 0