ĐỒ 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 x M ú ú ú ú ù ê ê ê ê ë é − − = 1000 0100 0010 0001 y M ú ú ú ú ù ê ê ê ê ë é − − = 1000 0100 0010 0001 z M • 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 a a ù ù c c p p h h e e ù ù p p b b i i e e á á n n đ đ o o å å i i A A f f f f i i n n e e t t o o å å n n g g q q u u a a ù ù t 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ở. P P h h e e ù ù p p t t ỉ ỉ l l e e ä ä v v ơ ơ ù ù i i t t a a â â m m b b a a á á t t k k y y ø ø • Phép tỉ lệ với tâm đặt tại điểm (x f , y f , z f ) 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 P P h h e e ù ù p p q q u u a a y y q q u u a a n n h h m m o o ä ä t t t t r r u u ï ï c c b b a a á á t t k k y y ø ø • Giả sử trục quay xác đònh bởi 2 điểm P 1 và P 2 (chiều dương hướng từ P 1 đến P 2 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 k cos y z == αα ♦ 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 () x x k k sin == 1 β x y z d "k P 0 P 1 k 'k k y α x y z k x "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(-P 0 ) R(x,α) R(y,-β) R(z, θ) R(y, β) R(x, -α) Tr(P 0 ) M M o o d d e e l l i i n n g g t t r r a a n n s s f f o o r r m m a a t t i i o o n n • 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 y W z W x W yf W zf W xf W x t y t z t P P h h e e ù ù p p b b i i e e á á n n đ đ o o å å i i H H e e ä ä t t o o a a ï ï đ đ o o ä ä • 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 R R i i g g i i d d b b o o b b y y t t r r a a n n s s f f o o r r m m a a t t i i o o n n • 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 . 8/11 C C a a ù ù c c p p h h e e ù ù p p b b i i e e á á n n đ đ o o å å i i A A f f f f i i n n e e t t o o å å n n g g q q u u a a ù ù t 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ở. P P h h e e ù ù p p t t ỉ ỉ l l e e ä ä v v ơ ơ ù ù i i t t a a â â m m b b a a á á t t k k y y ø ø •. == 1 β x y z d "k P 0 P 1 k 'k k y α x y z k x "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(-P 0 ). sử trục quay xác đònh bởi 2 điểm P 1 và P 2 (chiều dương hướng từ P 1 đến P 2 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