Trong 2D, thế giớ được định nghĩa là một mặt phẳng vô hạn, trong một hệ tọa độ nhất định.
Chúng ta cần lấy ra một vùng trong mặt phẳng 2D này để xem, thường được gọi là ‘cửa sổ’.
Trong thiết bị hiển thị của chúng ta, cần phải xác định một vùng để hiển thị, thường được gọi là ‘viewport’, và sử dụng hệ tọa độ của thiết bị.
–Cắt bỏ tất cả những vật thể nằm ngoài cửa sổ.
–Tịnh tiến cho khớp với viewport.
–Co giãn theo hệ tọa độ của thiết bị.
37 trang |
Chia sẻ: haohao89 | Lượt xem: 2780 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Đồ họa máy tính: Phép cắt 2D và phép chiếu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
10/22/2007Bùi Thế Duy - Bộ môn KHMT
1
Đồ họa máy tính
Phép cắt 2D (Clipping) và phép chiếu
10/22/2007Bùi Thế Duy - Bộ môn KHMT
2
Khung nhìn trong 2D
z Trong 2D, thế giới được định nghĩa là một mặt
phẳng vô hạn, trong một hệ tọa độ nhất định.
z Chúng ta cần lấy ra một vùng trong mặt phẳng
2D này để xem, thường được gọi là ‘cửa sổ’.
z Trong thiết bị hiển thị của chúng ta, cần phải xác
định một vùng để hiển thị, thường được gọi là
‘viewport’, và sử dụng hệ tọa độ của thiết bị.
– Cắt bỏ tất cả những vật thể nằm ngoài cửa sổ.
– Tịnh tiến cho khớp với viewport.
– Co giãn theo hệ tọa độ của thiết bị.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
3
Khung nhìn trong 2D
Cửa số trong tọa độ thế giới.
250°
Viewport trong tọa độ
thiết bị
250 x 250
Điểm.
45°
10/22/2007Bùi Thế Duy - Bộ môn KHMT
4
Clipping trong 2D.
z Cần phải cắt những đối tượng cơ bản theo các
cạnh của cửa số.
– v.d. các đoạn thẳng
10/22/2007Bùi Thế Duy - Bộ môn KHMT
5
Chấp nhận đơn giản
Hai đầu mút nằm trong cửa số→ chấp nhận.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
6
Loại bỏ đơn giản
Hai đầu mút nằm ngoài và cùng phía→ loại bỏ.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
7
Thuật toán Cohen-Sutherland
z Phương pháp hiệu quả để chấp nhận hoặc
loại bỏ những đoạn thẳng không cắt các
cạnh của cửa sổ.
z Gán mã 4 bit cho mỗi đầu mút:
– Bit 1: ở trên đỉnh của cửa sổ, y > ymax
– Bit 2: ở phía dưới đáy, y < ymin
– Bit 3 : bên phải của cạnh phải, x > xmax
– Bit 4 : bên trái của cạnh trái, x < xmin
– Mã 4-bit được gọi là: Outcode
10/22/2007Bùi Thế Duy - Bộ môn KHMT
8
Mã Cohen-Sutherland 2D
0000
0100
0001
1001 1000 1010
0010
01100101
10/22/2007Bùi Thế Duy - Bộ môn KHMT
9
Thuật toán Cohen-Sutherland
0000
0100
0001
1001 1000 1010
0010
01100101
Nếu cả hai đầu có mã là 0000, chấp nhận, nếu không:
Thực hiện phép AND logic 2 mã
10/22/2007Bùi Thế Duy - Bộ môn KHMT
10
Thuật toán Cohen-Sutherland
0000
0100
0001
0110
1001 10101000
0010
1000
0000
0001
0000
0101
Thực hiện AND logic mã của 2 đầu mút,
Loại bỏ đoạn thẳng nếu khác không.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
11
Giao đoạn thẳng
z Cần xác định giao điểm của các đoạn
thẳng với các cạnh của cửa sổ để tiến hành
cắt các đoạn thẳng.
z Chọn một cạnh cửa sổ bất kỳ, cắt các đoạn
thẳng, thực hiện lại thuật toán Cohen-
Sutherland
10/22/2007Bùi Thế Duy - Bộ môn KHMT
12
Thuật toán Cyrus & Beck
z Sử dụng phương trình tham số
z Đường thẳng chứa đoạn cần xử lý sẽ cắt các
đường thẳng chứa biên của cửa số ở đâu đó:
10/22/2007Bùi Thế Duy - Bộ môn KHMT
13
Thuật toán Cyrus & Beck
z Sử dụng phương trình tham số
z Đường thẳng chứa đoạn cần xử lý sẽ cắt
các đường thẳng chứa biên của cửa số ở
đâu đó:
– Tìm tất cả các giao điểm, kiểm tra xem nó có
nằm trên cửa số hay không.
– Xem xét véctơ pháp tuyến tại một điểm.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
14
Thuật toán Cyrus & Beck
Cạnh Ej
Nj
P0
P1
PEJ
0])([ >−• EJj PtPN
0])([ =−• EJj PtPN
0])([ <−• EJj PtPN
tPPPtP )()( 010 −+=
10/22/2007Bùi Thế Duy - Bộ môn KHMT
15
Thuật toán Cyrus & Beck
DN
PPN
t
PPD
tPPNPPN
PtPPPN
PtPN
tPPPtP
j
EJj
jEJj
EJj
EJj
•−
−•=
−=
=−•+−•
=−−+•
=−•
−+=
][
tính t),(
0][][
0])([
0])([
)()(
0
01
010
010
010
Dấu của mẫu số là quan trọng.
Phải ≠ 0 (bỏ qua những đoạn song song).
Phương trình tham số giúp thể hiện
hướng.
Mẫu số < 0 → điểm vào khu vực cửa sổ.
Mẫu số > 0 → điểm ra khỏi khu vực cửa
số.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
16
Thuật toán Cyrus & Beck
Edge Ej
Nj
DN
PPN
t
j
EJj
•−
−•= ][ 0
θ
D
Mẫu số < 0 → điểm vào khu vực cửa sổ, xếp vào loại PE.
Mẫu số > 0 → điểm ra khỏi khu vực cửa số, xếp vào loại PL.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
17
Thuật toán Cyrus & Beck
Sắp xếp các điểm PE và PL theo t.
PE
PLPL
PE
t
t
Vẽ từ PE → PL
PL < PE → không
có giao điểm
10/22/2007Bùi Thế Duy - Bộ môn KHMT
18
Thuật toán Cyrus & Beck
PE
PL P1
PL
PE
P0
10/22/2007Bùi Thế Duy - Bộ môn KHMT
19
Clipping đa giác
z Cắt đa giác bằng cách lần lượt sử dụng các
cạnh của cửa sổ đề cắt đa giác.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
20
Thuật toán Sutherland-Hodgman
Kết quả Điểm kết quả
thứ 1
Bốn trường hợp cắt đa giác:
Trong Ngoài Trong Ngoài Trong Ngoài Trong Ngoài
Trường
hợp 3
Không
có điểm
ra nào.
Trường hợp 1 Trường hợp 2.
Kết quả
Trường hợp 4
Điểm kết quả
thứ 2
10/22/2007Bùi Thế Duy - Bộ môn KHMT
21
Thuật toán Sutherland-Hodgman
z Đi vòng quanh các điểm của đa giác, kiểm
tra với cạnh đang dùng để cắt của cửa số.
z Chạy thuật toán lại với đa giác mới vừa
được tạo ra với cạnh tiếp theo của cửa sổ
z Không cần lưu trữ nhiều
– Dễ dàng cài đặt.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
22
Khung nhìn 3D
z Tất nhiên là phức tạp hơn 2D
– Thêm một chiều mới (!)
– Các thiết bị hiển thị là 2D.
z Cần dùng phép chiếu (projection) để chuyển vật
thể hay cảnh vật 3D về thiết bị hiển thị 2D.
z Cần thực hiện cắt với một khối 3D
– Sáu mặt phẳng.
– Hình chóp cụt.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
23
Các hệ tọa độ
Hệ tọa độ vật thể
BIẾN ĐỔI
Tọa độ thế giới
CLIP
Khối nhìn
CHIẾU
Tọa độmàn hình
MÀNH HÓA
Mành
10/22/2007Bùi Thế Duy - Bộ môn KHMT
24
Các phép chiếu
z Chuyển một điểm từ hệ tọa độ có n chiều về hệ
tọa độ có ít hơn n chiều.
z Phép chiếu được xác định bởi các đường chiếu
(projectors).
z Các đường chiếu xuất phát từ tâm chiếu (centre
of projection), đi qua mọi điểm của vật thể và
giao với bề mặt chiếu để tạo nên ảnh chiếu.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
25
Các phép chiếu
Có hai loại phép chiếu:
– Phối cảnh.
– Song song.
A
B
A′
B′ Tâm chiếu ở vô cùng
Song song
A
A′
B′
Tâm chiếu
B
Phối cảnh
10/22/2007Bùi Thế Duy - Bộ môn KHMT
26
Các loại phép chiếu
Các phép chiếu lên mặt phẳng
Song song Phối cảnh
Trực giao Xiên 1 điểm
2 điểm
3 điểm
Axonometric
Isometric
CavalierCabinet
Elevations
10/22/2007Bùi Thế Duy - Bộ môn KHMT
27
Chiếu phối cảnh
z Xác định bởi mặt phẳng chiếu và tâm chiếu.
– Kích thức ảnh chiếu của vật thể thay đổi theo khoảng
cách đến tâm chiếu.
– Giống như máy ảnh – Trông thực tế !
z Không hữu dụng để đo đạc
– Các đường thẳng song song thường không song song
sau phép chiếu.
– Các góc chỉ được giữ trên các bề mặt song song với
mặt phẳng chiếu.
– Khoảng cách không được giữ.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
28
Chiếu phối cảnh
Bức tranh đầu tiên
(Trinity with the Virgin,
St. John and Donors)
được thực hiện theo
phép chiếu phổi cảnh
bởi Masaccio, vào năm
1427.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
29
Các phép chiếu phối cảnh
• Tập hợp các đường thẳng
không song song với mặt
phẳng chiếu hội tụ tại một
điểm biến mất (vanishing
point).
– Đó chính là ảnh chiếu của
điểm ở vô cùng.
– Có tọa độ đồng nhất là 0
(x,y,0)
10/22/2007Bùi Thế Duy - Bộ môn KHMT
30
Các phép chiếu phối cảnh
z Các đường thẳng song song với trục tọa độ hội tụ tại
điểm biến mất của trục (axis vanishing point).
– Các phép chiếu phối cảnh được phân loại theo số lượng điểm
biến mất này.
– Tương ứng với số trục cắt các mặt phẳng chiếu.
x
y
z z
x
y
10/22/2007Bùi Thế Duy - Bộ môn KHMT
31
Các phép chiếu phối cảnh
z
y
x
x
y
z Các đường thẳng song song với trục tọa độ hội tụ tại
điểm biến mất của trục (axis vanishing point).
– Các phép chiếu phối cảnh được phân loại theo số lượng điểm
biến mất này.
– Tương ứng với số trục cắt các mặt phẳng chiếu.
z
Mặt phẳng chiếu
10/22/2007Bùi Thế Duy - Bộ môn KHMT
32
Phép chiếu 1 điểm
Mặt phẳng chiếu chỉ cắt 1 trục
10/22/2007Bùi Thế Duy - Bộ môn KHMT
33
Phép chiếu 1 điểm
Bức tranh (The Piazza
of St. Mark, Venice)
thực hiện bởi
Canaletto năm 1735-45
với phép chiếu 1 điểm.
10/22/2007Bùi Thế Duy - Bộ môn KHMT
34
Phép chiếu 2 điểm
y
z x
Mặt phẳng chiếu
10/22/2007Bùi Thế Duy - Bộ môn KHMT
35
Phép chiếu 2 điểm
Bức tranh chiếu 2 điểm
thực hiện bởi Edward
Hopper
The Mansard Roof
1923 (240 Kb); màu
nước trên giấy, 13 3/4 x
19 inches;
The Brooklyn Museum,
New York
10/22/2007Bùi Thế Duy - Bộ môn KHMT
36
Chiếu 3 điểm
Bức tranh (City
Night, 1926) thực
hiện bởi Georgia
O'Keefe, qua phép
chiếu 3 điểm. y
z x
Mặt phẳng chiếu
10/22/2007Bùi Thế Duy - Bộ môn KHMT
37
Tổng kết
z Clipping
z Phép chiếu