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

LI
lienhejb
0 téléchargements
27
0

Contenu du document

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

Affichage des 20 premières pages. Téléchargez le document pour le voir en entier.

Commentaires (0)

Se connecter pour rejoindre la discussion

Aucun commentaire pour le moment. Soyez le premier !