Different Type of Geometries
| |
|---|
| Euclidean Geometry | Shape are invariant by translations, rotations & uniform scaling |
| Affine Geometry | Euclidean Transformations + shearing (non-uniform scaling) |
| Projective Geometry | Affine Transformations + projections |
We always assume that all shapes lie in Euclidean space R2 or R3.
A transformation is a map from the space to space itself T:En→En
Some basic transformations are:
If T satisfy d(x,y)=d(T(x),T(y))∀x,y∈En, then T is called an isometry.
- An isometry that map origin to itself is a rotation or reflection.
- An isometry is always composed of a rotation/reflection and a translation
- A rotation R preserves inner product. i.e <R(x),R(y)>=<x,y>∀x,y
- A rotation R is indeed just a matrix multiplication operator.
Note that:
- R us orthogonal (RT=R−1)
- In 2D, the rotation "rotates" a vector around a point.
- In 3D, the rotation is composed of:
- An axis of rotation: eigenvector of R with eigenvalue 1.
- A rotation angle θ.
E.g:
Rz,θ:xyz↦xcos(θ)−ysin(θ)xsin(θ)+ycos(θ)z
Rotation around an arbitrary axis
- To rotate around an axis l=(u,v,w) by angle θ, we use Rodrigues' rotation formula:
R(u,v,w),θ=I+sin(θ)U+(1−cos(θ))U2
where U=0w−v−w0uv−u0
Rotation - Other representations

Euler angles or Tait–Bryan angles:
Represent an arbitrary rotations by a combination of three rotation around the principle axes:
R=Rx,αRy,βRz,γ=1000cos(α)sin(α)0−sin(α)cos(α)cos(β)0−sin(β)010sin(β)0cos(β)cos(γ)sin(γ)0−sin(γ)cos(γ)0001
The idea here is:
- Euler angles lose degree of freedom at certain value (e.g β=2π)
- Cannot represent all "continuous" path of rotations!
This all brings us back to the notation of quaternion:
- A vector with 4 components, with 3 imaginary ones:
q=a+bi+cj+dk,i2=j2=k2=ijk=−1
- Adding quaternions works simply elementwise
- Multiplication is defined using the rules i2=j2=k2=ijk=−1
Rotation - Benefit of quaternion
- every rotation is represented by a unit 4D quaternion (or its opposite)
- this provides a double cover of the space of rotations
- isomorphic to SU(2), closely related to spinors in physics
- no singularity to worry about
- operations on rotations often simple (interpolation, composition, ...)
Other transformation
Scaling
xyz↦sxsyszxyz↦sxxsyyszzSsSsx,sy,sz=s000s000s=sx000sy000sz
Translation
Ttx,ty,tz:xyz↦x+txy+tyz+tz
Affine Homogeneous Coordinates
Now we represent 3D coordinate (x,y,z) by a a vector with another dimension:
xyz→xyz1
This is to make translation to be actually just a matrix multiplication too:
Ttx,ty,tz(x,y,z)=100001000010txtytz1xyz1=x+txy+tyz+tz
Note: Any affine transformation in 3D is a linear transformation in 4D
Projections

To project on the screen (actually just a surface) z=0:
xyz↦xy0PO=1000010000000001
xyz↦x/zy/z0PO=(???)
Actually, we can still make use of the homogenous coordinates:
PP(x,y,z)=1000010000010000xyz1=xy0z≡x/zy/z0
We simply used: xyzw≡x/wy/wz/w
Now we know where the name homogenous comes from.
Conclusion
Geometric modeling is about shape representation & manipulation
- In Euclidean world, isometric transformations are translations/rotations
- Representation of rotations: rotation matrices, quaternions…
- All conveniently represented w/ matrices; composition = matrix multiplication.
- Homogeneous coordinates "linearize" most useful transformations