Last updated 2004-06-28 by Roedy
Green ©1996-2004 Canadian Mind Products
Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
You are here : home : Java Glossary : A words : AffineTransform.
[ x'] [ m00 m01 m02 ] [ x ] [ m00 * x + m01 * y + m02 ]
[ y'] = [ m10 m11 m12 ] [ y ] = [ m10 * x + m11 * y + m12 ]
[ 1 ] [ 0 0 1 ] [ 1 ] [ 1 ]
... // transform that shifts points 10 left and 20 "down" AffineTransform transformer = AffineTransform.getTranslateInstance ( 10.0d ,- 20.0d ); // create point Point2D before = new Point2D.Double( 3.0d , 6.0d ); // create point to hold result Point2D after = new Point2D.Double(); // transform the point after = transformer.transform ( before, after ); // prints 13.0,-14.0 System.out.println( after.getX() + "," + after.getY());
public void paintComponent ( Graphics g ) { super.paintComponent( g ); // access extended 2D graphics methods. Graphics2D g2 = ( Graphics2D ) g; // save original transform AffineTransform origTransform = g.getTransform(); // transform that shifts points 10 left and 20 "down" AffineTransform transformer = AffineTransform.getTranslateInstance ( 10.0d , -20.0d); // also apply a rotation. transformer.rotate ( Math.toRadians( 30 ) ); // hook up our new transform g.setTransform ( transformer ); // choose font g.setFont(new Font( "Sans" , Font.BOLD, 24 )); // draw specifying untransformed co-ordinates. g.drawString( "Hello World", 0.0d, 5.0d); // restore original transform g.setTransform( origTransform ); }
... // transform that shifts points 10 left and 20 "down" AffineTransform transformer = AffineTransform.getTranslateInstance ( 10.0d ,- 20.0d ); // create transform to undo the translation. AffineTransform reverse = transformer.createInverse(); // manually untransform points as above with reverse.transform( before, after )
You can learn more with a Google search.
home |
Canadian Mind Products | |||
| mindprod.com IP:[24.87.56.253] | ||||
| Your IP:[80.134.30.163] | ||||
| You are visitor number 1442. | ||||
| Please send errors, omissions and suggestions | ||||
| to improve this page to Roedy Green. | ||||
| You can get a fresh copy of this page from: | or possibly from your local J: drive mirror: | |||
| http://mindprod.com/jgloss/affinetransform.html | J:\mindprod\jgloss\affinetransform.html | |||