Đồ họa máy tính - Các phép biến đổi 3 chiều

Dẫnnhập

• Cùng một loại đối tượng có thể xuất hiện trong nhiều

cảnh và xuất hiện nhiều lần trong một cảnh với các

phương vị, màu sắc khác nhau.

• Nếu ta có các mô hình đối tượng tốt, ta có thể phát sinh

ra các đối tượng khác nhau từ một mô hình duy nhất

nhờ các phép biến đổi.

• Các phép biến đổi quan trọng nhất là các phép biến đổi

Affine và các phép chiếu.

pdf11 trang | Chuyên mục: Đồ Họa Máy Tính | Chia sẻ: dkS00TYs | Lượt xem: 2793 | Lượt tải: 2download
Tóm tắt nội dung Đồ họa máy tính - Các phép biến đổi 3 chiều, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 1/11
CÁÙC PHÉÙP BIẾÁN ĐỔÅI 3 CHIỀÀU
Dẫãn nhậäp
• Cùng một loại đối tượng có thể xuất hiện trong nhiều
cảnh và xuất hiện nhiều lần trong một cảnh với các
phương vị, màu sắc khác nhau.
• Nếu ta có các mô hình đối tượng tốt, ta có thể phát sinh
ra các đối tượng khác nhau từ một mô hình duy nhất
nhờ các phép biến đổi.
• Các phép biến đổi quan trọng nhất là các phép biến đổi
Affine và các phép chiếu.
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 2/11
Hệä toạï độä bàøn tay phảûi/bàøn tay tráùi
• Hệ tọa độ theo quy ước bàn tay phải: để bàn tay phải
sao cho ngón cái hướng theo trục z, khi nắm tay lại, các
ngón tay chuyển động theo hướng từ trục x đến trục y.
• Hệ tọa độ theo quy ước bàn tay trái: để bàn tay phải sao
cho ngón cái hướng theotrục z, khi nắm tay lại, các ngón
tay chuyển động theo hướng từ trục x đến trục y.
Hệä toạï độä thuầàn nhấát (Homogeneous Coordinates)
• Mỗi điểm (x, y, z) trong không gian Descartes được biểu
diễn bởi một bộ bốn tọa độ trong không gian 4 chiều
thu gọn (hx, hy, hz, h). Người ta thường chọn h=1.
• (x, y, z)Descartes (x, y, z, 1)Homogeneous
• (x, y, z, w)Homogeneous (x/w, y/w, z/w)Descartes (w ≠ 0).
x
w
w=1
homogeneous
(x,y,z,w)
projected
homogeneous
(x/w,y/w,z/w,1)
Descartes
(x/w,y/w,z/w)
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 3/11
Cáùc phéùp biếán đổåi tuyếán tính
• Phép biến đổi tuyến tính là tổ hợp của các PBĐ:
♦ Tỉ lệ
♦ Quay
♦ Biến dạng và
♦ Đối xứng
• Các tính chất của các phép biến đổi tuyến tính
♦ Thoả mãn tính chất về tổ hợp tuyến tính.
♦ Gốc toạ độ là điểm bất động.
♦ Ảnh của đường thẳng là đường thẳng.
♦ Ảnh của các đường thẳng song song là các đường thẳng
song song.
♦ Bảo toàn tỉ lệ khoảng cách
♦ Tổ hợp các phép biến đổi có tính phân phối
Phéùp tịnh tiếán
• Dịch chuyển một điểm từ
vị trí đến vị trí khác trong
không gian theo vector
offset tr.
( ) ( ) 0≠






