Mixed transform allows to express common integer view transformations such as translation, rotation, rotoinversion, and projection.
It transform a n-dimensional source vector to a m-dimensional target vector, and can be represented as a m+1 × n+1 homogeneous matrix. The mixed transform can be decomposed as follows:
- project down (discard some components of the source vector)
- component permutation
- component inversion
- project up (add zero components in the target vector)
- translation
The project down and component permutation steps are implemented by the {@link #setComponentMapping(int[]) component mapping}. This is a lookup array that specifies for each target dimension from which source dimension it is taken. Note, that it is not allowed to set this array such that a source component is mapped to several target components!
@author Tobias Pietzsch