Giáo trình Đồ họa máy tính - Hiển thị đối tượng hai chiều
· Cửa sổ (window) là một vùng được chọn để hiển thị
trong hệ tọa độ thế giới thực.
· Vùng quan sát (viewport) là vùng được chọn trên
thiết bị hiển thị để các đối tượng ở trong cửa sổ ánh
xạ vào.
· Cửa sổ xác định cái gìđược thấy trên thiết bị hiển
thị, còn vùng quan sát xác định nơi nào nó sẽ được
hiển thị.
· Quá trình ánh xạ một vùng định nghĩa trong hệ tọa
độ thế giới thực vào một vùng trong hệ tọa độ thiết
bị được gọi là phép biến đổi hệ quan sát (viewing
transformation).
ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Hiển thị đối tượng hai chiều 1/7 Hiểån thị đốái tượïng hai chiềàu Mộät sốá kháùi niệäm · Cửa sổ (window) là một vùng được chọn để hiển thị trong hệ tọa độ thế giới thực. · Vùng quan sát (viewport) là vùng được chọn trên thiết bị hiển thị để các đối tượng ở trong cửa sổ ánh xạ vào. · Cửa sổ xác định cái gì được thấy trên thiết bị hiển thị, còn vùng quan sát xác định nơi nào nó sẽ được hiển thị. · Quá trình ánh xạ một vùng định nghĩa trong hệ tọa độ thế giới thực vào một vùng trong hệ tọa độ thiết bị được gọi là phép biến đổi hệ quan sát (viewing transformation). xwmin xwmax ywmin ywmax Window xvmin xvmax yvmin yvmax Viewport ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Hiển thị đối tượng hai chiều 2/7 Qui trình hiểån thị đốái tượïng hai chiềàu · Trước tiên, các đối tượng sẽ được mô tả bằng các đối tượng đồ họa cơ sở và các thuộc tính của chúng trong từng hệ tọa độ cục bộ (modeling coordinates - MC) nhằm đơn giản hóa và tận dụng các đặc trưng riêng của từng loại. · Sau đó, chúng ta sẽ dùng các phép biến đổi hệ tọa độ để chuyển các mô tả từ các hệ tọa độ cục bộ này sang một hệ tọa độ thế giới thực (world coordinates - WC) duy nhất chứa toàn bộ các đối tượng thành phần. Phép chuyển đổi này được gọi là phép chuyển đổi mô hình (modeling coordinates transformation). · Tiếp theo, chúng ta sẽ định một hệ tọa độ quan sát (viewing coordinates - VC), là hệ tọa độ mô tả vị trí của người quan sát đối tượng. Nhờ việc sử dụng hệ tọa độ này mà cùng một mô tả, các đối tượng có thể được quan sát ở nhiều góc độ và vị trí khác nhau. · Sau khi chuyển các mô tả đối tượng từ hệ tọa độ thế giới thực sang hệ tọa độ quan sát, chúng ta sẽ định nghĩa cửa sổ trong hệ tọa độ này, đồng thời định nghĩa vùng quan sát trong hệ tọa độ thiết bị chuẩn (normalized device coordinates - NDC) có tọa độ các chiều thay đổi trong khoảng từ 0 đến 1. · Sau khi thực hiện phép ánh xạ từ cửa sổ sang vùng quan sát, tất cả các phần của đối tượng nằm ngoài vùng quan sát sẽ bị xén (clip) và toàn bộ những gì nằm trong vùng quan sát sẽ được ánh xạ sang hệ tọa độ thiết bị (device coordinates - DC). ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Hiển thị đối tượng hai chiều 3/7 · Việc đưa ra hệ tọa độ thiết bị chuẩn nhằm giúp cho việc tương thích dễ dàng với nhiều loại thiết bị hiển thị khác nhau. · Bằng cách thay đổi vị trí của vùng quan sát chúng ta có thể quan sát các đối tượng tại các vị trí khác nhau trên màn hình hiển thị, đồng thời, bằng cách thay đổi kích thước của vùng quan sát, chúng ta có thể thay đổi kích thước và tính cân xứng của các đối tượng được hiển thị. · Chúng ta có thể thực hiện các hiệu ứng thu phóng bằng cách ánh xạ các cửa sổ có kích thước khác nhau vào vùng quan sát có kích thước cố định. Khi các cửa sổ được thu nhỏ, phần nằm trong cửa sổ sẽ được phóng to giúp chúng ta dễ dàng quan sát các chi tiết mà không thể thấy được trong các cửa sổ lớn hơn. MC WC Chuyển đổi từ hệ tọa độ thế giới thực sang hệ tọa độ quan sát Chuyển đổi từ hệ tọa độ cục bộ sang hệ tọa độ thế giới thực VC Chuyển đổi từ hệ tọa độ quan sát sang hệ tọa độ thiết bị chuẩn NDC Ánh xạ từ hệ tọa độ thiết bị chuẩn sanghệ tọa độ thiết bị DC ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Hiển thị đối tượng hai chiều 4/7 Hệä tọïa độä quan sáùt · Hệ tọa độ quan sát : ¨ Chọn điểm ( )000 , yxP trong hệ tọa độ thế giới thực làm gốc tọa độ. ¨ Vector V mô tả hướng quan sát để định hướng cho trục tung vy của hệ tọa độ. Vector V được gọi là view-up vector. · Từ V chúng ta có thể tính được các vector đơn vị ( )yx vvv ,= và ( )yx uuu ,= tương ứng cho các trục tung vy và trục hoành vx của hệ tọa độ. Các vector đơn vị này sẽ được dùng để tạo thành hai dòng đầu tiên của ma trận quay RM để đưa các trục vv yx trùng với các trục ww yx của hệ trục tọa độ thế giới thực. · Ma trận của phép chuyển một điểm trong hệ tọa độ thế giới thực sang hệ tọa độ quan sát : RTVCWC MMM =, , với MT là phép tịnh tiến gốc tọa độ hệ quan sát về gốc tọa độ hệ tọa độ thế giới thực. R yworld yview xview xworld (b) xworld yworld y0 x0 xview yview (a) T ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Hiển thị đối tượng hai chiều 5/7 Hệä tọïa độä thiếát bị chuẩån · Do cách định nghĩa của các hệ tọa độ thiết bị khác nhau nên một hình ảnh hiển thị được trên thiết bị này chưa chắc hiển thị chính xác trên thiết bị kia. Chính vì vậy cần phải xây dựng hệ tọa độ thiết bị chuẩn đại diện chung cho các thiết bị để có thể mô tả các hình ảnh của thế giới thực mà không phụ thuộc vào bất cứ thiết bị nào. · Trong hệ tọa độ này, các tọa độ x, y sẽ được gán các giá trị trong khoảng từ 0 đến 1. Như vậy, vùng không gian của hệ tọa độ thiết bị chuẩn chính là hình vuông đơn vị có góc trái dưới là (0,0) và góc phải trên (1,1). 1 1 x y (1,1) ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Hiển thị đối tượng hai chiều 6/7 Chuyểån đổåi từø cửûa sổå sang vùøng quan sáùt · Phép chuyển đổi từ cửa sổ sang vùng quan sát bao gồm 3 phép biến đổi : ¨ Phép tịnh tiến để dịch chuyển góc trái dưới về gốc tọa độ (hình a) ¨ Phép biến đổi tỉ lệ để chỉnh kích thước của cửa sổ về cùng kích thước của vùng quan sát (hình b, hình c) ¨ Phép tịnh tiến dịch chuyển về góc trái dưới của vùng quan sát (hình d). · Ta có ma trận của phép biến đổi : ( ) ( )minmin minmax minmax minmax minmax minmin ,,, vuMyy vv xx uu MyxMM TVSTWWV ÷÷ ø ư çç è ỉ - - - - --= ÷ ÷ ÷ ÷ ÷ ÷ ÷ ø ư ç ç ç ç ç ç ç è ỉ + - - -+ - - - - - - - = 1 00 00 min minmax minmax minmin minmax minmax min minmax minmax minmax minmax v yy vv yu xx uu x yy vv xx uu x y (xmax,ymax) (xmin,ymin) (a) x y (b) u v (c) u v (d) (umin,vmin) (umax,vmax) ĐỒ HỌA MÁY TÍNH Dương Anh Đức, Lê Đình Duy Hiển thị đối tượng hai chiều 7/7 · Như vậy nếu ( )yxP , là điểm trong cửa sổ thì nó sẽ có tọa độ trong vùng quan sát là: ( ) ( )( )minminminmin , vyysyuxxsx +-+- với minmax minmax xx uu sx - - = , minmax minmax yy vv sy - - = . · sysx, là các hệ số tỉ lệ của các kích thước của cửa sổ và vùng quan sát. Khi 1== sysx , các đối tượng qua phép chuyển đổi sẽ được giữ nguyên hình dáng và tính cân xứng.
File đính kèm:
- 2DViewing.pdf