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

LI
lienhejb
0 Downloads
27
0

Vorschau wird generiert...

Inhalt des Dokuments

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Seite 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

Die ersten 20 Seiten werden angezeigt. Laden Sie das Dokument herunter, um alles zu sehen.

Kommentare (0)

Anmelden um an der Diskussion teilzunehmen

Noch keine Kommentare. Seien Sie der Erste!