Thông tin tài liệu:
Đồ họa máy tính giúp chúng ta thay đổi cách cảm nhận và sử
dụng máy tính, nó đã trở thành những công cụ trực quan không thể thiếu trong đời sống hàng ngày. Mời các bạn cùng tìm hiểu phép quan sát hai chiều; đồ họa ba chiều; quan sát trong không gian ba chiều được trình bày cụ thể trong "Bài giảng Đồ họa máy tính: Phần 2".
Nội dung trích xuất từ tài liệu:
Bài giảng Đồ họa máy tính: Phần 2
CHƢƠNG IV
PHÉP QUAN SÁT HAI CHIỀU
4.1 Cửa sổ, Vùng quan sát
Hệ tọa độ Descartes là dễ thích ứng cho các chương trính ứng
dụng để miêu tả các hình ảnh trên hệ tọa độ thực. Các hình ảnh được
định nghĩa trên hệ tọa độ thực này sau đó được hệ đồ họa vẽ lên các
hệ tọa độ thiết bị. Điển hình, một vùng đồ họa cho phép người sử
dụng xác định vùng nào của hình ảnh sẽ được hiển thị và bạn muốn
đặt nó ở nơi nào trên hệ tọa độ thiết bị. Một vùng đơn lẻ hoặc vài
vùng của hình ảnh có thể được chọn. Những vùng này có thể được
đặt ở những vị trí tách biệt, hoặc một vùng có thể được chèn vào
một vùng lớn hơn. Quá trính biến đổi này liên quan đến những
thao tác như tịnh tiến, biến đổi tỷ lệ Vùng được chọn , xóa bỏ Vùng
không được chọn. Những thao tác trên là Windowing và Clipping.
Hình 4.1. Ánh xạ từ cửa sổ - vùng quan sát
48
Một vùng có dạng hình chữ nhật được xác định trong hệ tọa
độ thực được gọi là một cửa sổ (window).
Còn vùng hình chữ nhật trên thiết bị hiển thị để cửa sổ đó
ánh xạ đến được gọi là một vùng quan sát (viewport).
Hình 4.1 minh họa việc ánh xạ một phần hình ảnh vào trong
một vùng quan sát. Việc ánh xạ này gọi là một phép biến đổi hệ
quan sát, biến đổi cửa sổ, biến đổi chuẩn hóa. Các lệnh để xây dựng
một cửa sổ và vùng quan sát từ một chương trính ứng dụng có thể
được định nghĩa như sau:
set_window(xw_min, xw_max, yw_min, yw_max)
set_viewport(xv_min, xv_max, yv_min, yv_max)
Các tham số trong mỗi hâm được dùngđể định nghĩa các giới
hạn tọa độ của các vùng chữ nhật. Các giới hạn của cửa sổ được
xác định trong hệ tọa độ thực. Hệ tọa độ thiết bị chuẩn thường
được dùng nhất cho việc xác định vùng quan sát, dù rằng hệ tọa độ
thiết bị có thể được dùng nếu chỉ có một thiết bị xuất duy nhất
trong hệ thống. Khi hệ tọa độ thiết bị chuẩn được dùng, lập trình
viên xem thiết bị xuất có giá trị tọa độ trong khoảng 0..1. Một sự
xác định Vùng quan sát được cho với các giá trị trong khoảng này.
Các việc xác định sau đây, đặt một phần của sự định nghĩa hệ tọa
độ thực vào trong góc trên bên phải của Vùng hiển thị, như được
minh họa trong hình 4.2:
set_window(-60.5, 41.25, -20.75, 82.5);
set_viewport(0.5, 0.8, 0.7, 1.0);
Nếu một cửa sổ buộc phải được ánh xạ lấp đầy Vùng hiển thị, sự
xác định vùng quan sát được thiết lập theo thủ tục:
set_viewport(0,1, 0, 1)
49
Hình 4.2: Ánh xạ một cửa sổ vào một vùng quan sát trong hệ tọa
độ thiết bị chuẩn
Các vị trì được biểu diễn trên hệ tọa độ thiết bị chuẩn phải
được biến đổi sang hệ tọa độ thiết bị trước khi được hiển thị bởi
một thiết bị xuất cụ thể. Thông thường một thiết bị xác định được
chứa trong các gói đồ họa cho mục đìch này. Thuận lợi của việc
dùnghệ tọa độ thiết bị chuẩn là để các gói đồ họa độc lập với thiết
bị. Các thiết bị xuất khác nhau có thể được dùngnhờ việc cung
cấp các trình điều khiển thiết bị thích hợp. Mọi điểm được tham
khảo đến trong các gói đồ họa phải được xác định tương ứng trong
hệ tọa độ Descartes. Bất kỳ sự định nghĩa hình ảnh nào dùngtrong
một hệ tọa độ khác, như hệ tọa độ cực, người sử dụng trước tiên
phải biến đổi nó sang hệ tọa độ thực. Những hệ tọa độ Descart này
sau đó được dùngtrong các lệnh cửa sổ để xác định phần nào của
hình ảnh muốn được hiển thị.
50
4.2 Phép biến đổi từ cửa sổ - đến - vùng quan sát
Khi tất cả các điểm, đoạn thẳng, và văn bản vừa bị cắt,
chúng được ánh xạ lên vùng quan sát để hiển thị. Phép biến đổi
đến vùng quan sát này được thực hiện để các vị trí tọa độ liên hệ
được giữ lại. Trong hình, một điểm ở vị trí (xw, yw) trong một cửa
sổ được ánh xạ và trong vị trí (xv, yv) trong Vùng quan sát. Để duy
trì sự sắp đặt liên hệ tương tự trong vùng quan sát như trong cửa sổ,
chúng ta cần xác định ánh xạ:
xv xv min x x y y y y
w w min ; v v min w w min
xv max xv min xw max xw min yv max yv min yw max yw min (4-1)
Vì vậy:
xv max xv min
xv xw xw min xv min
xw max xw min
yv max yv min
yv yw yw min yv min
yw max yw min (4-2)
xv max xv min yv max yv min
Các giá trị tỷ lệ xw max xw min ,
yw max yw min là
hằng số đối với các điểm được ánh xạ và là hệ số tỷ lệ Sx và Sy theo
2 trục tương ứng. Nếu 2 tỷ lệ khác nhau thì hình vẽ mới trong
Vùng quan sát bị biến dạng so với hình ban đầu, còn nếu 2 tỷ lệ
giống nhau thì hình vẽ mới không biến dạng.
4.3 Phép cắt xén 2 chiều
Ánh xạ một Vùng cửa sổ vào trong một Vùng quan sát, kết
quả là chỉ hiển thị những phần trong phạm vi cửa sổ. Mọi thứ bên
51
ngoài cửa sổ sẽ bị loại bỏ. Các thủ tục để loại bỏ các phần hình
ảnh nằm bên Ngoài biên cửa sổ được xem như các thuật toán cắt
xén (clipping algorithms) hoặc đơn giản được gọi là clipping.
Việc cài đặt phép biến đổi cửa sổ thường được thực
hiện bằng việc cắt khỏi cửa sổ, sau đó ánh xạ phần bên trong
cửa sổ vào một vùng quan sát. Như một lựa chọn, một vài gói đồ
họa đầu tiên ánh xạ sự định nghĩa trong hệ tọa độ thực vào trong
hệ tọa độ thiết bị chuẩn và sau đó cắt khỏi biên vùng quan sát.
Trong các các phần thảo luận sau, chúng ta giả thiết rằng việc cắt
được thực hiện dựa vào đường biên cửa sổ trong hệ tọa độ thực.
Sau khi cắt xong, các điểm bên trong cửa sổ mới được ánh xạ đến
vùng quan sát.
Việc cắt các điểm khỏi cửa sổ được hiểu ...