[][src]Module pbrt::core::transform

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

AnimatedTransform
DerivativeTerm
Interval
Matrix4x4
Transform

Functions

interval_cos
interval_find_zeros
interval_sin
mtx_mul

The product of two matrices.

solve_linear_system_2x2

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