## Expand description

In general, transformations make it possible to work in the most convenient coordinate space.

### 4 x 4 Matrices

The **Matrix4x4** structure provides a low-level representation of
4 x 4 matrices. It is an integral part of the **Transform** class.

### Transformations

In general a transformation is a mapping from points to points and
from vectors to vectors. When a new **Transform** is created, it
defaults to the *identity transformation* - the transformation
that maps each point and each vector to itself.

#### Translations

One of the simplest transformations is the translation transformation. Translations only affect points, leaving vectors unchanged.

#### Scaling

Another basic transformations is the scale transformation. We can
differentiate between **uniform** scaling, where all three scale
factors have the same value, and **nonuniform** scaling, where
they may have different values.

#### X, Y, And Z Axis Rotations

Another useful type of transformation is the rotation transformation.

#### Rotation Around an Arbitrary Axis

We also provide a routine to compute the transformation that represents rotation around an arbitrary axis.

#### The Look-At Transformation

The *look-at* transformation is particularly useful for placing a
camera in the scene. The caller specifies the desired position of
the camera, a point the camera is looking at, and an “up” vector
that orients the camera along the viewing direction implied by the
first two parameters. All of these values are given in world space
coordinates. The look-at construction then gives a transformation
between camera space and world space.

### Quaternions

Quaternions were originally invented by Sir William Hamilton in 1843 as a generalization of complex numbers (2 dimensions) to four dimensions.

## Structs

## Functions

The product of two matrices.

Finds the closed-form solution of a 2x2 linear system.