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

Bài giảng Đồ họa hiện thực ảo: Bài 4B - Lê Tấn Hùng

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:27

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

Bài giảng "Đồ họa hiện thực ảo - Bài 4B: Các phép biến đổi trong không gian" cung cấp cho người học các kiến thức: Ma trận biến đổi 3 chiều, phép lấy đối xứng, hệ tọa độ,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Đồ họa hiện thực ảo: Bài 4B - Lê Tấn Hùng

  1. Bài 4B: Phép biến đổi trong không gian (c) SE/FIT/HUT 2002 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. Rotation y y y x x x z z z (c) SE/FIT/HUT 2002 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. Phép lấy đối xứng (reflections-secondary translation) (c) SE/FIT/HUT 2002 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Quay quanh một trục bất kỳ (c) SE/FIT/HUT 2002 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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