Thông tin tài liệu
ĐỒ HỌA 3D ĐỒ HỌA 3D CÁC PHÉP BIẾN ĐỔI 3D CÁC PHÉP BIẾN ĐỔI 3D Giảng viên : Bùi Tiến Lên Trang 2 Công thức biến đổi Công thức biến đổi )z,y,x(T'z )z,y,x(Ty )z,y,x(T x )P,P,P(TP )P,P,P(TP )P,P,P(T P hay )P(T'P hàm dạng đổi Biến P' P R R : T xạ ánh dạng đổi Biến z y ' x ' zyxz ' z zyxy ' y zyxx ' x 33 = = = = = = = → Trang 3 Bieỏn ủoồi Taper Bieỏn ủoồi Taper f(z) r vụựi z)z,y,x(Tz' ry)z,y,x(Ty' rx)z,y,x(Tx' haứm Daùng z y x = == == == Trang 4 Bieỏn ủoồi Twist Bieỏn ủoồi Twist f(z) vụựi z)z,y,x(Tz' cosysinx)z,y,x(Ty' sinycosx)z,y,x(Tx' haứm Daùng z y x = == +== == Trang 5 Bieán ñoåi Bend Bieán ñoåi Bend Trang 6 Bieỏn ủoồi affine Bieỏn ủoồi affine ( ) ( ) = +++= +++= +++= 1mmm 0mmm 0mmm 0mmm 1PPP1PPP : traọn ma Daùng mPmPmPmP mPmPmPmP mPmPmPmP : haứm Daùng 323130 222120 121110 020100 zyx ' z ' y ' x 32z22y12x02 ' z 31z21y11x01 ' y 30z20y10x00 ' x Trang 7 Caøi ñaët Caøi ñaët // Lưu thông tin phép biến đổi struct TAffine3D { double M[4][4]; }; Trang 8 Tính chất Tính chất Phép biến đổi affine 3D chiều - Bảo toàn tính thẳng. - Bảo toàn tính song song. - Bảo toàn tỉ lệ. Trang 9 Nguyên lý kết hợp và phân rã Nguyên lý kết hợp và phân rã Nếu T 1 , T 2 là phép biến đổi affine Thì - T = T 1 + T 2 là phép biến đổi affine - M = M 1 x M 2 Mọi phép biến đổi affine bất kỳ đều có thể phân rã thành một chuỗi các phép biến đổi cơ bản. Trang 10 Phép tònh tiến Phép tònh tiến O x y z z y x t : Oz trục trên dời độ t : Oy trục trên dời độ t : Ox trục trên dời độ : số Tham [...]... t t t x y z 0 0 0 1 Trang 12 Phép tỉ lệ Tham số : Tâm tỉ lệ : O Hệ số tỉ lệ trên 3 trục : sx , sy , sz y O z x Trang 13 Phép tỉ lệ – Công thức Dạng hàm ' Px = sxPx ' Py = syPy ' Pz = szPz Dạng ma trận sx 0 M= 0 0 0 sy 0 0 0 0 sz 0 0 0 0 1 Trang 14 Cài đặt TAffine3D BuildScaling3D(double sx, double sy, double sz) { TAffine3D T; T.M[0][0]=sz;T.M[0][1]= 0;T.M[0][2]=...Cài đặt TAffine3D BuildTranslation3D(double tx, double ty, double tz) { TAffine3D T; T.M[0][0]= 1;T.M[0][1]= 0;T.M[0][2]= 0;T.M[0][3]=0; T.M[1][0]= 0;T.M[1][1]= 1;T.M[1][2]= 0;T.M[1][3]=0; T.M[2][0]= 0;T.M[2][1]= 0;T.M[2][2]= 1;T.M[2][3]=0; T.M[3][0]=tx;T.M[3][1]=ty;T.M[3][2]=tz;T.M[3][3]=1; return T; } Trang 11 Phép tònh tiến – Công thức Dạng hàm ' Px = Px + t x... zs zx(1− c) − ys xy(1− c) − zs yy(1− c) + c zy(1− c) + xs M= xz(1− c) + ys yz(1− c) − xs zz(1− c) + c 0 0 0 0 0 0 1 Trang 28 Cài đặt TAffine3D BuildRotation3D(double angle, double x, double y, double z) { TAffine3D T; double c, s, d; angle *= PI/180; c = cos(angle); s = sin(angle); d = sqrt(x*x + y*y + z*z); if(d == 0) return; x /= d; y /= d; z /= d; T.M[0][0] T.M[1][0] T.M[2][0]... 0;T.M[0][2]= 0;T.M[0][3]=0; T.M[1][0]= 0;T.M[1][1]=sy;T.M[1][2]= 0;T.M[1][3]=0; T.M[2][0]= 0;T.M[2][1]= 0;T.M[2][2]=sz;T.M[2][3]=0; T.M[3][0]= 0;T.M[3][1]= 0;T.M[3][2]= 0;T.M[3][3]=1; return T; } Trang 15 Phép quay Tham số : Trục quay : v = { x, y, z} Góc quay : α y v = { x, y, z} α O z x Trang 16 Quay quanh trục Oz Tham số : } Trục quay : v = { 0,0,1 Góc quay : α y O z x Trang 17 Quay quanh trục... z*y*(1-c) + x*s; z*z*(1-c) + c; 0; T.M[0][3] T.M[1][3] T.M[2][3] T.M[3][3] = = = = 0; 0; 0; 1; return T; } Trang 30 Quay quanh một trục tổng quát y p1 α α v p0 O x z Trang 31 Quay quanh một trục tổng quát Tính v v = p1 − p0 Phân rã thành : -Tònh tiến p0 về gốc -Quay xung quanh trục v với góc α -Tònh tiến p0 về vò trí cũ Trang 32 . ĐỒ HỌA 3D ĐỒ HỌA 3D CÁC PHÉP BIẾN ĐỔI 3D CÁC PHÉP BIẾN ĐỔI 3D Giảng viên : Bùi Tiến Lên Trang 2 Công thức biến đổi Công thức biến đổi )z,y,x(T'z )z,y,x(Ty )z,y,x(T. ñaët Caøi ñaët // Lưu thông tin phép biến đổi struct TAffine3D { double M[4][4]; }; Trang 8 Tính chất Tính chất Phép biến đổi affine 3D chiều - Bảo toàn tính thẳng. - Bảo toàn tính song song. - Bảo toàn. là phép biến đổi affine Thì - T = T 1 + T 2 là phép biến đổi affine - M = M 1 x M 2 Mọi phép biến đổi affine bất kỳ đều có thể phân rã thành một chuỗi các phép biến đổi cơ bản. Trang 10 Phép
Ngày đăng: 17/10/2014, 07:28
Xem thêm: slike bài giảng đồ họa máy tính đồ họa 3d các phép biển đổi 3d, slike bài giảng đồ họa máy tính đồ họa 3d các phép biển đổi 3d