public class AffineTransform2d extends AffineTransform2dBase
[ A p ]
M = [ ]
[ 0 1 ]
where A is a 2 x 2 matrix and p is a 2-vector. In homogeneous coordinates,
this implements an affine transform of the form Matrix.Partition, Matrix.WriteFormat| Modifier and Type | Field and Description |
|---|---|
Matrix2d |
A
Matrix component.
|
static AffineTransform2d |
IDENTITY
Global identity transform.
|
Vector2d |
p
Vector component.
|
INDEFINITE, POSITIVE_DEFINITE, SPD, SYMMETRIC| Constructor and Description |
|---|
AffineTransform2d()
Creates an AffineTransform2d and initializes it to the identity.
|
AffineTransform2d(AffineTransform2dBase T)
Creates an AffineTransform2d and initializes it
from an existing on
|
AffineTransform2d(Vector2d p,
Matrix2d A)
Creates an AffineTransform2d and initializes its components to the
specified values.
|
| Modifier and Type | Method and Description |
|---|---|
AffineTransform2d |
copy() |
void |
fit(java.util.ArrayList<Point2d> p,
java.util.ArrayList<Point2d> q)
Sets this affine transform to one that provides the best fit of q to p in
the least-squares sense: p ~ X q
|
boolean |
invert()
Inverts this transform in place.
|
boolean |
invert(AffineTransform2dBase X)
Inverts transform X and places the result in this transform.
|
void |
mul(AffineTransform2dBase X)
Multiplies this transformation transformation X and places the result in
this transformation.
|
void |
mul(AffineTransform2dBase X1,
AffineTransform2dBase X2)
Multiplies transformation X1 by transformation X2 and places the result in
this transformation.
|
boolean |
mulInverse(AffineTransform2dBase X)
Multiplies this transformation by the inverse of transformation X and
places the result in this transformation.
|
boolean |
mulInverseBoth(AffineTransform2dBase X1,
AffineTransform2dBase X2)
Multiplies the inverse of transformation X1 by the inverse of
transformation X2 and places the result in this transformation.
|
boolean |
mulInverseLeft(AffineTransform2dBase X1,
AffineTransform2dBase X2)
Multiplies the inverse of transformation X1 by transformation X2 and
places the result in this transformation.
|
boolean |
mulInverseRight(AffineTransform2dBase X1,
AffineTransform2dBase X2)
Multiplies transformation X1 by the inverse of transformation X2 and
places the result in this transformation.
|
void |
set(RigidTransform2d X)
Sets this affine transform to the rigid body transform described by X.
|
void |
setRandom()
Sets the elements of this matrix to uniformly distributed random values in
the range -0.5 (inclusive) to 0.5 (exclusive).
|
colSize, epsilonEquals, equals, get, get, getColumn, getColumn, getMatrix, getOffset, getRow, getRow, mul, mul, mulInverse, mulInverse, rowSize, set, set, setColumn, setIdentity, setRowadd, checkConsistency, set, set, set, set, setCCSValues, setColumn, setCRSValues, setRow, setSubMatrixcontainsNaN, determinant, epsilonEquals, equals, frobeniusNorm, frobeniusNormSquared, get, getCCSIndices, getCCSIndices, getCCSIndices, getCCSValues, getCCSValues, getCCSValues, getColumn, getCRSIndices, getCRSIndices, getCRSIndices, getCRSValues, getCRSValues, getCRSValues, getDefaultFormat, getRow, getSize, getSubMatrix, hasNaN, idString, infinityNorm, isFixedSize, isSymmetric, isWritable, maxNorm, mul, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, numNonZeroVals, numNonZeroVals, oneNorm, scan, scan, setCRSValues, setDefaultFormat, setSize, toString, toString, toString, trace, write, write, write, write, write, write, write, writeToFileequals, getClass, hashCode, notify, notifyAll, wait, wait, waitdeterminant, epsilonEquals, equals, frobeniusNorm, frobeniusNormSquared, getCCSIndices, getCCSIndices, getCCSIndices, getCCSValues, getCCSValues, getCCSValues, getColumn, getCRSIndices, getCRSIndices, getCRSIndices, getCRSValues, getCRSValues, getCRSValues, getRow, getSize, getSubMatrix, infinityNorm, isFixedSize, isSymmetric, maxNorm, mul, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, numNonZeroVals, numNonZeroVals, oneNorm, scan, setSize, toString, toString, trace, write, write, writepublic static final AffineTransform2d IDENTITY
public final Matrix2d A
public final Vector2d p
public AffineTransform2d()
public AffineTransform2d(Vector2d p, Matrix2d A)
A - value for the A matrixp - value for the p vectorpublic AffineTransform2d(AffineTransform2dBase T)
T - initializing transformpublic void mul(AffineTransform2dBase X)
X - right-hand transformationpublic void mul(AffineTransform2dBase X1, AffineTransform2dBase X2)
X1 - left-hand transformationX2 - right-hand transformationpublic boolean mulInverse(AffineTransform2dBase X)
X - right-hand transformationpublic boolean mulInverseRight(AffineTransform2dBase X1, AffineTransform2dBase X2)
X1 - left-hand transformationX2 - right-hand transformationpublic boolean mulInverseLeft(AffineTransform2dBase X1, AffineTransform2dBase X2)
X1 - left-hand transformationX2 - right-hand transformationpublic boolean mulInverseBoth(AffineTransform2dBase X1, AffineTransform2dBase X2)
X1 - left-hand transformationX2 - right-hand transformationpublic boolean invert()
invert in class AffineTransform2dBasepublic boolean invert(AffineTransform2dBase X)
X - transform to invertpublic void set(RigidTransform2d X)
set in class AffineTransform2dBaseX - rigid body transform to copypublic void fit(java.util.ArrayList<Point2d> p, java.util.ArrayList<Point2d> q) throws ImproperSizeException
p - set of target 2d pointsq - set of input 2d pointsImproperSizeExceptionpublic void setRandom()
DenseMatrixBasesetRandom in class DenseMatrixBasepublic AffineTransform2d copy()
copy in class AffineTransform2dBase