=
ifc
heb
gda
với
ifc
heb
gda
zyxz'y'x'
y
z
x
(x,y,z)
(x',y',z')
tr =(trx,try,trz)
T(s1P1 + s2P2) = s1T(P1) + s2T(P2)
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 4/11
Phéùp biếán đổåi Affine
• Phép biến đổi Affine là tổ hợp của các phép biến đổi:
♦ Tuyến tính
♦ Tịnh tiến
• Các tính chất
♦ Gốc toạ độ không là điểm bất động.
♦ Ảnh của đường thẳng là đường thẳng.
♦ Ảnh của các đường thẳng song song là các đường thẳng
song song.
♦ Bảo toàn tỉ lệ khoảng cách
♦ Tổ hợp các phép biến đổi có tính phân phối
Cáùc phéùp biếán đổåi Affine cơ sởû
• Phép biến đổi Affine có thể xem là tổ hợp của các phép
biến đổi cơ sở:
♦ Tịnh tiến
♦ Tỉ lệ (tâm tỉ lệ đặt tại gốc toạ độ)
♦ Quay quanh trục x
♦ Quay quanh trục y
♦ Quay quanh trục z
♦ Đối xứng qua trục x, y, z*
♦ Biến dạng* (tâm biến dạng đặt tại gốc toạ độ)
( ) ( )








=
1
0
0
0
.11'''
zyx trtrtr
ihg
fed
cba
zyxzyx
tỉ lệ, quay, biến dạng tịnh tiến
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 5/11
• Phép tịnh tiến








=
1TrTrTr
0100
0010
0001
)Tr,Tr,Tr(Tr
zyx
zyx
• Phép biến đổi tỉ lệ







=
1000
0s00
00s0
000s
)s,s,S(s
z
y
x
zyx
Khi sx=sy=sz: phép đồng dạng
• Phép quay quanh trục z
• Phép quay quanh trục x







=
1000
0)cos()sin(-0
0)sin()cos(
00
)R(x,
θθ
θθθ 0
01
• Phép quay quanh trục y







=
1000
0)cos(0)sin(
00
0)sin(-)cos(
)R(y,
θθ
θθ
θ 10
0
y
z
x
y
z
x
(x,y,z)
(x',y',z')
tr =(trx,try,trz)
y
z
x







=
1000
0100
00)cos()sin(-
00)sin()cos(
)R(z,
θθ
θθ
θ
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 6/11
• Cách xác định chiều dương trong các phép quay
Các định nghĩa về chiều quay được dùng chung cho cả hệ
tọa độ theo quy ước bàn tay phải và bàn tay trái. Cụ thể
chiều dương được định nghĩa như sau:
♦ Quay quanh trục x: từ trục dương y đến trục dương z.
♦ Quay quanh trục y: từ trục dương z đến trục dương x.
♦ Quay quanh trục z: từ trục dương x đến trục dương y.
• Ví dụ, xét trên hệ toạ độ bàn tay trái, khi nhìn dọc từ
phía trục quay về gốc toạ độ, chiều dương sẽ là chiều
ngược chiều kim đồng hồ
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 7/11
• Phép đối xứng qua mặt phẳng yOz, zOx và xOy






−
=
1000
0100
0010
0001
Mr(x)







−
=
1000
0100
0010
0001
Mr(y)







−
=
1000
0100
0010
0001
Mr(z)
• Phép đối xứng qua trục x, y và z







−
−
=
1000
0100
0010
0001
xM







−
−
=
1000
0100
0010
0001
yM







−
−
=
1000
0100
0010
0001
zM
• Phép biến dạng







=
1000
01hh
0h1h
0hh1
Sh
yzxz
zyxy
zxyx
y
z
x
y
z
x
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 8/11
Cáùc phéùp biếán đổåi Affine tổång quáùt
• Tổ hợp các phép biến đổi Affine là một phép biến đổi
Affine.
• Mọi phép biến đổi Affine đều có thể phân rã thành tổ
hợp các phép biến đổi Affine cơ sở.
Phéùp tỉ lệä vớùi tââm bấát kỳø
• Phép tỉ lệ với tâm đặt tại điểm (xf, yf, zf) có thể xét như
tổ hợp của các phép biên đổi cơ sở:
♦ Tịnh tiến điểm bất động ( )fff zyx ,, về gốc tọa độ.
♦ Thực hiện phép biến đổi tỉ lệ với tâm là gốc toạ độ.
♦ Tịnh tiến ngược điểm bất động từ gốc tọa độ trở về vị trí
ban đầu.
• Ma trận biến đổi sẽ là:
( ) ( ) ( ) 








=
1111
000
000
000
fzfyfx
z
y
x
zyxf
z-sy-sx-s
s
s
s
),s,s(sS
Phéùp quay quanh mộät trụïc bấát kỳø
• Giả sử trục quay xác định bởi 2 điểm P1 và P2 (chiều
dương hướng từ P1 đến P2 thể hiện bởi vector k).
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 9/11
• Áp dụng qui tắc phân rã, ta có thể biểu diễn quay quanh
k một góc θ thành dãy các phép biến đổi cơ sở sau:
♦ Tịnh tiến trục k về gốc tọa độ: Tr(-P0) (thành trục k')
♦ Quay quanh trục x để đặt trục k' nằm trên mặt phẳng
xOz: R(x,α) (thành trục k'').
♦ Góc quay được xác định dựa trên chiếu của k' lên mặt
phẳng yOz. Ta không cần tính α cụ thể. Thay vào đó ta
tính sin(α) và cos(α) một cách trực tiếp.
10
10
PP
PP
k = ,
2
z
2
y kkd +=
( ) ( )
d
k
sin,
d
kcos yz == αα
♦ Quay quanh trục y để đưa trục k' về trục z: R(y,-β). Tương
tự bước trước, ta không cần tính cụ thể β.
♦ Thực hiện phép quay quanh trục z một góc θ: R(z,θ)
♦ Thực hiện chuỗi các phép biến đổi ngược lại quá trình
trên.
( ) d,dβcos ==
1
( ) xx kksin == 1β
x
y
z
d
"k
P0
P1
k
'k
ky α
x
y
z
kx
"kβ
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 10/11
• Như vậy, phép quay quanh 1 trục bất kỳ có thể được
phân rã thành chuỗi các biến đổi cơ sở sau:
Tr(-P0) R(x,α) R(y,-β) R(z, θ) R(y, β) R(x, -α) Tr(P0)
Modeling transformation
• Biến đổi từ Hệ tọa độ đối tượng sang Hệ tọa độ thế giới
thực.
Front-Wheel
System
Tractor
System
World
yW
zW
xW
yfW
zfW
xfW
xt
yt
zt
Phéùp biếán đổåi Hệä toạï độä
• Cần thực hiện một phép quay và một phép tịnh tiến (gọi
là Rigid boby transformation).
• Nếu chuyển đổi giữa hai hệ toạ độ bàn tay trái và bàn
tay phải thì cần thêm một phép đối xứng nữa.
ĐỒ HỌA MÁY TÍNH
Dương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 11/11
Rigid boby transformation
• Bao gồm phép tịnh tiên và phép quay và các tổ hợp của
chúng.
• Do không làm thay đổi hình dạng và kích thước đối
tượng, chỉ làm thay đổi vị trí, phương hướng của chúng
trong không gian.
Ví dụ về phép tịnh tiến
Ví dụ về phép quay

File đính kèm:

  • pdfBienDoiTrong3D.pdf