Homogeneous Coordinates

Homogenous coordinates utilize a mathematical trick to embed three-dimensional coordinates and transformations into a four-dimensional matrix format. As a result, inversions or combinations of linear transformations are simplified to inversion or multiplication of the corresponding matrices. Homogenous coordinates also make it possible to define perspective transformations.

Homogenous coordinates allow each point (x, y, z) to be represented by any of an infinite number of four dimensional vectors:

The three-dimensional vector corresponding to any four-dimensional vector can be computed by dividing the first three elements by the fourth, and a four-dimensional vector corresponding to any three-dimensional vector can be created by simply adding a fourth element and setting it equal to one.

* Coordinate System

We need a coordinate system to describe an image, the coordinate system used to place elements in relation to each other is called user space, since this is the coordinates the user uses to define elements and position them in relation to each other.

The coordinate system has the origin in the upper left, with the x axis extending to the right and y axis extending downwards.

Matrix Representation

Matrices allow arbitrary linear transformations to be represented in a consistent format, suitable for computation. This also allows transformations to be concatenated easily (by multiplying their matrices).

Linear transformations are not the only ones that can be represented by matrices. Some transformations that are non-linear on a n-dimensional Euclidean space Rn, can be represented as linear transformations on the n+1-dimensional space Rn+1. These include both affine transformations (such as translation) and projective transformations. For this reason, 4×4 transformation matrices are widely used in 3D computer graphics. These n+1-dimensional transformation matrices are called, depending on their application, affine transformation matrices, projective transformation matrices, or more generally non-linear transformation matrices. With respect to an n-dimensional matrix, an n+1-dimensional matrix can be described as an augmented matrix.

Transformation

A transformation is the process of mapping points to other locations. Common transformations are Translation, Scaling and Rotation.

2D Transformation

* 2D Translation

In translation an object is displaced a given distance and direction from its original position.

* 2D Scaling

Scaling is the process of expanding or compressing the dimensions of an object.

* 2D Rotation

"Rotation" means turning around a center: The distance from the center to any point on the shape stays the same. Every point makes a circle around the center.

3D Transformation

Similar to 2D transformations, which used 3x3 matrices, 3D transformations use 4X4 matrices.

* 3D Rotation

Rotation of an object in space is done by means of rotation around coordinate axes.

* 3D Translation

Moves all the points in the Model3D in the direction of the offset vector you specify with the X, Y, and Z properties.

* 3D Scaling

Changes the model's scale by a specified scale vector with reference to a center point.

Composite Transformation

A sequence of transformations

Reflection

Reflection is accomplished in a ray trace renderer by following a ray from the eye to the mirror and then calculating where it bounces from, and continuing the process until no surface is found, or a non-reflective surface is found. Reflection on a shiny surface like wood or tile can add to the photorealistic effects of a 3D rendering.

* Polished

A Polished Reflection is an undisturbed reflection, like a mirror or chrome

Almost 100% reflective

* Metallic

A reflection is Metallic if the highlights and reflections retain the color of the reflective object.

The large sphere...