04 - Transformations and Homogeneous Coordinates Flashcards

1
Q

What are the “Transformation Groups” (5)

A
  1. Euclidean Maps
  2. Similarity Transformations
  3. Linear Maps
  4. Affine Transformations
  5. Projective Transformations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are “Euclidean Maps” + examples (3)

A
  • preserve distances
  • preserve volume
  • preserve angles
  1. identity
  2. rotation
  3. translation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are “Similarity Transformations” + examples (4)

A
  • preserve angles
  1. identity
  2. rotation
  3. translation
  4. isotropic scaling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are “Linear Maps” + examples (6)

A
  • 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) )
  1. identity
  2. rotation
  3. isotropic scaling
  4. scaling
  5. mirroring
  6. shearing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are “Affine Transformations” + examples (7)

A
  • parallel lines are preserved
  1. identity
  2. rotation
  3. translation
  4. isotropic scaling
  5. scaling
  6. mirroring
  7. shearing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are “Projective Transformations” + examples (7)

A
  • straight lines are mapped to straight lines
  1. identity
  2. rotation
  3. translation
  4. isotropic scaling
  5. scaling
  6. mirroring
  7. shearing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does a “Scaling” matrix look like

A

sx 0
0 sy

if sx = sy => isotropic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does a “Shearing” matrix look like

A

1 s
0 1
=> horizontal shear

1 0
s 1
=> vertical shear

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does a “Rotation” matrix look like

A

cos𝜙 -sin𝜙
sin𝜙 cos𝜙
=> 𝜙 counterclockwise angle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does a “Mirroring” matrix look like

A

-1 0
0 1
=> x-axis mirroring

1 0
0 -1
=> y-axis mirroring

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are “Compound Transformations”

A
  • multiple transformations
  • matrix multiplication
    p’ = CBAp => right to left transformations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How can one “Change Between Coordinate Systems”

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the “Rotation Matrices for 3D”

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the principle of “Euler Rotations”

A
  • rotation represented by 3 rotations about principle axis
  • z, x, z
  • z, y, z
  • x, y, z
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are “Affine Mappings”? What are the properties (4)?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are advantages of “Homogeneous Coordinates”

A
  • include points at infinity
  • affine mappings as matrix
17
Q

How are “Homogeneous Coordinates” build

A
  • include one more dimension z
  • other values / z must result in original value
    => (x, y) -> (xz, yz, z)
  • if z = 0 => direction
  • else => point
18
Q

How do “Affine Mappings” work in “Homogeneous Coordinates” compared to “Euclidian Coordinates”

A

Ax + b

=>

a11 a12 b1
a21 a22 b2
0 0 1

19
Q

What does a “Translation Matrix” look like in “Homogeneous Coordinates”

A

1 0 Δx
0 1 Δy
0 0 1

20
Q

How does one rotate around a point with “Homogeneous Coordinates”

A
  1. move point to origin = A
    1 0 -cx
    0 1 -cy
    0 0 1
  2. rotate = B
    cos𝜙 -sin𝜙 0
    sin𝜙 cos𝜙 0
    0 0 1
  3. move point back from origin = C
    1 0 cx
    0 1 cy
    0 0 1

=> p’ = CBAp

21
Q

How to calculate the coordinates of a point in different coordinate systems with “Homogeneous Coordinates”

A

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

22
Q

How to scale with “Homogeneous Coordinates”

A

sx 0 0 0
0 sy 0 0
0 0 sz 0
0 0 0 1

23
Q

How to shear with “Homogeneous Coordinates” (z unchanged)

A

1 0 dx 0
0 1 dy 0
0 0 1 0
0 0 0 1

24
Q

How to rotate with “Homogeneous Coordinates”

A

Like normal but with 4ht dimension at 1

25
What are the "Coordinate Systems in Computer Graphics" and what are their translations called
- Object Coordinates => model transformation - World Coordinates => camera transformation - Camera Coordinates => projection transformation - Clip Coordinates => normalization transformation - Normalized Device Coordinates => viewport transformation - Window Coordinates
26
What is "Hierarchical Modeling"
- generate copies to create scene - create scene graph (directed and acyclic) - utilize matrix stack
27
What's the problem with "Transformation of Normals"? How do you fix that?
- some transformations don't preserve angles => instead transform tangent-plane => normal transformation by multiplication with "Inverse Transpose"
28
How do you perform an "Intersection Test" with a "Transformed Object"? What problem occurs here?
- problem: implicit representation of transformed object - transform ray into object coordinates -> eos = M^-1 * ews -> dos = M^-1 * dws - problem: directional vector dos might not be normalized (if M contains scaling) - two options: 1. normalize dos -> dos / ||dos|| -> tos \= tws 2. don't normalize -> tos = tws -> tos not true distance (because in different coordinate system)
29
How to perform "Projective Mappings" with "Homogeneous Coordinates"? (map onto z = 1 plane)
example: map onto z = 1 plane 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0
30
What is a "View Frustum" / "View Volume"
- cuboid [l; r] x [b; t] x [n; f] -> n>f (because view in negative direction)
31
How does "Orthographic Projection" work
- map "View Frustum" to unit cube [-1; 1]^3 - general matrix: 2/(r-l) 0 0 -(r+l)/(r-l) 0 2/(t-b) 0 -(t+b)/(t-b) 0 0 2/(n-f) -(n+f)/(n+f) 0 0 0 1
32
How does "Perspective Projection" work? What is a problem of this projection and how can it be solved?
- includes distance / orientation of camera to object - includes zoom - projection onto image plane with z=0 - because of triangle similarity: x'/D = x/(z+D) => x' = x/(z/D + 1) = (xh wh)^T same for y z is 0 => no need for projection BUT we need to know order of objects solution: map z to projection plane Overall: (1 0 0) (x) (0 1 0) (z) (0 1/D 1) (1) => shear in w-direction - de-homogenize = "Normalization Transformation" => unit cube
33
How does the z value of the "Perspective Projection" effect z'
- large z result in a small resolution between z-values -> low precision - small z result in negative z' (until z behind camera) => solution: "View Frustum" with near an far plane => use full resolution in this frustum, clip everything else
34
What is the "Normalization Transformation"? What's special about this?
- de-homogenization after projection transformation - camera coordinates: looking along -z - after de-homogenization: z now pointing in -z direction
35
Why do we need 3 x 4 entries to unambiguously define an "Affine 3D Transformation"
- linear part (3 x 3) - translation part (3 x 1)
36
Why do we need 3 x 3 - 1 entries to define an "2D Projection"? How do you define the "Projection Matrix"
- homogeneous coordinates are scale invariant (bottom right value is free) 1. camera position mapped to -∞ M (0, 0, 1) = k1 (0 -1 0) 2. x-direction preserved M (1, 0, 0) = k2 (1, 0, 0) 3. 4. Two additional points (not 3 on a line) M (0, -n, 1) = k3 (0, -1, 1) M (f, -f, 1) = k4 (1, 1, 1) => 12 equations (3 equations for each point) => 4 + 8 unknowns