tailieunhanh - Bài giảng Đồ họa 3D: Các phép biến đổi 3D - Bùi Tiến Lên

Bài giảng Đồ họa 3D: Các phép biến đổi 3D có nội dung trình bày công thức biến đổi, biến đổi Twist, biến đổi affine, nguyên lý kết hợp và phân rã, phép quay và một số nội dung khác. Tham khảo nội dung bài giảng để hiểu rõ hơn về các phép biến đổi 3D. | ĐỒ HỌA 3D CÁC PHÉP BIẾN ĐỔI 3D Giảng viên : Bùi Tiến Lên Trang Công thức biến đổi Trang Biến đổi Taper Trang Biến đổi Twist Trang Biến đổi Bend Trang Biến đổi affine Trang Cài đặt // Lưu thông tin phép biến đổi struct TAffine3D { double M[4][4]; }; Trang 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 Nguyên lý kết hợp và phân rã Nếu T1, T2 là phép biến đổi affine Thì T = T1 + T2 là phép biến đổi affine M = M1 x M2 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 Phép tịnh tiến O x y z Trang Cài đặt TAffine3D BuildTranslation3D(double tx, double ty, double tz) { TAffine3D T; [0][0]= 1;[0][1]= 0;[0][2]= 0;[0][3]=0; [1][0]= 0;[1][1]= 1;[1][2]= 0;[1][3]=0; [2][0]= 0;[2][1]= 0;[2][2]= 1;[2][3]=0; [3][0]=tx;[3][1]=ty;[3][2]=tz;[3][3]=1; return T; } Trang Phép tịnh tiến – Công thức Trang Phép tỉ lệ O x y z Trang Phép tỉ lệ – Công thức Trang Cài đặt TAffine3D BuildScaling3D(double sx, double sy, double sz) { TAffine3D T; [0][0]=sz;[0][1]= 0;[0][2]= 0;[0][3]=0; [1][0]= 0;[1][1]=sy;[1][2]= 0;[1][3]=0; [2][0]= 0;[2][1]= 0;[2][2]=sz;[2][3]=0; [3][0]= 0;[3][1]= 0;[3][2]= 0;[3][3]=1; return T; } Trang Phép quay O x y z Trang Quay quanh trục Oz O x y z Trang Quay quanh trục Oz – Công thức O x y z P P’ Q Q’ Trang Quay quanh trục Oz – Công thức Trang Quay quanh trục Ox O x y z Trang Quay quanh trục Ox – Công thức Trang Quay quanh trục Oy O x y z Trang Quay quanh trục Oy – Công thức Trang Quay quanh trục đi qua gốc Phân rã thành : Quay quanh trục Ox : Quay quanh trục Oy : Quay quanh trục Oz : Quay quanh trục Oy : - Quay quanh trục Ox : - O x y z Trang Quay quanh trục đi qua gốc O x y z Trang Quay quanh trục đi qua gốc O x y z Trang Quay quanh trục đi qua gốc O x y z Trang Quay quanh trục đi qua gốc – công thức Trang 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; [0][0] = x*x*(1-c) + c; [1][0] = x*y*(1-c) - z*s; [2][0] = x*z*(1-c) + y*s; [3][0] = 0; Trang Cài đặt [0][1] = y*x*(1-c) + z*s; [1][1] = y*y*(1-c) + c; [2][1] = y*z*(1-c) - x*s; [3][1] = 0; [0][2] = z*x*(1-c) - y*s; [1][2] = z*y*(1-c) + x*s; [2][2] = z*z*(1-c) + c; [3][2] = 0; [0][3] = 0; [1][3] = 0; [2][3] = 0; [3][3] = 1; return T; } Trang Quay quanh một trục tổng quát O x y z p0 p1 Trang Quay quanh một trục tổng quát

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.