In three-dimensional space we have a matrix (). Entries , , and are always zero and therefore do not appear in the constructors.
#include <CGAL/Aff_transformation_3.h>
|
| |||
|
introduces a translation by a vector .
| |||
|
| |||
|
introduces a scaling by a scale factor .
| |||
| |||
|
introduces a general affine transformation of the matrix
form .
The part
defines the scaling and rotational part of the transformation,
while the vector
contains the translational part.
| |||
| |||
|
introduces a general linear transformation of the
matrix form ,
i.e. an affine transformation without translational part.
| |||
Each class Class_3<R> representing a geometric object in 3D has a member function:
Class_3<R> transform(Aff_transformation_3<R> t).
The transformation classes provide a member function transform() for points, vectors, directions, and planes:
|
|
| |
|
|
| |
|
|
| |
|
|
| |
CGAL provides four function operators for these member functions:
|
|
|
|
|
|
| |
|
|
| |
|
|
|
|
|
| ||
|
| composes two affine transformations. | |
|
| ||
|
| gives the inverse transformation. | |
|
|
| returns true, if the transformation is not reflecting, i.e. the determinant of the involved linear transformation is non-negative. |
|
|
| returns true, if the transformation is reflecting. |
The matrix entries of a matrix representation of a Aff_transformation_2<R> can be accessed trough the following member functions:
|
|
| |
|
|
| |
| returns entry in a matrix representation in which is 1. | ||
|
|
| |
|
|
| |
| returns entry in some fixed matrix representation. | ||
For affine transformations no I/O operators are defined.