Bài giảng Đồ họa máy tính: Chương 3 - ThS. Trần Thị Minh Hoàn

29 38 0
Bài giảng Đồ họa máy tính: Chương 3 - ThS. Trần Thị Minh Hoàn

Đ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

Bài giảng Đồ họa máy tính: Chương 3 Thuật toán cắt xén, tô màu, phông chữ cung cấp cho người học những kiến thức như: Quy trình hiển thị đối tượng 2D; Các thuật toán cắt xén; Thuật toán cắt xén đoạn thẳng; Thuật toán Sutherland-Cohen; Thuật toán cắt xén vùng;...Mời các bạn cùng tham khảo!

Chương 3: Thuật tốn cắt xén, tơ màu, phơng chữ Quy trình hiển thị đối tượng 2D Phép biến đổi hệ quan sát với cửa sổ vùng quan sát có dạng hình chữ nhật I Các thuật toán cắt xén  Cắt xén với cửa sổ hình chữ nhật  Điểm ảnh  Cắt xén đoạn thẳng  Cắt xén đa giác Thuật toán cắt xén đoạn thẳng  Các giải pháp:    Kiểm tra pixel đoạn thẳng có chữ nhật? Tính tốn điểm cắt đoạn thẳng với cạnh chữ nhật cắt xén Thuật toán Sutherland-Cohen: loại bỏ đoạn không cần cắt xén xét tọa độ đầu mút đoạn thẳng -> đơn giản hiệu Thuật toán Sutherland-Cohen   Mã hóa đầu mút đoạn thẳng Xác định nhanh đoạn thẳng có cần cắt xén hay khơng nhờ phép tốn logíc AND OR bit bit bit bit Endpoint codes OR - left right below above AND Meaning 0000 0000 0000 0000 No clipping (1) 0001 0001 0001 0001 No clipping (2) 1001 0001 1001 0001 No clipping (3) 1001 0100 1101 0000 Partly visible (4) Thuật toán Sutherland-Cohen    Kết phép OR hai mã đầu mút đoạn thẳng cho kết 0: hai điểm nằm chữ nhật Kết phép AND hai mã đầu mút đoạn thẳng cho kết khác 0: hai điểm nằm chữ nhật Cắt xén:  Giao đoạn thẳng với cạnh chữ nhật song song trục tung  x có giá trị Xmin, Xmax hệ số góc a= (y2-y1)/(x2-x1) y=y1 + a(x - x1) (Xmin,Ymin)  (x2, y2) Giao đoạn thẳng với cạnh song song trục hoành  y có giá trị Ymin, Ymax hệ số góc x=x1 + (y - y1)/a (Xmax,Ymax) (x1, y1) Mã hóa hai đầu đoạn thẳng AB, với A (3,2) B(-4,1), tọa độ cửa sổ cắt xén có góc trái (-3,-2) góc phải (2,3) Xác định đoạn thẳng nằm csht Thuật toán cắt xén vùng  Input:    Output:   Chữ nhật cắt xén Vùng đa giác xác định trật tự cặp tọa độ Các đa giác nằm cửa sổ cắt xén Ý tưởng thuật toán  So sánh đỉnh đa giác với biên cửa sổ    đỉnh nằm ngoài, loại bỏ đỉnh nằm trong, lưu trữ lại làm kết tính giao điểm cạnh đa giác vùng với cạnh chữ nhật Thuật toán cắt xén vùng  Duyệt (td theo chiều kim đồng hồ) cạnh đa giác  Nếu đỉnh duyệt xuất phát từ cửa sổ theo cạnh đa giác cửa sổ: lưu trữ giao cạnh đa giác với biên cửa sổ  Nếu đường từ vào cửa sổ: lưu trữ đỉnh đa giác giao điểm  Thí dụ xét hai đỉnh đa giác S P: S P S P S P P a) Lưu P I I b) Lưu I S c) Khơng lưu d) Lưu I, P 10 Thuật tốn tô màu theo đường quét  Tối ưu chuyển đổi đường quét   Sử dụng đồng thời thuật toán Bresenham hay thuật toán trung điểm vẽ đoạn thẳng Các trường hợp đặc biệt 15 So sánh thuật toán tô màu Flood Fill Scan Conversion Đơn giản Phức tạp Thuật tốn rời rạc hóa khơng gian hình Thuật tốn rời rạc hóa đối tượng hoặc/và khơng gian hình u cầu gọi hệ thống GetPixel/Val Độc lập với thiết bị Địi hỏi điểm seed Khơng đòi hỏi điểm seed Yêu cầu stack lớn Yêu cầu stack nhỏ 16 III Phông chữ     Một vài khái niệm phông chữ Phông bitmap (raster) Phông véctơ Phông True Type 17 Các khái niệm sở   Phông chữ Guttenberg thiết kế Được sử dụng từ nhiều kỷ Ngày phong phú Phông tập đầy đủ ký tự có chung kiểu dáng (style)      Weight (Độ dày): light, normal, bold Shape (Hình dạng): round, oval, straight Posture (Dáng chữ): Oblique, Italic Serif, sans-serif Font family  Có face name (thí dụ Times Bold, Times Italic) cho biết weight posture (không cho biết size) 18 Các loại phơng  Cơng nghiệp máy tính sử dụng loại phông  Phông bitmap (raster)  Phông véctơ  Phông TrueType 19 Raster fonts     Là loại phông hình máy tính Ngày sử dụng Ban đầu font bitmap nhúng vỉ điều khiển hình, máy in Ánh xạ bố trí pixels ký tự lên hình  Mỗi bit bitmap bật sáng điểm ảnh CRT Offset Hex value Binary value 00h 00000000 3Ch 00111100 18h 00011000 18h 00011000 18h 00011000 18h 00011000 3Ch 00111100 00h 00000000 20 Raster fonts   Có độ rộng độ cao cố định Lưu trữ: tách biệt ảnh phơng Vị trí byte thứ khối bitmap font: Offset = (ASCII code) * (Bytes per character)  Ưu điểm    Hiển thị nhanh Dễ tạo lập dễ sửa đổi Nhược điểm   Vấn đề co dãn Dung lượng lưu trữ lớn 21 Ví dụ GLubyte rasters[24] = {0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00,0xff, 0x00, 0xff, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xff, 0xc0, 0xff, 0xc0}; 22 Cú pháp lệnh glBitmap: void glBitmap(GLsizei width, GLsizei height, GLfloat xbo, GLfloat ybo, GLfloat xbi,GLfloat ybi, const GLubyte *bitmap); glBitmap (10, 12, 0.0, 0.0, 11.0, 0.0, rasters); 23 glRasterPos2i(20, 20); void glRasterPos{234}{sifd}v(TYPE *coords); Thiết lập vị trí điểm Các đối số x,y,z,w tọa độ vị trí điểm Nếu dạng vectơ hàm sử dụng, mảng tọa độ chứa tọa độ vị trí điểm Nếu glRasterPos2*() sử dụng, z ngầm định w ngầm định 1; tượng tự với glRasterPos3*(), w đặt 24 Vector fonts   Không sử dụng Bitmap để mô tả ký tự Sử dụng ngơn ngữ mơ tả     Ưu điểm   Ngôn ngữ mô tả bao gồm lệnh Line, Curve, Polygon Tọa độ: tương đối chữ nhật chứa ký tự Chương trình xử lý lệnh để hiển thị Dễ co giãn, có tính propotional, trơn tru, dễ tạo lập hiệu ứng đặc biệt: xoay, gập, cong Nhược điểm:   Khi hiển thị font nhỏ: chậm bitmap font Vấn đề hiển thị font nét chữ dày 25 True Type fonts    True Type công nghệ font Apple Computer Inc (1987); Tác giả: Kathryn Weisberg, Sampo Kaasila MS bắt đầu sử dụng True Type vào đầu 1992 Windows 3.1 Công nghệ True Type bao gồm:    Các tệp chứa True Type Fonts (TTF) Bộ raster hóa True Type hệ điều hành (MacOS, Windows ) trước hiển thị, in giấy OpenType: 5-1996 MS Adobe System kết hợp công nghệ True Type với PostScript 26 True Type fonts   Sử dụng đường thẳng đường cong nội suy spline Bezier để vẽ ký tự Tệp TTF chứa    Mơ tả hình dạng ký tự Các thông tin khác: tên font, quyền, hãng sản xuất MS chọn font True Type font hệ điều hành Windows 27 True Type fonts  MS Windows sử dụng TTF?   Nạp font từ tệp Trình Scaler:   Trình Interpreter:   Biến đổi đường cong để hình thành đường viền hiệu chỉnh Trình Scan-converter:   Co dãn đường viền đến kích thước yêu cầu theo mật độ cho trước thiết bị Tô đường viền hiệu chỉnh pixel để tạo bitmap cho chữ đặc Hiển thị / in bitmap ký tự 28 Thực hành 29 ... y1)/a (Xmax,Ymax) (x1, y1) Mã hóa hai đầu đoạn thẳng AB, với A (3, 2) B (-4 ,1), tọa độ cửa sổ cắt xén có góc trái ( -3 , -2 ) góc phải (2 ,3) Xác định đoạn thẳng nằm csht Thuật toán cắt xén vùng  Input:... Xmin, Xmax hệ số góc a= (y2-y1)/(x2-x1) y=y1 + a(x - x1) (Xmin,Ymin)  (x2, y2) Giao đoạn thẳng với cạnh song song trục hoành  y có giá trị Ymin, Ymax hệ số góc x=x1 + (y - y1)/a (Xmax,Ymax) (x1,... (P, x-1, y, C); FloodFill (P, x, y-1, C); End; 12 Thuật tốn tơ màu theo đường quét  Ý tưởng: Sử dụng giao điểm biên đa giác đường quét để nhận pixel có đa giác? scan line 2 ,3  scan line 2 ,3 Thuật

Ngày đăng: 26/10/2021, 13:22

Hình ảnh liên quan

 Là loại phông đầu tiên của màn hình máy tính - Bài giảng Đồ họa máy tính: Chương 3 - ThS. Trần Thị Minh Hoàn

lo.

ại phông đầu tiên của màn hình máy tính Xem tại trang 20 của tài liệu.
 Mô tả hình dạng ký tự - Bài giảng Đồ họa máy tính: Chương 3 - ThS. Trần Thị Minh Hoàn

t.

ả hình dạng ký tự Xem tại trang 27 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan