1. Trang chủ
  2. » Công Nghệ Thông Tin

slike bài giảng đồ họa máy tính đồ họa 3d các phép biển đổi 3d

32 718 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 1,16 MB

Nội dung

ĐỒ 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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w