Đồ họa hiện thực ảo - Bài 4B (HUST) GV. Lê Tấn Hùng

LI
lienhejb
0 downloads
27
0

Document content

Page 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

Page 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

Page 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

Page 5

Phép tỉ lệ =[x.s1 y.s2 z.s3 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

Page 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

Page 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

Page 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

Page 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 cosφ sinφ 0 0 1 0 0  [T(φ)] =   [Tr ] = 0 −sinφ cosφ 0 0 0 1 0      , 0 y z 1  0 0 0 1 , 1 0 0 0 1 0 0 0 0 cosφ sinφ 0   [Tth]=  0 1 0 0 [Tr]−1 = 0 −sinφ cosφ 0 0 0 1 0     0 y(1−cosφ)+zsinφ z(1−cosφ)−ysinφ 1 0 − y − z 1   (c) SE/FIT/HUT 2002 11

Page 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

Page 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

Page 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 (x' )2 = (z −z )2 (x −x )2 2 2 2 1 2 1 P 3 „ [ P''2 ] = [ P'2 ][ T(φ-90) ] P' (x' ,y' ,z' ) „ = [ 0 y2-y1 L ] 2 2 2 2 P' 1 L φ z(x' ,0,z' )x 2 2 (c) SE/FIT/HUT 2002 15

Page 16

Bước 3: Quay quanh trục x. „ cos ϕ = z''2/N, sin ϕ = y''2/N „ Với N = | P''1P''2| là độ dài của đoạn P''1P''2 y P''2 N P''1 „ [P''' ] = [P''2][T(ϕ)] = [P'2][T(φ-90)][T(ϕ)] ϕ 2 x „ = [P2 ][T(-x1,-y1,-z1 ][T(φ-90)][T(ϕ)] z „ = [ 0 0 |P1P2| 1 ] (c) SE/FIT/HUT 2002 16

Page 17

Bước 4: Quay quanh trục z „ [P''' ]= [P ][T(-x1,-y1,-z1 ][T(φ-90)][T(ϕ)] 3 3 „ Với góc quay dương ψ trên trục z „ cos ψ = y '''/M; sin ψ = x '''/M; 3 3 „ 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 „ [ T ] = [T(-x1,-y1,-z1)][T(φ-90)][T(ϕ)][T(ψ)] y'''3 P'''3 ψ M x'''3 P'''2P'''1 x z (c) SE/FIT/HUT 2002 17

Page 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

Page 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

Page 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

Showing the first 20 pages. Download the document to see it all.

Comments (0)

Sign in to join the discussion

No comments yet. Be the first!