• Một số đối tượng hình học cơ bản
– Đại lượng vô hướng s
– Vec-tơ v
– Điểm p’ = p + s * v
• Các phép biến đổi
– Các loại biến đổi: quay, tịnh tiến, co dãn.
– Biểu diễn ma trận
– Thứ tự
• Mô hình hóa hình học
– Mô hình hóa phân cấp
– Các bề mặt đa diện.
31 trang |
Chia sẻ: lylyngoc | Lượt xem: 1656 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đồ họa máy tính Các phép biến đổi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
9/27/2011 Ma Thị Châu - Bộ môn KHMT 1
Đồ họa máy tính
Các phép biến đổi
9/27/2011 Ma Thị Châu - Bộ môn KHMT 2
Một số khái niệm cơ bản
• Một số đối tượng hình học cơ bản
– Đại lượng vô hướng s
– Vec-tơ v
– Điểm p’ = p + s * v
• Các phép biến đổi
– Các loại biến đổi: quay, tịnh tiến, co dãn.
– Biểu diễn ma trận
– Thứ tự
• Mô hình hóa hình học
– Mô hình hóa phân cấp
– Các bề mặt đa diện.
9/27/2011 Ma Thị Châu - Bộ môn KHMT 3
Các phép biến đổi
Thế nào là một phép biến đổi?
P=T(P)
Tại sao phải sử dụng các phép biến đổi?
Mô hình hóa
- Tạo ra các đối tượng với các tọa độ tự nhiên/ tiện lợi
- Nhiều phiên bản khác nhau của cùng một mẫu hình
- Các mối nối/khung xương – tạo hoạt ảnh robot
Tầm nhìn
– Cửa sổ và thiết bị độc lập với nhau
– Camera ảo: Các phép chiếu song song và chiếu phối cảnh
(perspective)
9/27/2011 Ma Thị Châu - Bộ môn KHMT 4
Các loại phép biến đổi
Liên tục (Bảo tồn lân cận)
Một – một, có nghịch đảo
Phân chia theo các tính chất bất biến và tính chất đối xứng
Isometry (bảo tồn khoảng cách)
– Phản xạ (Reflections) – đảo hai bên trái và phải
– Quay + Tịnh tiến
Similarity (bảo tồn góc)
– Co dãn đồng nhất (Uniform scale)
Affine (bảo tồn các đường thẳng song song)
– Co dãn không đồng nhất (Non-uniform scales),
shears or skews
Collineation (đường thẳng giữ là đường thẳng)
– Chiếu phối cảnh (Perspective)
Non-linear (đường thẳng trở thành đường cong)
– Vặn (Twists), biến hình, ...
9/27/2011 Ma Thị Châu - Bộ môn KHMT 5
Tịnh tiến 2D
y
x
,,
d
d
T
y
x
P
y
x
P
P
P’
Xét điểm P là P(x,y),
Tịnh tiến điểm P’(x’,y’) một khoảng cách dx theo trục x, dy theo
trục y:
x’ = x + dx y’ = y + dy
Viết theo dạng véc-tơ
Như vậy
P’ = P + T
9/27/2011 Ma Thị Châu - Bộ môn KHMT 6
Co dãn 2D theo gốc tọa độ
y
x
.
0
0
y
x
hay
đó Do
0
0
y
x
y
x
s
s
PSP
s
s
S
P
P’
Xét điểm P là P(x,y),
Co dãn điểm P’(x’,y’) với tỉ lệ sx theo trục x, sy theo trục y:
x’ = x * sx y’ = y * sy
Đặt
9/27/2011 Ma Thị Châu - Bộ môn KHMT 7
Quay 2D quanh tâm
y
x
r
r
P’(x’,y’)
P(x,y)
9/27/2011 Ma Thị Châu - Bộ môn KHMT 8
Quay 2D quanh tâm
y
x
r
r
P’(x’,y’)
P(x,y)
y
sin.
cos.
ry
rx
x
9/27/2011 Ma Thị Châu - Bộ môn KHMT 9
Quay 2D quanh tâm
y
x
r
r
P’(x’,y’)
P(x,y)
y
sin.
cos.
ry
rx
x
cos.sin.sin.cos.)sin(.
sin.sin.cos.cos.)cos(.
rrry
rrrx
9/27/2011 Ma Thị Châu - Bộ môn KHMT 10
Quay 2D quanh tâm
sin.
cos.
ry
rx
cos.sin.sin.cos.)sin(.
sin.sin.cos.cos.)cos(.
rrry
rrrx
Thay :
Cho ta :
cos.sin.
sin.cos.
yxy
yxx
9/27/2011 Ma Thị Châu - Bộ môn KHMT 11
Quay 2D quanh tâm
cos.sin.
sin.cos.
yxy
yxx
Viết lại dưới dạng ma trận :
y
x
y
x
.
cossin
sincos
PRPR
,
cossin
sincos
9/27/2011 Ma Thị Châu - Bộ môn KHMT 12
Nhiều phép biến đổi cùng lúc
Tịnh tiến
– P=T + P
Co dãn
– P=S P
Quay
– P=R P
Chúng ta muốn các phép biến đổi thể hiện bằng phép nhân để
có thể ghép với nhau được thể hiện điểm bằng tọa độ đồng
nhất.
9/27/2011 Ma Thị Châu - Bộ môn KHMT 13
Tọa độ đồng nhất
Thêm một thành phần tọa độ nữa, W, cho một điểm.
– P(x,y,W).
Hai tọa độ đồng nhất cùng thể hiện một điểm nếu
chúng là tích của nhau với một hằng số
– (2,5,3) và (4,10,6) thể hiện một điểm.
Phải có ít nhất một thành phần khác không (0,0,0)
không xác định.
Nếu W 0 , chia các tọa độ còn lại cho nó để có tọa
độ Đề-Cát (x/W,y/W,1).
Nếu W=0, điểm đó coi như ở vô cùng.
9/27/2011 Ma Thị Châu - Bộ môn KHMT 14
Tọa độ đồng nhất (…)
Nếu ta thể hiện (x,y,W) trong không gian 3 chiều, tất cả các tọa
độ đồng nhất thể hiện một điểm 2D tạo thành một đường thẳng
đi qua gốc tọa độ.
Nếu ta đồng nhất hóa một điểm, ta thu được điểm có dạng
(x,y,1)
– Các điểm đồng nhất tạo thành mặt phẳng W=1.
P
X
Y
W
W=1 plane
9/27/2011 Ma Thị Châu - Bộ môn KHMT 15
Các phép biến đổi với tọa độ
đồng nhất
Ma trận cho phép tịnh tiến 2D.
1
.
100
10
01
1
y
x
d
d
y
x
y
x
11
y
x
dyy
dxx
9/27/2011 Ma Thị Châu - Bộ môn KHMT 16
Kết hợp các phép biến đổi
(Concatenation)
Nếu ta thực hiện 2 phép tịnh tiến trên với
cùng một điểm:
),(),(),(
:đó Do
),(),(),(
),(
),(
21212211
21212211
22
11
yyxxyxyx
yyxxyxyx
yx
yx
ddddTddTddT
ddddTPddTddTPP
ddTPP
ddTPP
9/27/2011 Ma Thị Châu - Bộ môn KHMT 17
Kết hợp các phép biến đổi (…)
100
10
01
100
10
01
.
100
10
01
: là ),(),(
21
21
2
2
1
1
2211
yy
xx
y
x
y
x
yxyx
dd
dd
d
d
d
d
ddTddT
9/27/2011 Ma Thị Châu - Bộ môn KHMT 18
Tính chất của các phép tịnh tiến
),(),(T 4.
),(),(),(),( 3.
),(),(),( 2.
)0,0( 1.
1-
yxyx
yxyxyxyx
yyxxyxyx
ssTss
ssTttTttTssT
tstsTttTssT
IT
9/27/2011 Ma Thị Châu - Bộ môn KHMT 19
Dạng đồng nhất của phép co dãn
y
x
yx s
s
ssS
0
0
),(
Ma trận phép co dãn :
100
00
00
),( y
x
yx s
s
ssS
Trong tọa độ đồng nhất :
9/27/2011 Ma Thị Châu - Bộ môn KHMT 20
Kết hợp các phép co dãn
100
0ss0
00ss
100
0s0
00s
.
100
0s0
00s
: ),(),(
y2y1
x2x1
y2
x2
y1
x1
2211 yxyx ssSssS
9/27/2011 Ma Thị Châu - Bộ môn KHMT 21
Dạng đồng nhất của phép quay
1
.
100
0cossin
0sincos
1
y
x
y
x
)()(
).()(
1
1
TRR
RR
9/27/2011 Ma Thị Châu - Bộ môn KHMT 22
Dạng đồng nhất của phép quay (…)
100
0cossin
0sincos
)( ,
100
0cossin
0sincos
)(
TRR
100
0cossin
0sincos
100
0cossin
0sincos
)(
R
9/27/2011 Ma Thị Châu - Bộ môn KHMT 23
Các tính chất khác của phép quay
)()()()(
và
)()()(
)0(
RRRR
RRR
IR
9/27/2011 Ma Thị Châu - Bộ môn KHMT 24
Kết hợp các loại phép biến đổi
Quay và tịnh tiến
– Góc và khoảng cách được giữ nguyên
Quay, tịnh tiến và co dãn
– Góc và khoảng cách không được giữ nguyên
– Đường thẳng song song vẫn song song
– Gọi là các phép biến đổi Affine
9/27/2011 Ma Thị Châu - Bộ môn KHMT 25
Biến đổi 3D
Sử dụng tọa độ đồng nhất, giống như trong 2D
Các ma trận biến đổi có kích thước 4x4
Sử dụng hệ tọa độ thuận ( z hướng ra ngoài)
z (hướng ra ngoài)
y
x
9/27/2011 Ma Thị Châu - Bộ môn KHMT 26
Tịnh tiến 3D.
1000
100
010
001
),,(
z
y
x
zyx
d
d
d
dddT
Giống như trong 2D:
9/27/2011 Ma Thị Châu - Bộ môn KHMT 27
Co giãn 3D.
1000
000
000
000
),,(
z
y
x
zyx
s
s
s
sssS
Giống như trong 2D:
9/27/2011 Ma Thị Châu - Bộ môn KHMT 28
Quay 3D
Cần xác định trục quay.
Quay quanh trục z tương tự như 2D
1000
0100
00cossin
00sincos
)(
zR
9/27/2011 Ma Thị Châu - Bộ môn KHMT 29
Quay 3D
Quay quanh trục x và y:
1000
0cos0sin
0010
0sin0cos
)( ,
1000
0cossin0
0sincos0
0001
)(
yx RR
9/27/2011 Ma Thị Châu - Bộ môn KHMT 30
Quay quanh một trục bất kỳ?
Khó!
Tuy nhiên, chúng ta đã biết cách quay quanh
trục chính.
Biến thành phép quay quanh trục chính.
Cần tịnh tiến một trục quay a bất kỳ để đi qua
gốc tọa độ, quay nó để trùng với một trục
chính, thực hiện phép quay cần thực hiện, và
quay và tịnh tiến lại vị trí ban đầu.
9/27/2011 Ma Thị Châu - Bộ môn KHMT 31
Tổng kết
Phép tịnh tiến, quay và co dãn 2D, 3D
Tọa độ đồng nhất
Kết hợp các phép biến đổi