Đồ 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.
ĐỒ 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:
- BienDoiTrong3D.pdf