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

Bài giảng Bài 4: Các phép biến đổi đồ họa - Affine Transformations (Phần b) - Lê Tấn Hùng

Chia sẻ: Sinh Nhân | Ngày: | Loại File: PDF | Số trang:27

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

Bài giảng "Bài 4: Các phép biến đổi đồ họa Affine Transformation - Phần b: Phép biến đổi trong không gian" trình bày các nội dung: Ma trân biển đổi 3 chiều, các phép biến đổi hình học 3 chiều, phép quay 3 chiều, quay số biến dạng, hệ tọa độ,... Đây là một tài liệu tham khảo hữu ích dành cho các bạn sinh viên Công nghệ thông tin và thiết kế đồ họa dùng làm tài liệu học tập và nghiên cứu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Bài 4: Các phép biến đổi đồ họa - Affine Transformations (Phần b) - Lê Tấn Hùng

  1. Bài 4B: Phép biến đổi trong không gian (c) SE/FIT/HUT 2002 1
  2. Ma trận biến đổi 3 chiều 3D Matrix Transformations „ Các phép biến đổi chuyển vị - translation, tỉ lệ-scaling và quay-rotation sử dụng trong không gian 2D đều co thể mở rộng trong không gian 3D „ Again, using homogeneous coordinates it is possible to represent each type of transformation in a matrix form „ In 3D, each transformation is represented by a 4x4 matrix (c) SE/FIT/HUT 2002 2
  3. Các phép biến đổi hình học 3 chiều „ Biểu diễn điểm trong không gian 3 chiều • [ x* y* z* h ] = [ x y z 1 ]. [ T ] • [x' y' z' 1 ]= [ x*/h y*/h z*/h 1 ][ T ] Ma trận biến đổi a b c p  „ d e f q  [T ] =   g i j r    l m n s (c) SE/FIT/HUT 2002 3
  4. Phép tịnh tiến „ [X'] = [ X ] . [ T(dx,dy,dz) ] „ [ x' y' z' 1 ] = „ [ x y z 1 ].[ T(dx,dy,dz) ] „ = [ x+dx y+dy z+dz 1 ] (c) SE/FIT/HUT 2002 4
  5. Phép tỉ lệ = [x .s 1 y .s 2 z .s 3 1] • s1, s2, s3 là các hệ số tỉ lệ tương ứng trên các trục toạ độ (c) SE/FIT/HUT 2002 5
  6. Rotation y y y x x x z z z (c) SE/FIT/HUT 2002 6
  7. Phép quay 3 chiều „ Quay quanh các trục toạ độ • Quay quanh trục x • Quay quanh trục z (c) SE/FIT/HUT 2002 7
  8. Quay quanh trục y cos θ 0 − sin θ 0  0 1 0 0 [Ty ] =   sin θ 0 cos θ 0    0 0 0 1 (c) SE/FIT/HUT 2002 8
  9. Phép biến dạng (secondary translation) 1 b c 0  d 1 f 0 [ x' y ' z ' 1] = [ x y z 1]    g i 1 0   0 0 0 1 (c) SE/FIT/HUT 2002 9
  10. Phép lấy đối xứng (reflections-secondary translation) (c) SE/FIT/HUT 2002 10
  11. Quay quanh một trục bất kỳ song song với các trục tọa độ 1 0 0 0 1 0 0 0 0 0 cos φ sin φ 0 1 0 0 [ Tr ] =   [T (φ )] =  0 0 1 0 0 − sin φ cos φ 0 ,     , 0 y z 1 0 0 0 1 1 0 0 0 1 0 0 0   0 1 [Tth]= 0 cosφ sinφ 0  0 0 0 −sinφ cosφ 0 [Tr] −1 = 0 0 1 0     0 y(1−cosφ)+zsinφ z(1−cosφ)−ysinφ 1 0 − y − z 1 (c) SE/FIT/HUT 2002 11
  12. Quay quanh một trục bất kỳ (c) SE/FIT/HUT 2002 12
  13. Solution „ Chuyển P1 về gốc tọa độ. „ Quay quanh trục y sao cho P1P2 nằm trên mặt phẳng (y, z) „ Quay quanh trục x sao cho P1P2 trùng với trục z. „ Quay quanh trục z sao cho P1P3 nằm trên mặt phẳng (y, z) Euler’s Theorem: Every rotation around the origin can be decomposed into a rotation around the x-axis followed by a rotation around the y-axis followed by a rotation around the z-axis. (c) SE/FIT/HUT 2002 13
  14. Bước 1: Chuyển P1 về gốc tọa độ  1 0 0 0  0 1 0 0 [T (− x1,− y1,− z1)] =   0 0 1 0   − x1 − y1 − z1 1 y y P3 P3 P2 P1 P2 p P1 z z x x (c) SE/FIT/HUT 2002 14
  15. Bước 2: Quay quanh trục y „ cos( - 90 + φ) = sinφ = z'2/L = ( z2 - z1)/L „ sin( - 90 + φ) = - cosφ = x'2/L = ( x2 - x1)/L y L = (z'2 )2 (x'2 )2 = (z2 − z1 )2 (x2 − x1 )2 P3 „ [ P''2 ] = [ P'2 ][ T(φ-90) ] P'2(x'2,y'2,z'2) „ = [ 0 y2-y1 L ] P'1 L φ z(x'2,0,z'2)x (c) SE/FIT/HUT 2002 15
  16. Bước 3: Quay quanh trục x. „ cos ϕ = z''2/N, sin ϕ = y''2/N y „ Với N = | P''1P''2| là độ dài của đoạn P''1P''2 P''2 N P''1 ϕ „ [P'''2] = [P''2][T(ϕ)] = [P'2][T(φ-90)][T(ϕ)] x „ = [P2 ][T(-x1,-y1,-z1 ][T(φ-90)][T(ϕ)] z „ = [ 0 0 |P1P2| 1 ] (c) SE/FIT/HUT 2002 16
  17. Bước 4: Quay quanh trục z „ [P'''3]= [P3 ][T(-x1,-y1,-z1 ][T(φ-90)][T(ϕ)] „ Với góc quay dương ψ trên trục z „ cos ψ = y3'''/M; sin ψ = x3'''/M; „ Ma trận tổng hợp của các phép biến đổi [ T ] có dạng sau đáp ứng toàn bộ quá trình biến đổi quay đối tượng quanh một trục bất kỳ. y y'''3 „ [ T ] = [T(-x1,-y1,-z1)][T(φ-90)][T(ϕ)][T(ψ)] P'''3 ψ M x'''3 P'''2P'''1 x z (c) SE/FIT/HUT 2002 17
  18. „ Kết quả sau biến đổi cần phải đưa về vị trí ban đầu qua các phép biến đổi ngược. „ [Tth]= [T(-x1,-y1,-z1)]x[T(φ-0)]x[T(ϕ)]x [T(ψ)]x[T(ψ)]x[T(ϕ)]x „ [T(φ-90)]x[T(-x1,-y1,-z1)] (c) SE/FIT/HUT 2002 18
  19. Hệ toạ độ Coordinate Frame y j φ i k z x „ Coordinate frame is given by origin φ and three mutually orthogonal unit vectors, i, j, k. „ Mutually orthogonal (dot products): i•j = ?; i•k = ?; j•k = ?. „ Unit vectors (dot products): i•i = ?; j•j = ?; k•k = ?. (c) SE/FIT/HUT 2002 19
  20. Orientation Right handed coordinate system: Left handed coordinate system: k y y j j φ i i φ k z x z x Cross product: i x j = ? Cross product: i x j = ? (c) SE/FIT/HUT 2002 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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