intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Na Na | Ngày: | Loại File: PPT | Số trang:32

173
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. ĐỒ HỌA 3D CÁC PHÉP BIẾN ĐỔI 3D Giảng viên : Bùi Tiến Lên
  2. Công thức biến đổi Bieán daïngaùnh ñoåi xaï T :R3 → R3 P  P' Bieán daïng ñoåi haøm P' = T(P ) hay Px = Tx (Px ,Py ,Pz ) ' x' = Tx (x, y, z) Py = Ty (Px ,Py ,Pz ) ' y' = Ty (x, y, z) Pz' = Tz (Px ,Py ,Pz ) z' = Tz (x, y, z) Trang 2
  3. Biến đổi Taper Daïnghaøm x'= Tx (x, y, z) = rx y'= Ty (x, y, z) = ry z' = Tz (x, y, z) = z vôùi = f(z) r Trang 3
  4. Biến đổi Twist Daïnghaøm x'= Tx (x, y, z) = x cos θ − y sinθ y'= Ty (x, y, z) = x sinθ + y cos θ z' = Tz (x, y, z) = z vôùiθ = f(z) Trang 4
  5. Biến đổi Bend Trang 5
  6. Biến đổi affine Daïnghaøm : Px = m00Px + m10Py + m20Pz + m30 ' Py = m01Px + m11Py + m21Pz + m31 ' Pz' = m02Px + m12Py + m22Pz + m32 Daïngma traän :  m00 m01 m02 0    m10 m11 m12 0 (P ' x ' ) Py Pz' 1 = (Px Py Pz ) 1 m20 m21 m22 0  m   30 m31 m32 1  Trang 6
  7. Cài đặt // Lưu thông tin phép biến đổi struct TAffine3D { double M[4][4]; }; Trang 7
  8. 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 8
  9. 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 9
  10. Phép tịnh tiến Tham soá : ñoädôøi treân Ox : tx truïc ñoädôøi treân Oy : ty truïc ñoädôøi treân Oz : tz truïc y O x z Trang 10
  11. 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
  12. Phép tịnh tiến – Công thức Daïnghaøm Px = Px + tx ' Py = Py + ty ' Pz = Pz + tz ' Daïngma traän 1 0 0 0   0 1 0 0 M= 0 0 1 0   t t t 1  x y z  Trang 12
  13. Phép tỉ lệ Tham soá : Taâm leäO tæ : Heä tæ treân truïc s x , s y , sz soá leä 3 : y O x z Trang 13
  14. Phép tỉ lệ – Công thức Daïnghaøm Px = s xPx ' Py = s yPy ' Pz' = szPz Daïngma traän  sx 0 0 0   0 sy 0 0 M= 0 0 sz 0   0 0 0 1   Trang 14
  15. 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]= 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
  16. Phép quay Tham soá :  Truïcquay : v = { x, y, z} Goùc quay : α y  v = { x, y, z} α O x z Trang 16
  17. Quay quanh trục Oz Tham soá :  Truïcquay : v = { 0,0,1} Goùc quay : α y O x z Trang 17
  18. Quay quanh trục Oz – Công thức y Q’ α P’ Q O P x z Trang 18
  19. Quay quanh trục Oz – Công thức Daïnghaøm Px = cos αPx − sinαPy ' Py = sinαPx + cos αPy ' Pz = Pz ' Daïngma traän  cos α sinα 0 0     − sinα M= cos α 0 0  0 0 1 0    0    0 0 1  Trang 19
  20. Quay quanh trục Ox Tham soá :  Truïcquay : v = {10,0} , Goùc quay : α y O x z Trang 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2