public class AffineTransform extends CoordinateTransform
From http://graphics.lcs.mit.edu/classes/6.837/F01/Lecture07/lecture07.pdf:
[ x1_ ] = [ x1 y1 1 0 0 0 ] [ a11 ]
[ y1_ ] = [ 0 0 0 x1 y1 1 ] [ a12 ]
[ x2_ ] = [ x2 y2 1 0 0 0 ] [ a13 ]
[ y2_ ] = [ 0 0 0 x2 y2 1 ] [ a21 ]
[ x3_ ] = [ x3 y3 1 0 0 0 ] [ a22 ]
[ y3_ ] = [ 0 0 0 x3 y3 1 ] [ a23 ]
x_ = X a
Solution: a = Xinv x_
| Constructor and Description |
|---|
AffineTransform(com.vividsolutions.jts.geom.Coordinate p1,
com.vividsolutions.jts.geom.Coordinate p1_)
A transformation that maps p1 to p1_ via a translation (no rotation or shear).
|
AffineTransform(com.vividsolutions.jts.geom.Coordinate p1,
com.vividsolutions.jts.geom.Coordinate p1_,
com.vividsolutions.jts.geom.Coordinate p2,
com.vividsolutions.jts.geom.Coordinate p2_)
A transformation that maps p1 to p1_ and p2 to p2_ via a translation,
rotation, and scaling (no "relative" shear).
|
AffineTransform(com.vividsolutions.jts.geom.Coordinate p1,
com.vividsolutions.jts.geom.Coordinate p1_,
com.vividsolutions.jts.geom.Coordinate p2,
com.vividsolutions.jts.geom.Coordinate p2_,
com.vividsolutions.jts.geom.Coordinate p3,
com.vividsolutions.jts.geom.Coordinate p3_)
A transformation that maps p1 to p1_, p2 to p2_ and p3 to p3_.
|
| Modifier and Type | Method and Description |
|---|---|
static com.vividsolutions.jts.geom.Coordinate |
rotate90(com.vividsolutions.jts.geom.Coordinate a,
com.vividsolutions.jts.geom.Coordinate b)
Determines where a point would end up if it were rotated 90 degrees about
another point.
|
com.vividsolutions.jts.geom.Coordinate |
transform(com.vividsolutions.jts.geom.Coordinate c)
Applies the affine transform to a point.
|
transform, transformpublic AffineTransform(com.vividsolutions.jts.geom.Coordinate p1,
com.vividsolutions.jts.geom.Coordinate p1_)
p1 - a pointp1_ - the point it maps topublic AffineTransform(com.vividsolutions.jts.geom.Coordinate p1,
com.vividsolutions.jts.geom.Coordinate p1_,
com.vividsolutions.jts.geom.Coordinate p2,
com.vividsolutions.jts.geom.Coordinate p2_)
p1 - a pointp1_ - the point p1 maps top2 - another pointp2_ - the point p2 maps topublic AffineTransform(com.vividsolutions.jts.geom.Coordinate p1,
com.vividsolutions.jts.geom.Coordinate p1_,
com.vividsolutions.jts.geom.Coordinate p2,
com.vividsolutions.jts.geom.Coordinate p2_,
com.vividsolutions.jts.geom.Coordinate p3,
com.vividsolutions.jts.geom.Coordinate p3_)
p1 - a pointp1_ - the point p1 maps top2 - another pointp2_ - the point p2 maps top3 - another pointp3_ - the point p3 maps topublic static com.vividsolutions.jts.geom.Coordinate rotate90(com.vividsolutions.jts.geom.Coordinate a,
com.vividsolutions.jts.geom.Coordinate b)
a - the fixed pointb - the point to rotate (b itself will not be changed)public com.vividsolutions.jts.geom.Coordinate transform(com.vividsolutions.jts.geom.Coordinate c)
[ x_ ] = [ a11 a12 a13 ] [ x ]
[ y_ ] = [ a21 a22 a23 ] [ y ]
[ 1 ] = [ 0 0 1 ] [ 1 ]
transform in class CoordinateTransformc - the input to the affine transform