04 - Transformations and Homogeneous Coordinates Flashcards
What are the “Transformation Groups” (5)
- Euclidean Maps
- Similarity Transformations
- Linear Maps
- Affine Transformations
- Projective Transformations
What are “Euclidean Maps” + examples (3)
- preserve distances
- preserve volume
- preserve angles
- identity
- rotation
- translation
What are “Similarity Transformations” + examples (4)
- preserve angles
- identity
- rotation
- translation
- isotropic scaling
What are “Linear Maps” + examples (6)
- can be achieved by matrix multiplication
- linear map of sum of two elements -> distributable ( T(p + q) = T(p) + T(q) )
- scalar can be outside ( T(ap) = a * T(p) )
- identity
- rotation
- isotropic scaling
- scaling
- mirroring
- shearing
What are “Affine Transformations” + examples (7)
- parallel lines are preserved
- identity
- rotation
- translation
- isotropic scaling
- scaling
- mirroring
- shearing
What are “Projective Transformations” + examples (7)
- straight lines are mapped to straight lines
- identity
- rotation
- translation
- isotropic scaling
- scaling
- mirroring
- shearing
What does a “Scaling” matrix look like
sx 0
0 sy
if sx = sy => isotropic
What does a “Shearing” matrix look like
1 s
0 1
=> horizontal shear
1 0
s 1
=> vertical shear
What does a “Rotation” matrix look like
cos𝜙 -sin𝜙
sin𝜙 cos𝜙
=> 𝜙 counterclockwise angle
What does a “Mirroring” matrix look like
-1 0
0 1
=> x-axis mirroring
1 0
0 -1
=> y-axis mirroring
What are “Compound Transformations”
- multiple transformations
- matrix multiplication
p’ = CBAp => right to left transformations
How can one “Change Between Coordinate Systems”
- INTO coordinate system u, v
ux uy
vx vy
Ruv * pxy = puv - FROM coordinate system u, v
ux vx
uy vy
=> transpose of before
Ruv^T * puv = pxy
What are the “Rotation Matrices for 3D”
Rx(𝜙)
1 0 0
0 cos𝜙 -sin𝜙
0 sin𝜙 cos𝜙
Ry(𝜙)
cos𝜙 0 sin𝜙
0 1 0
-sin𝜙 0 cos𝜙
Rz(𝜙)
cos𝜙 -sin𝜙 0
sin𝜙 cos𝜙 0
0 0 1
What is the principle of “Euler Rotations”
- rotation represented by 3 rotations about principle axis
- z, x, z
- z, y, z
- x, y, z
What are “Affine Mappings”? What are the properties (4)?
- combination of linear transformation and translation
+> x -> Ax + b - straight lines mapped to straight lines
- parallel lines stay parallel
- preservation of division ratio
- NO preservation of angles
What are advantages of “Homogeneous Coordinates”
- include points at infinity
- affine mappings as matrix
How are “Homogeneous Coordinates” build
- include one more dimension z
- other values / z must result in original value
=> (x, y) -> (xz, yz, z) - if z = 0 => direction
- else => point
How do “Affine Mappings” work in “Homogeneous Coordinates” compared to “Euclidian Coordinates”
Ax + b
=>
a11 a12 b1
a21 a22 b2
0 0 1
What does a “Translation Matrix” look like in “Homogeneous Coordinates”
1 0 Δx
0 1 Δy
0 0 1
How does one rotate around a point with “Homogeneous Coordinates”
- move point to origin = A
1 0 -cx
0 1 -cy
0 0 1 - rotate = B
cos𝜙 -sin𝜙 0
sin𝜙 cos𝜙 0
0 0 1 - move point back from origin = C
1 0 cx
0 1 cy
0 0 1
=> p’ = CBAp
How to calculate the coordinates of a point in different coordinate systems with “Homogeneous Coordinates”
pu = ux uy 0 * 1 0 -ex * px
pv = vx vy 0 0 1 -ey py
1 = 0 0 1 0 0 1 1
px = 1 0 ex * ux uy 0 * pu
py = 0 1 ey vx vy 0 pv
1 = 0 0 1 0 0 1 1
How to scale with “Homogeneous Coordinates”
sx 0 0 0
0 sy 0 0
0 0 sz 0
0 0 0 1
How to shear with “Homogeneous Coordinates” (z unchanged)
1 0 dx 0
0 1 dy 0
0 0 1 0
0 0 0 1
How to rotate with “Homogeneous Coordinates”
Like normal but with 4ht dimension at 1