Overview
The use of computers to synthesize and manipulate visual information.
Application
video game, movie, amimations, design, visualization, VR, AR, digital illustration, simulation, GUI, typography…
Course Topics
- Rasterization: Project geometry primitives (3D triangles / polygons) onto the screen.
- Curves and Mesh: Present geometry in Computer Graphs.
- Ray Tracing
- Animation / Simulation
Not for graphics API, 3D modeling, game engine.
Review of Linear Algebra
Transformations
Transformation: modeling & viewing.
2D Transformation
-> Linear Transforms (scale, reflection, shear, rotation) == Matrices
Homogeneous Coordinate
But linear transforms can not represent translation: . This problem is solved by using homogeneous coordinates, which add an extra dimension to the 2D point (x, y) to become (x, y, 1).
- 2D point: /
- 2D vector:
The third coordinate naturally enforces:
- point - point = vector (1 - 1 = 0)
- point + vector = point (1 + 0 = 1)
- vector + vector = vector (0 + 0 = 0)
- vector translation invariance: multiplying a vector by a translation matrix leaves it unchanged, since .
Affine transformations == linear map + translation: . Using homogeneous coordinate: