public interface LinearTransform extends MathTransform
Such a coordinate transformation can be represented by a matrix of arbitrary size, which is given by the
getMatrix() method. The relationship between matrix size and transform dimensions is as below:
PerspectiveTransform
in Java Advanced Imaging.
For example a square matrix of size 4×4 is used for transforming three-dimensional coordinates.
The transformed points (x',y',z') are computed as below:
where u, v, w and t are obtained by |
LinearTransform is to use the MathTransforms.linear(Matrix)
convenience method.MathTransforms.linear(Matrix),
LinearTransformBuilder,
AffineTransform,
Affine transformation on MathWorldDefined in the sis-referencing module
| Modifier and Type | Method and Description |
|---|---|
void |
deltaTransform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
Transforms an array of relative distance vectors.
|
Matrix |
getMatrix()
Returns the coefficients of this linear transform as a matrix.
|
LinearTransform |
inverse()
Returns the inverse transform of this object, which shall also be linear.
|
boolean |
isAffine()
Returns
true if this transform is affine. |
derivative, getSourceDimensions, getTargetDimensions, isIdentity, toWKT, transform, transform, transform, transform, transformboolean isAffine()
true if this transform is affine.
An affine transform preserves parallelism.true if this transform is affine.MatrixSIS.isAffine()Matrix getMatrix()
MathTransform is equivalent to multiplying the
returned matrix by a vector containing the ordinate values with an additional 1 in the last row.
See LinearTransform class Javadoc for more details.MathTransforms.getMatrix(MathTransform)void deltaTransform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff,
int numPts)
throws TransformException
srcPts - the array containing the source vectors.srcOff - the offset to the first vector to be transformed in the source array.dstPts - the array into which the transformed vectors are returned. Can be the same than srcPts.dstOff - the offset to the location of the first transformed vector that is stored in the destination array.numPts - the number of vector objects to be transformed.TransformException - if a vector can not be transformed.AffineTransform.deltaTransform(double[], int, double[], int, int)LinearTransform inverse() throws NoninvertibleTransformException
inverse in interface MathTransformNoninvertibleTransformException - if the transform can not be inverted.AffineTransform.createInverse()Copyright © 2010–2017 The Apache Software Foundation. All rights reserved.