Các phép biến đổi đồ họa ba chiều

11 994 14
Các phép biến đổi đồ họa ba chiều

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các phép biến đổi đồ họa ba chiều

ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 1/11CCCCCCCCAAAAAAAÁÙÙÙÙÙÙÙCCCCCCCCPPPPPPPPHHHHHHHHEEEEEEEÉÙÙÙÙÙÙÙPPPPPPPPBBBBBBBBIIIIIIIIEEEEEEEẾÁÁÁÁÁÁÁNNNNNNNNĐĐĐĐĐĐĐĐOOOOOOOỔÅÅÅÅÅÅÅIIIIIIII33333333CCCCCCCCHHHHHHHHIIIIIIIIEEEEEEEỀÀÀÀÀÀÀÀUUUUUUUUDDaẫãnnnnhhaậäpp• Cùng một loại đối tượng có thể xuất hiện trong nhiềucảnh và xuất hiện nhiều lần trong một cảnh với cácphươ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 sinhra các đối tượng khác nhau từ một mô hình duy nhấtnhờ 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 đổiAffine và các phép chiếu. ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 2/11HHeệättooaạïđđoộäbbaàønnttaayypphhaảûii//bbaàønnttaayyttrraáùii• Hệ tọa độ theo quy ước bàn tay phải: để bàn tay phảisao cho ngón cái hướng theo trục z, khi nắm tay lại, cácngó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 saocho ngón cái hướng theotrục z, khi nắm tay lại, các ngóntay chuyển động theo hướng từ trục x đến trục y.HHeệättooaạïđđoộätthhuuaầànnnnhhaấátt((HHoommooggeenneeoouussCCoooorrddiinnaatteess))• Mỗi điểm (x, y, z) trong không gian Descartes được biểudiễn bởi một bộ bốn tọa độ trong không gian 4 chiềuthu 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).xww=1homogeneous(x,y,z,w)projectedhomogeneous(x/w,y/w,z/w,1)Descartes(x/w,y/w,z/w) ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 3/11CCaáùccpphheéùppbbiieếánnđđoổåiittuuyyeếánnttíínnhh• 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ẳngsong 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ốiPPhheéùppttòònnhhttiieếánn• Dòch chuyển một điểm từvò trí đến vò trí khác trongkhông gian theo vectoroffset tr.()()0≠ưçççèỉ=ifchebgdavớiifchebgdazyxz'y'x'yzx(x,y,z)(x',y',z')tr =(trx,try,trz)T(s1P1+s2P2)=s1T(P1)+s2T(P2) ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 4/11PPhheéùppbbiieếánnđđoổåiiAAffffiinnee• 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ẳngsong 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ốiCCaáùccpphheéùppbbiieếánnđđoổåiiAAffffiinneeccơơssơởû• Phép biến đổi Affine có thể xem là tổ hợp của các phépbiế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ạ độ)()()ưçççççèỉ=1000.11'''zyxtrtrtrihgfedcbazyxzyxtỉ lệ, quay, biến dạngtònh tiến ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 5/11• Phép tònh tiếnùêêêêêëé=1TrTrTr010000100001)Tr,Tr,Tr(Trzyxzyx• Phép biến đổi tỉ lệúúúúùêêêêëé=10000s0000s0000s)s,s,S(szyxzyxKhi sx=sy=sz: phép đồng dạng• Phép quay quanh trục z• Phép quay quanh trục xúúúúùêêêêëé=10000)cos()sin(-00)sin()cos(00)R(x,θθθθθ001• Phép quay quanh trục úúúùêêêêëé=10000)cos(0)sin(000)sin(-)cos()R(y,θθθθθ100yzxyzx(x,y,z)(x',y',z')tr =(trx,try,trz)yzxúúúúùêêêêëé=1000010000)cos()sin(-00)sin()cos()R(z,θθθθθ ĐỒ HỌA MÁY TÍNHDươ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 quayCá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ềungược chiều kim đồng hồ ĐỒ HỌA MÁY TÍNHDươ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à xOúúúùêêêêëé−=1000010000100001Mr(x)úúúúùêêêêëé−=1000010000100001Mr(y)úúúúùêêêêëé−=1000010000100001Mr(z)• Phép đối xứng qua trục x, y và zúúúúùêêêêëé−−=1000010000100001xMúúúúùêêêêëé−−=1000010000100001yMúúúúùêêêêëé−−=1000010000100001zM• Phép biến dạngúúúúùêêêêëé=100001hh0h1h0hh1Shyzxzzyxyzxyxyzxyzx ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi 3 chiều 8/11CCaáùccpphheéùppbbiieếánnđđoổåiiAAffffiinneettoổånnggqquuaáùtt• Tổ hợp các phép biến đổi Affine là một phép biến đổiAffine.• 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ở.PPhheéùppttỉỉlleệävvơớùiittaââmmbbaấáttkkyỳø• 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()fffzyx ,,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à:()()()÷÷÷÷÷øưçççççèỉ=1111000000000fzfyfxzyxzyxfz-sy-sx-ssss),s,s(sSPPhheéùppqquuaayyqquuaannhhmmoộättttrruụïccbbaấáttkkyỳø• Giả sử trục quay xác đònh bởi 2 điểm P1và P2(chiềudương hướng từ P1đến P2thể hiện bởi vector k). ĐỒ HỌA MÁY TÍNHDươ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 quanhk 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ẳngxOz: 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ặtphẳng yOz. Ta không cần tínhαcụ thể. Thay vào đó tatính sin(α)vàcos(α) một cách trực tiếp.1010PPPPk=,2z2ykkd +=() ()dksin,dkcosyz== αα♦Quay quanh trục y để đưa trục k' về trục z: R(y,-β). Tươngtự 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ìnhtrên.()d,dβcos ==1()xxkksin ==1βxyzd"kP0P1k'kkyαxyzkx"kβ ĐỒ HỌA MÁY TÍNHDươ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ể đượcphâ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)MMooddeelliinnggttrraannssffoorrmmaattiioonn• Biến đổi từ Hệ tọa độ đối tượng sang Hệ tọa độ thế giớithực.Front-WheelSystemTractorSystemWorldyWzWxWyfWzfWxfWxtytztPPhheéùppbbiieếánnđđoổåiiHHeệättooaạïđđoộä• Cần thực hiện một phép quay và một phép tònh tiến (gọilà Rigid boby transformation).• Nếu chuyển đổi giữa hai hệ toạ độ bàn tay trái và bàntay 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 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 ø ø •... 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 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... 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ở ve vũ trớ ban ủau. ã Ma traọn bieỏn ủoồi seừ laứ: () () () ữ ữ ữ ữ ữ ứ ử ỗ ỗ ỗ ỗ ỗ ố ổ = 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 ứ ứ ã... 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 . phép biến đổi. • Các phép biến đổi quan trọng nhất là các phép biến đổiAffine và các phép chiếu. ĐỒ HỌA MÁY TÍNHDương Anh Đức, Lê Đình Duy Các phép biến đổi. =(trx,try,trz)yzxúúúúùêêêêëé=1000010000)cos()sin(-00)sin()cos()R(z,θθθθθ ĐỒ HỌA MÁY TÍNHDươ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 quayCác đònh nghóa về chiều quay

Ngày đăng: 05/09/2012, 15:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan