1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình kỹ thuật đồ họa

157 503 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 157
Dung lượng 3,46 MB

Nội dung

Giáo trình kỹ thuật đồ họa Biên tập bởi: Lâm Thị Ngọc Châu Giáo trình kỹ thuật đồ họa Biên tập bởi: Lâm Thị Ngọc Châu Các tác giả: Lâm Thị Ngọc Châu Phiên trực tuyến: http://voer.edu.vn/c/6f8cfe5f MỤC LỤC Giới thiệu thuật toán vẽ tô đường Các thuật toán tô màu Phép biến đổi đồ họa hai chiều Tạo cửa sổ (windowing) Cắt hình (Sclipping ) Đồ họa ba chiều Quan sát ảnh chiều Các thao tác quan sát ảnh chiều Khử mặt khuất đường khuất 10 Phương pháp Octree Tham gia đóng góp 1/155 Giới thiệu thuật toán vẽ tô đường Tổng quan • Mục tiêu 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 • 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 Bresenham ◦ Đường thẳng giải thuật DDA ◦ Đườ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 • 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 quát 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 quát đường tròn, ellippse ( 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ị) 2/155 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 Ngoà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 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 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) 3/155 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 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 Độ phân giải hình chế độ đồ họa 640x480 Khi đó, x∈(0,640) y∈(0,480) (xem hình 2) 4/155 Hệ tọa độ hình 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 vuông đơn vị có góc trái (0, 0) góc phải (1, 1) Quá trình mô tả đối tượng thực sau (xem hình 3): Hệ tọa độ hình 5/155 Thuật toán vẽ đoạn thẳng Xét đoạn thẳng có hệ số góc 0[...]... đối xứng ) 9 Viết chương trình vẽ đường tròn theo giải thuật Bresenham 10 Viết chương trình vẽ đường tròn theo giải thuật MidPoint 11 Viết chương trình vẽ một đường tròn tâm O bán kính R Vẽ các đường tròn đồng tâm với O, có bán kính chạy từ 1 đến R Sau đó xoá các đường tròn đồng tâm này và vẽ các đường tròn đồng tâm khác đi từ R đến 1 12 Viết chương trình vẽ một đường tròn tâm O bán kính R Hãy vẽ một... chương trình nhập tọa độ 3 điểm A, B, C từ bàn phím Tìm tọa độ điểm D thuộc AB sao cho CD vuộng góc AB Vẽ đoạn thẳng AB và CD 7 Viết chương trình xét vị trí tương đối của 2 đoạn thẳng AB và CD Biết rằng trong màn hình đồ họa đoạn thẳng AB và CD được gọi là cắt nhau khi hai điểm A, B ở về hai phía của CD và ngược lại 8 Viết chương trình vẽ đường tròn theo giải thuật đơn giản ( đối xứng ) 9 Viết chương trình. .. = F(1, R - 1/2) = 5/4 -R 15/155 Lưu đồ thuật toán MidPoint vẽ đường tròn Minh họa thuật toán MidPoint: Procedure DTR(xc,yc,mau:integer); var x, y, p : integer ; begin x:=0 ; y:=r; p:=1 - r; while ( y > x) do begin doi_xung; if (p < 0) then p:=p+2*x+3 else begin p:=p+2*(xy)+5 ; y:=y-1; end; x:=x+1; end; {while} end; Vẽ đường tròn bằng thuật toán Bresenham Tương tự thuật toán vẽ đường thẳng Bresenham,... chương trình vẽ Elippse 14 Viết chương trình vẽ Elippse có bán kính lớn là a, bán kính nhỏ là b và một đường tròn nội tiếp Elippse Tô đường tròn bằng các đường tròn đồng tâm Sau đó tô elippse bằng các elippse đồng tâm có bán kính lớn chạy từ b đến a, bán kính nhỏ là b 15 Viết chương trình vẽ một hình chữ nhật, một hình vuông và một hình bình hành Yêu cầu chú thích tọa độ các đỉnh 16 Viết chương trình. .. x0 , y0 ) = (0,R) là: P0= 3 - 2R Minh họa thuật toán vẽ đường tròn bằng Bresenham Procedure DTR_BRES(xc,yc,r,mau: integer); var x,y,p:integer; begin x:=0; y:=r; p:= 3- 2*r; while( x

Ngày đăng: 08/06/2016, 21:08

TỪ KHÓA LIÊN QUAN