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, transform
boolean 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 MathTransform
NoninvertibleTransformException
- if the transform can not be inverted.AffineTransform.createInverse()
Copyright © 2010–2017 The Apache Software Foundation. All rights reserved.