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, setRow
add, checkConsistency, set, set, set, set, setCCSValues, setColumn, setCRSValues, setRow, setSubMatrix
containsNaN, 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, writeToFile
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
determinant, 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, write
public 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 AffineTransform2dBase
public boolean invert(AffineTransform2dBase X)
X
- transform to invertpublic void set(RigidTransform2d X)
set
in class AffineTransform2dBase
X
- 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 pointsImproperSizeException
public void setRandom()
DenseMatrixBase
setRandom
in class DenseMatrixBase
public AffineTransform2d copy()
copy
in class AffineTransform2dBase