[−][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. |