JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.awt.geom
Ŭ·¡½º AffineTransform

java.lang.Object 
  |
  +--java.awt.geom.AffineTransform
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Cloneable , Serializable

public class AffineTransform
extends Object
implements Cloneable , Serializable

AffineTransform Ŭ·¡½º´Â ¼±ÀÇ Á÷¼±¼º°ú ÆòÇ༺À» À¯ÁöÇÑä·Î 2 Â÷¿ø ÁÂÇ¥°£ÀÇ ¼±Çü ¸ÅÇÎÀ» ½ÇÇàÇÏ´Â 2 Â÷¿ø ¾ÆÇÉ º¯È¯À» Ç¥ÇöÇÕ´Ï´Ù. ¾ÆÇÉ º¯È¯Àº ÀÏ·ÃÀÇ ÆòÇàÀ̵¿, ½½Ä¶¸µ, ¹ÝÀü, ȸÀü, º¯Çü¿¡ ÀÇÇØ ±¸¼ºµË´Ï´Ù.

ÀÌ·¯ÇÑ ÁÂÇ¥º¯È­´Â ¾Ï¹¬À¸·Î ÁöÁ¤µÈ [ 0 0 1 ] À̶ó°í ÇÏ´Â ¸Ç ¸¶Áö¸· ÁÙÀ» °¡Áö´Â 3 Çà¡¿ 3 ¿­ÀÇ Çà·Ä¿¡ ÀÇÇØ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Çà·ÄÀº ´ÙÀ½ÀÇ Ã³¸®¿¡ µû¶ó, ÁÂÇ¥¸¦ ¿­À̶ó°í ºÁ, ÁÂÇ¥ º¤Å͸¦ Çà·Ä·Î °ö¼ÀÇÏ´Â °Í¿¡ ÀÇÇØ, Àü¼Û¿øÁÂÇ¥ (x,  y) ¸¦ Àü¼Ûó ÁÂÇ¥ (x',  y') ·Î º¯È¯ÇÕ´Ï´Ù.

	[ x']   [  m00  m01  m02  ] [ x ]   [ m00x + m01y + m02 ]
	[ y'] = [  m10  m11  m12  ] [ y ] = [ m10x + m11y + m12 ]
	[ 1 ]   [   0    0    1   ] [ 1 ]   [         1         ]

°ü·Ã Ç׸ñ:
Á÷·ÄÈ­ µÈ Çü½Ä

ÇʵåÀÇ °³¿ä
static int TYPE_FLIP
          ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, ¾î´À ÃàÀ» Áß½ÉÀ¸·Î ÇÏ´Â °æ»ó¹ÝÀüÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
static int TYPE_GENERAL_ROTATION
          ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, ÀÓÀÇÀÇ °¢µµ¿¡ ÀÇÇÑ È¸ÀüÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
static int TYPE_GENERAL_SCALE
          ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, ¹ü¿ëÀûÀÎ ½½Ä¶¸µÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
static int TYPE_GENERAL_TRANSFORM
          ÀÌ Á¤¼ö´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ÀÔ·Â ÁÂÇ¥ÀÇ ÀÓÀÇÀÇ º¯È¯À» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
static int TYPE_IDENTITY
          ÀÌ Á¤¼ö´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ Ç׵ȯÀÎ °ÍÀ» ³ªÅ¸³À´Ï´Ù.
static int TYPE_MASK_ROTATION
          ÀÌ Á¤¼ö´Â ȸÀü flag bitÀÇ ¾î¶² °ÍÀΰ¡ÀÇ ºñÆ® ¸¶½ºÅ©ÀÔ´Ï´Ù.
static int TYPE_MASK_SCALE
          ÀÌ Á¤¼ö´Â ½ºÄÉÀÏ flag bitÀÇ ¾î¶² °ÍÀΰ¡ÀÇ ºñÆ® ¸¶½ºÅ©ÀÔ´Ï´Ù.
static int TYPE_QUADRANT_ROTATION
          ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, 90 ¹øÀÇ ¹è¼ö¿¡ 4ºÐ¿ø ȸÀüÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
static int TYPE_TRANSLATION
          ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, 1 °³ÀÇ À̵¿À» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
static int TYPE_UNIFORM_SCALE
          ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, ÇѰᰰÀº ½½Ä¶¸µÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.
 
»ý¼ºÀÚÀÇ °³¿ä
AffineTransform ()
          Ç׵ȯÀ» Ç¥ÇöÇÏ´Â »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.
AffineTransform (AffineTransform  Tx)
          ÁöÁ¤µÈ AffineTransform ¿ÀºêÁ§Æ®ÀÇ Ä«ÇÇÀÎ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.
AffineTransform (double[] flatmatrix)
          3¡¿3 º¯È¯ Çà·ÄÀÇ 4 °³ÀÇ ºñÆòÇàÀ̵¿ ¿£Æ®¸® ¶Ç´Â 6 °³ÀÇ ÁöÁ¤ °¡´É ¿£Æ®¸®ÀÇ ¾î´À ÂÊÀÎÁö¸¦ Ç¥ÇöÇÏ´Â ¹èÁ¤¹ÐµµÄ¡ÀÇ ¹è¿­·ÎºÎÅÍ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.
AffineTransform (double m00, double m10, double m01, double m11, double m02, double m12)
          3¡¿3 º¯È¯ Çà·ÄÀÇ 6 °³ÀÇ ÁöÁ¤ °¡´É ¿£Æ®¸®¸¦ Ç¥ÇöÇÏ´Â 6 °³ÀÇ ¹èÁ¤¹ÐµµÄ¡·ÎºÎÅÍ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.
AffineTransform (float[] flatmatrix)
          3¡¿3 º¯È¯ Çà·ÄÀÇ 4 °³ÀÇ ºñÆòÇàÀ̵¿ ¿£Æ®¸® ¶Ç´Â 6 °³ÀÇ ÁöÁ¤ °¡´É ¿£Æ®¸®ÀÇ ¾î´À ÂÊÀÎÁö¸¦ Ç¥ÇöÇÏ´Â ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ ¹è¿­·ÎºÎÅÍ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.
AffineTransform (float m00, float m10, float m01, float m11, float m02, float m12)
          3¡¿3 º¯È¯ Çà·ÄÀÇ 6 °³ÀÇ ÁöÁ¤ °¡´É ¿£Æ®¸®¸¦ Ç¥ÇöÇÏ´Â 6 °³ÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡·ÎºÎÅÍ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 Object clone ()
          ÀÌ AffineTransform ¿ÀºêÁ§Æ®ÀÇ Ä«ÇǸ¦ µ¹·ÁÁÝ´Ï´Ù.
 void concatenate (AffineTransform  Tx)
          Tx ¿¡ ÀÇÇØ ¿øÀÇ À¯Àú °ø°£¿¡ MAP µÈ »õ·Î¿î À¯Àú °ø°£À» Á¦°øÇϱâ À§Çؼ­ °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¹æ¹ýÀ¸·Î,AffineTransform Tx ¸¦ ÀÌ AffineTransform Cx ¿¡ ¿¬°áÇÕ´Ï´Ù.
 AffineTransform createInverse ()
          ¿ªº¯È¯À» Ç¥ÇöÇÏ´Â AffineTransform ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
 Shape createTransformedShape (Shape  pSrc)
          ÁöÁ¤µÈ Shape ¸¦ ÀÌ º¯È¯¿¡ ÀÇÇØ º¯È¯ÇØ, ±× Shape ÀÇ Áö¿À¸ÞÆ®¸®¿¡ ÀÇÇØ Á¤ÀǵǴ »õ·Î¿î Shape ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
 void deltaTransform (double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          ÀÌ º¯È¯¿¡ ÀÇÇØ »ó´ëÀûÀÎ °Å¸® º¤ÅÍÀÇ ¹è¿­À» º¯È¯ÇÕ´Ï´Ù.
 Point2D deltaTransform (Point2D  ptSrc, Point2D  ptDst)
          ptSrc ¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â »ó´ëÀûÀÎ °Å¸® º¤Å͸¦ º¯È¯ÇØ, ±× °á°ú¸¦ ptDst ¿¡ ÀúÀåÇÕ´Ï´Ù.
 boolean equals (Object  obj)
          ÀÌ AffineTransform ÀÌ, ÁöÁ¤µÈ Àμö¿Í °°Àº ¾ÆÇÉ ÁÂÇ¥º¯È­¸¦ Ç¥ÇöÇÏ´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 double getDeterminant ()
          º¯È¯ÀÇ Çà·Ä Ç¥ÇöÀÇ Çà·Ä½ÄÀ» µ¹·ÁÁÝ´Ï´Ù.
 void getMatrix (double[] flatmatrix)
          3¡¿3 ¾ÆÇÉ º¯È¯ Çà·Ä³»ÀÇ 6 °³ÀÇ ÁöÁ¤ °¡´ÉÇÑ °ªÀ» ²¨³», ¹èÁ¤¹ÐµµÄ¡ÀÇ ¹è¿­¿¡ ¹èÄ¡ÇÕ´Ï´Ù.
static AffineTransform getRotateInstance (double theta)
          È¸Àü º¯È¯À» Ç¥ÇöÇÏ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù.
static AffineTransform getRotateInstance (double theta, double x, double y)
          ¿¨Ä¿ Æ÷ÀÎÆ®¸¦ Áß½ÉÀ¸·Î ÇØ ÁÂÇ¥¸¦ ȸÀü½ÃŰ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù.
static AffineTransform getScaleInstance (double sx, double sy)
          ½½Ä¶¸µ º¯È¯À» Ç¥ÇöÇÏ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù.
 double getScaleX ()
          3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ X ÁÂÇ¥ ½½Ä¶¸µ ¿ä¼Ò (m00)¸¦ µ¹·ÁÁÝ´Ï´Ù.
 double getScaleY ()
          3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ Y ÁÂÇ¥ ½½Ä¶¸µ ¿ä¼Ò (m11)¸¦ µ¹·ÁÁÝ´Ï´Ù.
static AffineTransform getShearInstance (double shx, double shy)
          ¼Å¸µ º¯È¯À» Ç¥ÇöÇÏ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù.
 double getShearX ()
          3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ X ÁÂÇ¥ ¼Å¸µ ¿ä¼Ò (m01)¸¦ µ¹·ÁÁÝ´Ï´Ù.
 double getShearY ()
          3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ Y ÁÂÇ¥ ¼Å¸µ ¿ä¼Ò (m10)¸¦ µ¹·ÁÁÝ´Ï´Ù.
static AffineTransform getTranslateInstance (double tx, double ty)
          ÆòÇàÀ̵¿ º¯È¯À» Ç¥ÇöÇÏ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù.
 double getTranslateX ()
          3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ÆòÇàÀ̵¿ ¿ä¼Ò (m02)ÀÇ X ÁÂÇ¥¸¦ µ¹·ÁÁÝ´Ï´Ù.
 double getTranslateY ()
          3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ÆòÇàÀ̵¿ ¿ä¼Ò (m12)ÀÇ Y ÁÂÇ¥¸¦ µ¹·ÁÁÝ´Ï´Ù.
 int getType ()
          ÀÌ º¯È¯ÀÇ º¯È¯ ÇÁ·ÎÆÛƼ¸¦ ±â¼úÇÏ´Â flag bit¸¦ µ¹·ÁÁÝ´Ï´Ù.
 int hashCode ()
          ÀÌ º¯È¯ÀÇ ÇØ½Ã Äڵ带 µ¹·ÁÁÝ´Ï´Ù.
 void inverseTransform (double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          ÀÌ º¯È¯¿¡ ÀÇÇØ ¹èÁ¤¹ÐµµÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» ¿ªº¯È¯ÇÕ´Ï´Ù.
 Point2D inverseTransform (Point2D  ptSrc, Point2D  ptDst)
          ÁöÁ¤µÈ ptSrc ¸¦ ¿ªº¯È¯ÇØ, ±× °á°ú¸¦ ptDst ¿¡ ÀúÀåÇÕ´Ï´Ù.
 boolean isIdentity ()
          ÀÌ AffineTransform ÀÌ Ç׵ȯÀÎ °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 void preConcatenate (AffineTransform  Tx)
          Tx °¡ ±âÁ¸ÀÇ À¯Àú °ø°£Àº ¾Æ´Ï°í Àý´ë Çȼ¿ °ø°£À» ±âÁØ(À ÁÂÇ¥º¯È­¸¦ º¯°æÇÏ´Â µî ÀϹÝÀûÀ¸·Î´Â ±×´ÙÁö »ç¿ëµÇÁö ¾Ê´Â ¹æ¹ýÀ¸·Î,AffineTransform Tx ¸¦ ÀÌ AffineTransform Cx ¿¡ ¿¬°áÇÕ´Ï´Ù.
 void rotate (double theta)
          ÀÌ º¯È¯À» ȸÀü º¯È¯¿¡ ¿¬°áÇÕ´Ï´Ù.
 void rotate (double theta, double x, double y)
          ÀÌ º¯È¯À», ¿¨Ä¿ Æ÷ÀÎÆ®¸¦ Áß½ÉÀ¸·Î ÇØ ÁÂÇ¥¸¦ ȸÀüÇÏ´Â º¯È¯°ú ¿¬°áÇÕ´Ï´Ù.
 void scale (double sx, double sy)
          ÀÌ º¯È¯À» ½½Ä¶¸µ º¯È¯¿¡ ¿¬°áÇÕ´Ï´Ù.
 void setToIdentity ()
          ÀÌ º¯È¯À» Ç׵ȯÀ¸·Î ´Ù½Ã ¼³Á¤ÇÕ´Ï´Ù.
 void setToRotation (double theta)
          ÀÌ º¯È¯À» ȸÀü º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 void setToRotation (double theta, double x, double y)
          ÀÌ º¯È¯À» ÆòÇàÀ̵¿ ÈÄÀÇ È¸Àü º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 void setToScale (double sx, double sy)
          ÀÌ º¯È¯À» ½½Ä¶¸µ º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 void setToShear (double shx, double shy)
          ÀÌ º¯È¯À» ¼Å¸µ º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 void setToTranslation (double tx, double ty)
          ÀÌ º¯È¯À» ÆòÇàÀ̵¿ º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
 void setTransform (AffineTransform  Tx)
          ÀÌ º¯È¯À», ÁöÁ¤µÈ AffineTransform ¿ÀºêÁ§Æ®³»ÀÇ º¯È¯ÀÇ Ä«ÇÇ·Î ¼³Á¤ÇÕ´Ï´Ù.
 void setTransform (double m00, double m10, double m01, double m11, double m02, double m12)
          ÀÌ º¯È¯À» 6 °³ÀÇ ¹èÁ¤¹ÐµµÄ¡¿¡ ÀÇÇØ ÁöÁ¤µÇ°í ÀÖ´Â Çà·Ä·Î ¼³Á¤ÇÕ´Ï´Ù.
 void shear (double shx, double shy)
          ÀÌ º¯È¯À» ¼Å¸µ º¯È¯¿¡ ¿¬°áÇÕ´Ï´Ù.
 String toString ()
          ÀÌ Object ÀÇ °ªÀ» Ç¥ÇöÇÏ´Â String ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 void transform (double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          ÀÌ º¯È¯¿¡ ÀÇÇØ, ¹èÁ¤¹ÐµµÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» º¯È¯ÇÕ´Ï´Ù.
 void transform (double[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
          ÀÌ º¯È¯¿¡ ÀÇÇØ ¹èÁ¤¹ÐµµÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» º¯È¯ÇØ, °á°ú¸¦ float Ä¡ÀÇ ¹è¿­¿¡ ÀúÀåÇÕ´Ï´Ù.
 void transform (float[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          ÀÌ º¯È¯¿¡ ÀÇÇØ ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» º¯È¯ÇØ, °á°ú¸¦ double Ä¡ÀÇ ¹è¿­¿¡ ÀúÀåÇÕ´Ï´Ù.
 void transform (float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
          ÀÌ º¯È¯¿¡ ÀÇÇØ, ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» º¯È¯ÇÕ´Ï´Ù.
 void transform (Point2D [] ptSrc, int srcOff, Point2D [] ptDst, int dstOff, int numPts)
          ÀÌ º¯È¯¿¡ ÀÇÇØ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®ÀÇ ¹è¿­À» º¯È¯ÇÕ´Ï´Ù.
 Point2D transform (Point2D  ptSrc, Point2D  ptDst)
          ÁöÁ¤µÈ ptSrc ¸¦ º¯È¯ÇØ, ±× °á°ú¸¦ ptDst ¿¡ ÀúÀåÇÕ´Ï´Ù.
 void translate (double tx, double ty)
          ÀÌ º¯È¯À» ÆòÇàÀ̵¿ º¯È¯¿¡ ¿¬°áÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
finalize , getClass , notify , notifyAll , wait , wait , wait
 

ÇʵåÀÇ »ó¼¼

TYPE_IDENTITY

public static final int TYPE_IDENTITY
ÀÌ Á¤¼ö´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ Ç׵ȯÀÎ °ÍÀ» ³ªÅ¸³À´Ï´Ù. Ç׵ȯ¿¡¼­´Â Ãâ·Â ÁÂÇ¥°¡ Ç×»ó ÀÔ·Â ÁÂÇ¥¿Í °°°Ô µË´Ï´Ù. ÀÌ º¯È¯ÀÌ Ç׵ȯÀÌ ¾Æ´Ñ °æ¿ì, ŸÀÔÀº Á¤¼ö GENERAL_TRANSFORM Àΰ¡, ÀÌ º¯È¯ÀÌ ½ÇÇàÇÏ´Â ´Ù¾çÇÑ ÁÂÇ¥º¯È­¸¦ À§ÇÑ ÀûÀýÇÑ flag bitÀÇ Æí¼ºÀÇ ¾îµò°¡¿¡ µË´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_TRANSLATION , TYPE_UNIFORM_SCALE , TYPE_GENERAL_SCALE , TYPE_FLIP , TYPE_QUADRANT_ROTATION , TYPE_GENERAL_ROTATION , TYPE_GENERAL_TRANSFORM , getType() , Á¤¼ö ÇʵåÄ¡

TYPE_TRANSLATION

public static final int TYPE_TRANSLATION
ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, 1 °³ÀÇ À̵¿À» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. À̵¿¿¡¼­´Â º¤ÅÍÀÇ ±æÀ̳ª °¢µµ¸¦ ¹Ù²ÙÁö ¾Ê°í ÁÂÇ¥¸¦ x ¹æÇâ°ú y ¹æÇâÀ¸·Î ÀÏÁ¤·®¸¸ À̵¿ÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_IDENTITY , TYPE_UNIFORM_SCALE , TYPE_GENERAL_SCALE , TYPE_FLIP , TYPE_QUADRANT_ROTATION , TYPE_GENERAL_ROTATION , TYPE_GENERAL_TRANSFORM , getType() , Á¤¼ö ÇʵåÄ¡

TYPE_UNIFORM_SCALE

public static final int TYPE_UNIFORM_SCALE
ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, ÇѰᰰÀº ½½Ä¶¸µÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÀÏ·üÀûÀÎ ½½Ä¶¸µ¿¡¼­´Â º¤ÅͰ£ÀÇ °¢µµ¸¦ ¹Ù²ÙÁö ¾Ê°í º¤ÅÍÀÇ ±æÀ̸¦ x ¹æÇâ°ú y ¹æÇâÀÇ ¾î´À ÂÊ¿¡µµ ÀÏÁ¤·®¸¸ °ö¼ÀÇÕ´Ï´Ù. ÀÌ flag bit´Â TYPE_GENERAL_SCALE Ç÷¡±×¿Í ¼­·Î ¹èŸÀûÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_IDENTITY , TYPE_TRANSLATION , TYPE_GENERAL_SCALE , TYPE_FLIP , TYPE_QUADRANT_ROTATION , TYPE_GENERAL_ROTATION , TYPE_GENERAL_TRANSFORM , getType() , Á¤¼ö ÇʵåÄ¡

TYPE_GENERAL_SCALE

public static final int TYPE_GENERAL_SCALE
ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, ¹ü¿ëÀûÀÎ ½½Ä¶¸µÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ¹ü¿ëÀûÀÎ ½½Ä¶¸µ¿¡¼­´Â ¼öÁ÷ÀÎ º¤ÅͰ£ÀÇ °¢µµ¸¦ ¹Ù²ÙÁö ¾Ê°í º¤ÅÍÀÇ ±æÀ̸¦ x ¹æÇâ°ú y ¹æÇâÀ¸·Î ´Ù¸¥ ¾ç¸¸ °ö¼ÀÇÕ´Ï´Ù. ÀÌ flag bit´Â TYPE_UNIFORM_SCALE Ç÷¡±×¿Í ¼­·Î ¹èŸÀûÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_IDENTITY , TYPE_TRANSLATION , TYPE_UNIFORM_SCALE , TYPE_FLIP , TYPE_QUADRANT_ROTATION , TYPE_GENERAL_ROTATION , TYPE_GENERAL_TRANSFORM , getType() , Á¤¼ö ÇʵåÄ¡

TYPE_MASK_SCALE

public static final int TYPE_MASK_SCALE
ÀÌ Á¤¼ö´Â ½ºÄÉÀÏ flag bitÀÇ ¾î¶² °ÍÀΰ¡ÀÇ ºñÆ® ¸¶½ºÅ©ÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_UNIFORM_SCALE , TYPE_GENERAL_SCALE , Á¤¼ö ÇʵåÄ¡

TYPE_FLIP

public static final int TYPE_FLIP
ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, ¾î´À ÃàÀ» Áß½ÉÀ¸·Î ÇÏ´Â °æ»ó¹ÝÀüÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. °æ»ó¹ÝÀü¿¡ ÀÇÇØ, Åë»óÀº ¿À¸¥¼ÕÀÇ ÁÂÇ¥°è°¡ ¿Þ¼ÕÀÇ ÁÂÇ¥°è·Î º¯°æµË´Ï´Ù. ¿À¸¥¼ÕÀÇ ÁÂÇ¥°è´Â ¿À¸¥¼ÕÀÇ ¾öÁöÀÇ Ã·´ÜÀ» ÀÀ½ÃÇϰí ÀÖ´Â »óÅ·Π¾öÁö ÀÌ¿ÜÀÇ ¼Õ°¡¶ôÀ» ±ÁÈ÷´Â °Í°ú °°Àº ¹æÇâÀ¸·Î, Á¤ÀÇ X ÃàÀÌ ¹Ý½Ã°è¹æÇâÀ¸·Î ȸÀüÇØ Á¤ÀÇ Y ÃàÀ¸·Î °ãÄ¡´Â °ÍÀÔ´Ï´Ù. ¿Þ¼ÕÀÇ ÁÂÇ¥°è´Â ¿Þ¼ÕÀÇ ¾öÁö Àܸ̿¦ ±ÁÈ÷´Â °Í°ú °°Àº ¹æÇâÀ¸·Î, Á¤ÀÇ X ÃàÀÌ ½Ã°è ¹æÇâÀ¸·Î ȸÀüÇØ Á¤ÀÇ Y ÃàÀ¸·Î °ãÄ¡´Â °ÍÀÔ´Ï´Ù. ÀûÀýÇÑ Á¶Á¤ ȸÀüÀ» ÁöÁ¤Çϸé(ÀÚ) ȸÀüÀÇ °¢µµ´Â ¸ðµÎ °°°Ô µÇ¹Ç·Î, ¿øÀÇ ¹ÝÀü ¶Ç´Â ¹Ð·¯ º¯È¯ÀÇ °¢µµ¸¦ ÆÇÁ¤ÇÏ´Â »ê¼úÀû ¹æ¹ýÀº ¾ø½À´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_IDENTITY , TYPE_TRANSLATION , TYPE_UNIFORM_SCALE , TYPE_GENERAL_SCALE , TYPE_QUADRANT_ROTATION , TYPE_GENERAL_ROTATION , TYPE_GENERAL_TRANSFORM , getType() , Á¤¼ö ÇʵåÄ¡

TYPE_QUADRANT_ROTATION

public static final int TYPE_QUADRANT_ROTATION
ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, 90 ¹øÀÇ ¹è¼ö¿¡ 4ºÐ¿ø ȸÀüÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ȸÀü¿¡¼­´Â º¤ÅÍÀÇ ±æÀ̸¦ ¹Ù²ÙÁö ¾Ê°í , ¿øÀÇ ¹æÇâ ¿¡ °ü°è¾øÀÌ °°Àº ¾ç¸¸ º¤ÅÍÀÇ °¢µµ¸¦ º¯°æÇÕ´Ï´Ù. ÀÌ flag bit´Â TYPE_GENERAL_ROTATION Ç÷¡±×¿Í ¼­·Î ¹èŸÀûÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_IDENTITY , TYPE_TRANSLATION , TYPE_UNIFORM_SCALE , TYPE_GENERAL_SCALE , TYPE_FLIP , TYPE_GENERAL_ROTATION , TYPE_GENERAL_TRANSFORM , getType() , Á¤¼ö ÇʵåÄ¡

TYPE_GENERAL_ROTATION

public static final int TYPE_GENERAL_ROTATION
ÀÌ flag bit´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ´Ù¸¥ flag bit¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â º¯È¯¿¡ °¡¼¼ÇØ, ÀÓÀÇÀÇ °¢µµ¿¡ ÀÇÇÑ È¸ÀüÀ» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ȸÀü¿¡¼­´Â º¤ÅÍÀÇ ±æÀ̸¦ ¹Ù²ÙÁö ¾Ê°í , ¿øÀÇ ¹æÇâ ¿¡ °ü°è¾øÀÌ °°Àº ¾ç¸¸ º¤ÅÍÀÇ °¢µµ¸¦ º¯°æÇÕ´Ï´Ù. ÀÌ flag bit´Â TYPE_QUADRANT_ROTATION Ç÷¡±×¿Í ¼­·Î ¹èŸÀûÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_IDENTITY , TYPE_TRANSLATION , TYPE_UNIFORM_SCALE , TYPE_GENERAL_SCALE , TYPE_FLIP , TYPE_QUADRANT_ROTATION , TYPE_GENERAL_TRANSFORM , getType() , Á¤¼ö ÇʵåÄ¡

TYPE_MASK_ROTATION

public static final int TYPE_MASK_ROTATION
ÀÌ Á¤¼ö´Â ȸÀü flag bitÀÇ ¾î¶² °ÍÀΰ¡ÀÇ ºñÆ® ¸¶½ºÅ©ÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_QUADRANT_ROTATION , TYPE_GENERAL_ROTATION , Á¤¼ö ÇʵåÄ¡

TYPE_GENERAL_TRANSFORM

public static final int TYPE_GENERAL_TRANSFORM
ÀÌ Á¤¼ö´Â ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ Á¤ÀǵǴ º¯È¯ÀÌ, ÀÔ·Â ÁÂÇ¥ÀÇ ÀÓÀÇÀÇ º¯È¯À» ½ÇÇàÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ º¯È¯À» »ó±âÀÇ Á¤¼öÀÇ ¾î¶² °ÍÀΰ¡¿¡ ºÐ·ùµÇ´Â °æ¿ì, ŸÀÔÀº Á¤¼ö TYPE_IDENTITY Àΰ¡, ÀÌ º¯È¯ÀÌ ½ÇÇàÇÏ´Â ´Ù¾çÇÑ ÁÂÇ¥º¯È­¸¦ À§ÇÑ ÀûÀýÇÑ flag bitÀÇ Æí¼ºÀÇ ¾îµò°¡¿¡ µË´Ï´Ù.

°ü·Ã Ç׸ñ:
TYPE_IDENTITY , TYPE_TRANSLATION , TYPE_UNIFORM_SCALE , TYPE_GENERAL_SCALE , TYPE_FLIP , TYPE_QUADRANT_ROTATION , TYPE_GENERAL_ROTATION , getType() , Á¤¼ö ÇʵåÄ¡
»ý¼ºÀÚÀÇ »ó¼¼

AffineTransform

public AffineTransform()
Ç׵ȯÀ» Ç¥ÇöÇÏ´Â »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.


AffineTransform

public AffineTransform(AffineTransform  Tx)
ÁöÁ¤µÈ AffineTransform ¿ÀºêÁ§Æ®ÀÇ Ä«ÇÇÀÎ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
Tx - Ä«ÇÇÇÏ´Â AffineTransform ¿ÀºêÁ§Æ®

AffineTransform

public AffineTransform(float m00,
                       float m10,
                       float m01,
                       float m11,
                       float m02,
                       float m12)
3¡¿3 º¯È¯ Çà·ÄÀÇ 6 °³ÀÇ ÁöÁ¤ °¡´É ¿£Æ®¸®¸¦ Ç¥ÇöÇÏ´Â 6 °³ÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡·ÎºÎÅÍ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.


AffineTransform

public AffineTransform(float[] flatmatrix)
3¡¿3 º¯È¯ Çà·ÄÀÇ 4 °³ÀÇ ºñÆòÇàÀ̵¿ ¿£Æ®¸® ¶Ç´Â 6 °³ÀÇ ÁöÁ¤ °¡´É ¿£Æ®¸®ÀÇ ¾î´À ÂÊÀÎÁö¸¦ Ç¥ÇöÇÏ´Â ºÎµ¿ ¼Ò¼öÁ¡Ä¡ÀÇ ¹è¿­·ÎºÎÅÍ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù. °¢ Ä¡´Â ¹è¿­·ÎºÎÅÍ { m00 m10 m01 m11 [m02 m12]} ¶ó°í ÇÏ´Â Çü½Ä¿¡¼­ ²¨³»Áý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
flatmatrix - »õ·Î¿î AffineTransform ¿ÀºêÁ§Æ®·Î ¼³Á¤µÇ´Â °¢ Ä¡¸¦ ÀúÀåÇϰí ÀÖ´Â float Ä¡ÀÇ ¹è¿­. ¹è¿­ÀÇ ±æÀÌ´Â 4 ÀÌ»óÀÎ °ÍÀÌ ÀüÁ¦. ¹è¿­ÀÇ ±æÀ̰¡ 6 º¸´Ù ÀÛÀº °æ¿ì, ÃÖÃÊÀÇ 4 °³ÀÇ °ª¸¸ÀÌ ÃëµæµÈ´Ù. ¹è¿­ÀÇ ±æÀ̰¡ 6 º¸´Ù Å« °æ¿ì, ÃÖÃÊÀÇ 6 °³ÀÇ °ªÀÌ ÃëµæµÈ´Ù

AffineTransform

public AffineTransform(double m00,
                       double m10,
                       double m01,
                       double m11,
                       double m02,
                       double m12)
3¡¿3 º¯È¯ Çà·ÄÀÇ 6 °³ÀÇ ÁöÁ¤ °¡´É ¿£Æ®¸®¸¦ Ç¥ÇöÇÏ´Â 6 °³ÀÇ ¹èÁ¤¹ÐµµÄ¡·ÎºÎÅÍ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù.


AffineTransform

public AffineTransform(double[] flatmatrix)
3¡¿3 º¯È¯ Çà·ÄÀÇ 4 °³ÀÇ ºñÆòÇàÀ̵¿ ¿£Æ®¸® ¶Ç´Â 6 °³ÀÇ ÁöÁ¤ °¡´É ¿£Æ®¸®ÀÇ ¾î´À ÂÊÀÎÁö¸¦ Ç¥ÇöÇÏ´Â ¹èÁ¤¹ÐµµÄ¡ÀÇ ¹è¿­·ÎºÎÅÍ, »õ·Î¿î AffineTransform ¸¦ ±¸ÃàÇÕ´Ï´Ù. °¢ Ä¡´Â ¹è¿­·ÎºÎÅÍ { m00 m10 m01 m11 [m02 m12]} ¶ó°í ÇÏ´Â Çü½Ä¿¡¼­ ²¨³»Áý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
flatmatrix - »õ·Î¿î AffineTransform ¿ÀºêÁ§Æ®·Î ¼³Á¤µÇ´Â °¢ Ä¡¸¦ ÀúÀåÇϰí ÀÖ´Â double Ä¡ÀÇ ¹è¿­. ¹è¿­ÀÇ ±æÀÌ´Â 4 ÀÌ»óÀÎ °ÍÀÌ ÀüÁ¦. ¹è¿­ÀÇ ±æÀ̰¡ 6 º¸´Ù ÀÛÀº °æ¿ì, ÃÖÃÊÀÇ 4 °³ÀÇ °ª¸¸ÀÌ ÃëµæµÈ´Ù. ¹è¿­ÀÇ ±æÀ̰¡ 6 º¸´Ù Å« °æ¿ì, ÃÖÃÊÀÇ 6 °³ÀÇ °ªÀÌ ÃëµæµÈ´Ù
¸Þ¼ÒµåÀÇ »ó¼¼

getTranslateInstance

public static AffineTransform  getTranslateInstance(double tx,
                                                   double ty)
ÆòÇàÀ̵¿ º¯È¯À» Ç¥ÇöÇÏ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â º¯È¯ÀÇ Çà·Ä Ç¥ÇöÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   1    0    tx  ]
		[   0    1    ty  ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
tx - ÁÂÇ¥°¡ X Ãà¹æÇâÀ¸·Î ÆòÇàÀ̵¿ µÇ´Â °Å¸®
ty - ÁÂÇ¥°¡ Y Ãà¹æÇâÀ¸·Î ÆòÇàÀ̵¿ µÇ´Â °Å¸®
¹Ýȯ°ª:
ÁöÁ¤µÈ º¤ÅÍ·Î ÀÛ¼ºµÈ, ÆòÇàÀ̵¿ º¯È¯À» ³ªÅ¸³»´Â AffineTransform ¿ÀºêÁ§Æ®

getRotateInstance

public static AffineTransform  getRotateInstance(double theta)
ȸÀü º¯È¯À» Ç¥ÇöÇÏ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â º¯È¯ÀÇ Çà·Ä Ç¥ÇöÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   cos(theta)    -sin(theta)    0   ]
		[   sin(theta)     cos(theta)    0   ]
		[       0              0         1   ]
Á¤ÀÇ °¢µµ theta ·Î ȸÀüÇϸé(ÀÚ), Á¤ÀÇ x ÃàÀÇ Á¡ÀÌ Á¤ÀÇ y ÃàÀ¸·Î ÇâÇØ ȸÀüµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
theta - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ
¹Ýȯ°ª:
ÁöÁ¤µÈ ȸÀü °¢µµ·Î ÀÛ¼ºµÈ, ȸÀü º¯È¯À» ³ªÅ¸³»´Â AffineTransform ¿ÀºêÁ§Æ®

getRotateInstance

public static AffineTransform  getRotateInstance(double theta,
                                                double x,
                                                double y)
¿¨Ä¿ Æ÷ÀÎÆ®¸¦ Áß½ÉÀ¸·Î ÇØ ÁÂÇ¥¸¦ ȸÀü½ÃŰ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¿ÀÆÛ·¹À̼ÇÀº ÁÂÇ¥¸¦ ¿¨Ä¿ Æ÷ÀÎÆ®°¡ ¿øÁ¡ (S1)ÀÌ µÇµµ·Ï(µíÀÌ) À̵¿ÇØ, ÀÌ·¯ÇÑ ÁÂÇ¥¸¦ »õ·Î¿î ¿øÁ¡ (S2)À» Áß½ÉÀ¸·Î ȸÀüÇÏ°í ³ª¼­, ¸¶Áö¸·¿¡ ±× Áß°³ÀûÀÎ ¿øÁ¡À» ÀüÀÇ ¿¨Ä¿ Æ÷ÀÎÆ® (S3)ÀÇ ÁÂÇ¥¿¡ µÇµ¹¸®±â À§Çؼ­(¶§¹®¿¡) À̵¿ÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù.

ÀÌ Á¶ÀÛÀº ´ÙÀ½ÀÇ ÀÏ·ÃÀÇ È£ÃâÇØ¿¡ »ó´çÇÕ´Ï´Ù.

	    AffineTransform Tx = new AffineTransform();
	    Tx.setToTranslation(x, y);	// S3: final translation
	    Tx.rotate(theta);		// S2: rotate around anchor
	    Tx.translate(-x, -y);	// S1: translate anchor to origin
µ¹·ÁÁÖ¾îÁö´Â º¯È¯ÀÇ Çà·Ä Ç¥ÇöÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   cos(theta)    -sin(theta)    x-x*cos+y*sin  ]
		[   sin(theta)     cos(theta)    y-x*sin-y*cos  ]
		[       0              0               1        ]
Á¤ÀÇ °¢µµ theta ·Î ȸÀüÇϸé(ÀÚ), Á¤ÀÇ x ÃàÀÇ Á¡ÀÌ Á¤ÀÇ y ÃàÀ¸·Î ÇâÇØ ȸÀüµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
theta - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ
¹Ýȯ°ª:
ÁöÁ¤µÈ Á¡À» Áß½ÉÀ¸·Î¼­ ÁöÁ¤µÈ ȸÀü °¢µµ·Î ÁÂÇ¥¸¦ ȸÀüÇÏ´Â AffineTransform ¿ÀºêÁ§Æ®

getScaleInstance

public static AffineTransform  getScaleInstance(double sx,
                                               double sy)
½½Ä¶¸µ º¯È¯À» Ç¥ÇöÇÏ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â º¯È¯ÀÇ Çà·Ä Ç¥ÇöÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   sx   0    0   ]
		[   0    sy   0   ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
sx - ÁÂÇ¥¸¦ X Ãà¹æÇâÀ¸·Î ½½Ä¶¸µ Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â °è¼ö
sy - ÁÂÇ¥¸¦ Y Ãà¹æÇâÀ¸·Î ½½Ä¶¸µ Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â °è¼ö
¹Ýȯ°ª:
ÁöÁ¤µÈ °è¼ö·Î ÁÂÇ¥¸¦ ½½Ä¶¸µ ÇÏ´Â AffineTransform ¿ÀºêÁ§Æ®

getShearInstance

public static AffineTransform  getShearInstance(double shx,
                                               double shy)
¼Å¸µ º¯È¯À» Ç¥ÇöÇÏ´Â º¯È¯À» µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â º¯È¯ÀÇ Çà·Ä Ç¥ÇöÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   1   shx   0   ]
		[  shy   1    0   ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
shx - Y ÁÂÇ¥ÀÇ °è¼ö·Î ÁÂÇ¥¸¦ Á¤ÀÇ X ÃàÀÇ ¹æÇâÀ¸·Î À̵¿Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â ½Â¼ö
shy - X ÁÂÇ¥ÀÇ °è¼ö·Î ÁÂÇ¥¸¦ Á¤ÀÇ Y ÃàÀÇ ¹æÇâÀ¸·Î À̵¿Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â ½Â¼ö
¹Ýȯ°ª:
ÁöÁ¤µÈ ½Â¼ö·Î ÁÂÇ¥¸¦ º¯Çü½ÃŰ´Â AffineTransform ¿ÀºêÁ§Æ®

getType

public int getType()
ÀÌ º¯È¯ÀÇ º¯È¯ ÇÁ·ÎÆÛƼ¸¦ ±â¼úÇÏ´Â flag bit¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â °ªÀº Á¤¼ö TYPE_IDENTITY ¶Ç´Â TYPE_GENERAL_TRANSFORM ÀÇ ¾î´À ÂÊÀÎÁö ȤÀº ÀûÀýÇÑ flag bitÀÇ Æí¼ºÀÌ µË´Ï´Ù. flag bitÀÇ À¯È¿ÇÑ Æí¼ºÀº TYPE_UNIFORM_SCALE flag bit ¶Ç´Â TYPE_GENERAL_SCALE flag bitÀÇ ¾î´À ÂÊÀϱîÇϰí, TYPE_QUADRANT_ROTATION flag bit ¶Ç´Â TYPE_GENERAL_ROTATION flag bitÀÇ ¾îµò°¡¿¡ ´õÇØ, TYPE_TRANSLATION flag bit¸¦ °áÇÕÇÏ´Â ¹èŸÀû ³í¸®ÇÕÀÇ ¿¬»êÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ º¯È¯¿¡ Àû¿ëµÇ´Â ÀÓÀÇÀÇ ÁöÁ¤ Ç÷¡±×¿¡ ÀÇÇÑ ³í¸®ÇÕÀÇ Æí¼º
°ü·Ã Ç׸ñ:
TYPE_IDENTITY , TYPE_TRANSLATION , TYPE_UNIFORM_SCALE , TYPE_GENERAL_SCALE , TYPE_QUADRANT_ROTATION , TYPE_GENERAL_ROTATION , TYPE_GENERAL_TRANSFORM

getDeterminant

public double getDeterminant()
º¯È¯ÀÇ Çà·Ä Ç¥ÇöÀÇ Çà·Ä½ÄÀ» µ¹·ÁÁÝ´Ï´Ù. Çà·Ä½ÄÀº ¿ªº¯È¯ÀÇ Á¸À縦 ÆÇÁ¤Çϱâ À§Çؼ­µµ, X ¿Í Y ÀÇ ½½Ä¶¸µÀÇ Æí¼º¿¡ ÀÇÇÑ º¯È¯À» Ç¥ÇöÇÏ´Â 1 °³ÀÇ °ªÀ» ÃëµæÇϱâ À§Çؼ­µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Çà·Ä½ÄÀÌ Á¦·Î°¡ ¾Æ´Ñ °æ¿ì, ÀÌ º¯È¯¿¡´Â ¿ªº¯È¯ÀÌ Á¸ÀçÇØ, ¿ªº¯È¯¿¡ ÀÇÁ¸ÇÏ´Â ´Ù¾çÇÑ ¸Þ¼Òµå´Â NoninvertibleTransformException ¸¦ ½½·Î¿ì ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. Çà·Ä½ÄÀÌ Á¦·ÎÀÇ °æ¿ì, ÀÌ º¯È¯Àº ¸ðµç ÀÔ·Â ÁÂÇ¥¸¦ ¼± ¶Ç´Â Á¡¿¡ MAP ÇϹǷΠ¿ªº¯È¯ÇÒ ¼ö ¾ø½À´Ï´Ù. Çà·Ä½ÄÀÌ ÃæºÐÈ÷ Á¦·Î¿¡ °¡±î¿î °æ¿ì, ¿ªº¯È¯ ¿ÀÆÛ·¹À̼ÇÀº Àǹ̰¡ ÀÖ´Â °á°ú¸¦ ³¾ ¼ö ÀÖÀ» »Ó(¸¸Å­)ÀÇ Á¤¹Ðµµ¸¦ È®º¸ °¡´ÉÇÑ ÀÖ°í °æ¿ì°¡ ÀÖ½À´Ï´Ù.

getType ¸Þ¼Òµå·Î ³ªÅ¸³ªµµ·Ï(µíÀÌ), ÀÌ º¯È¯ÀÌ ÇѰᰰÀº ½½Ä¶¸µÀ» Ç¥ÇöÇÏ´Â °æ¿ì, Çà·Ä½ÄÀº ¸ðµç Á¡ÀÌ ¿øÁ¡À» ±âÁØ¿¡ È®Àå ¶Ç´Â Ãà¼ÒµÇ´Â ÇѰᰰÀº ½½Ä¶¸µ °è¼öÀÇ 2 ½ÂÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ º¯È¯ÀÌ ÇѰᰰÁö ¾ÊÀº ½½Ä¶¸µ ¶Ç´Âº¸´Ù ¹ü¿ëÀûÀÎ º¯È¯À» Ç¥ÇöÇÏ´Â °æ¿ì, Çà·Ä½ÄÀÌ ³ªÅ¸³»´Â °ªÀº ¿ªº¯È¯ÀÌ °¡´ÉÇѰ¡ ¾î¶²°¡¸¦ ÆÇÁ¤Çϱâ À§ÇØ(¶§¹®¿¡)ÀÎ ¸¸Å­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

»ê¼úÀûÀ¸·Î, Çà·Ä½ÄÀº ´ÙÀ½ÀÇ °ø½Ä¿¡¼­ °è»êµË´Ï´Ù.

		|  m00  m01  m02  |
		|  m10  m11  m12  |  =  m00 * m11 - m01 * m10
		|   0    0    1   |

¹Ýȯ°ª:
ÁÂÇ¥¸¦ º¯È¯Çϱâ À§Çؼ­ »ç¿ëµÇ´Â Çà·ÄÀÇ Çà·Ä½Ä
°ü·Ã Ç׸ñ:
getType() , createInverse() , inverseTransform(java.awt.geom.Point2D, java.awt.geom.Point2D) , TYPE_UNIFORM_SCALE

getMatrix

public void getMatrix(double[] flatmatrix)
3¡¿3 ¾ÆÇÉ º¯È¯ Çà·Ä³»ÀÇ 6 °³ÀÇ ÁöÁ¤ °¡´ÉÇÑ °ªÀ» ²¨³», ¹èÁ¤¹ÐµµÄ¡ÀÇ ¹è¿­¿¡ ¹èÄ¡ÇÕ´Ï´Ù. °¢ Ä¡´Â ¹è¿­¿¡ { m00 m10 m01 m11 m02 m12 } ¶ó°í ÇÏ´Â Çü½Ä¿¡¼­ ÀúÀåµË´Ï´Ù. 4 °³ÀÇ double Ä¡ÀÇ ¹è¿­µµ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× °æ¿ì´Â ¹è¿­ÀÇ ºñÆòÇàÀ̵¿ ºÎºÐÀ» ³ªÅ¸³»´Â ÃÖÃÊÀÇ 4 °³ÀÇ ¿ä¼Ò¸¸ÀÌ ²¨³»Á® °ªÀº ¹è¿­¿¡ { m00 m10 m01 m11 } ¶ó°í ÇÏ´Â Çü½Ä¿¡¼­ ÀúÀåµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
flatmatrix - ¹Ýȯ°ªÀ» ÀúÀåÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â double Ä¡ÀÇ ¹è¿­
°ü·Ã Ç׸ñ:
getScaleX() , getScaleY() , getShearX() , getShearY() , getTranslateX() , getTranslateY()

getScaleX

public double getScaleX()
3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ X ÁÂÇ¥ ½½Ä¶¸µ ¿ä¼Ò (m00)¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ½½Ä¶¸µ ¿ä¼ÒÀÇ X ÁÂÇ¥¸¦ ³ªÅ¸³»´Â double Ä¡
°ü·Ã Ç׸ñ:
getMatrix(double[])

getScaleY

public double getScaleY()
3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ Y ÁÂÇ¥ ½½Ä¶¸µ ¿ä¼Ò (m11)¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ½½Ä¶¸µ ¿ä¼ÒÀÇ Y ÁÂÇ¥¸¦ ³ªÅ¸³»´Â double Ä¡
°ü·Ã Ç׸ñ:
getMatrix(double[])

getShearX

public double getShearX()
3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ X ÁÂÇ¥ ¼Å¸µ ¿ä¼Ò (m01)¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ¼Å¸µ ¿ä¼ÒÀÇ X ÁÂÇ¥¸¦ ³ªÅ¸³»´Â double Ä¡
°ü·Ã Ç׸ñ:
getMatrix(double[])

getShearY

public double getShearY()
3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ Y ÁÂÇ¥ ¼Å¸µ ¿ä¼Ò (m10)¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ¼Å¸µ ¿ä¼ÒÀÇ Y ÁÂÇ¥¸¦ ³ªÅ¸³»´Â double Ä¡
°ü·Ã Ç׸ñ:
getMatrix(double[])

getTranslateX

public double getTranslateX()
3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ÆòÇàÀ̵¿ ¿ä¼Ò (m02)ÀÇ X ÁÂÇ¥¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ÆòÇàÀ̵¿ ¿ä¼ÒÀÇ X ÁÂÇ¥¸¦ ³ªÅ¸³»´Â double Ä¡
°ü·Ã Ç׸ñ:
getMatrix(double[])

getTranslateY

public double getTranslateY()
3¡¿3 ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ÆòÇàÀ̵¿ ¿ä¼Ò (m12)ÀÇ Y ÁÂÇ¥¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ÆòÇàÀ̵¿ ¿ä¼ÒÀÇ Y ÁÂÇ¥¸¦ ³ªÅ¸³»´Â double Ä¡
°ü·Ã Ç׸ñ:
getMatrix(double[])

translate

public void translate(double tx,
                      double ty)
ÀÌ º¯È¯À» ÆòÇàÀ̵¿ º¯È¯¿¡ ¿¬°áÇÕ´Ï´Ù. À̰ÍÀº concatenate(T)¸¦ È£ÃâÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù. ´Ù¸¸, T ´Â ´ÙÀ½ÀÇ Çà·Ä·Î Ç¥ÇöµÇ´Â AffineTransform ÀÔ´Ï´Ù.
		[   1    0    tx  ]
		[   0    1    ty  ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
tx - ÁÂÇ¥°¡ X Ãà¹æÇâÀ¸·Î ÆòÇàÀ̵¿ µÇ´Â °Å¸®
ty - ÁÂÇ¥°¡ Y Ãà¹æÇâÀ¸·Î ÆòÇàÀ̵¿ µÇ´Â °Å¸®

rotate

public void rotate(double theta)
ÀÌ º¯È¯À» ȸÀü º¯È¯¿¡ ¿¬°áÇÕ´Ï´Ù. À̰ÍÀº concatenate(R)¸¦ È£ÃâÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù. ´Ù¸¸, R ´Â ´ÙÀ½ÀÇ Çà·Ä·Î Ç¥ÇöµÇ´Â AffineTransform ÀÔ´Ï´Ù.
		[   cos(theta)    -sin(theta)    0   ]
		[   sin(theta)     cos(theta)    0   ]
		[       0              0         1   ]
Á¤ÀÇ °¢µµ theta ·Î ȸÀüÇϸé(ÀÚ), Á¤ÀÇ x ÃàÀÇ Á¡ÀÌ Á¤ÀÇ y ÃàÀ¸·Î ÇâÇØ ȸÀüµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
theta - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ

rotate

public void rotate(double theta,
                   double x,
                   double y)
ÀÌ º¯È¯À», ¿¨Ä¿ Æ÷ÀÎÆ®¸¦ Áß½ÉÀ¸·Î ÇØ ÁÂÇ¥¸¦ ȸÀüÇÏ´Â º¯È¯°ú ¿¬°áÇÕ´Ï´Ù. ÀÌ ¿ÀÆÛ·¹À̼ÇÀº ÁÂÇ¥¸¦ ¿¨Ä¿ Æ÷ÀÎÆ®°¡ ¿øÁ¡ (S1)ÀÌ µÇµµ·Ï(µíÀÌ) ÆòÇàÀ̵¿ ÇØ, ÀÌ·¯ÇÑ ÁÂÇ¥¸¦ »õ·Î¿î ¿øÁ¡ (S2)À» Áß½ÉÀ¸·Î ȸÀüÇÏ°í ³ª¼­, ¸¶Áö¸·¿¡ ±× Áß°³ÀûÀÎ ¿øÁ¡À» ÀüÀÇ ¿¨Ä¿ Æ÷ÀÎÆ® (S3)ÀÇ ÁÂÇ¥¿¡ µÇµ¹¸®±â À§Çؼ­(¶§¹®¿¡) ÆòÇàÀ̵¿ ÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù.

ÀÌ Á¶ÀÛÀº ´ÙÀ½ÀÇ ÀÏ·ÃÀÇ È£ÃâÇØ¿¡ »ó´çÇÕ´Ï´Ù.

		translate(x, y);	// S3: final translation
		rotate(theta);		// S2: rotate around anchor
		translate(-x, -y);		// S1: translate anchor to origin
Á¤ÀÇ °¢µµ theta ·Î ȸÀüÇϸé(ÀÚ), Á¤ÀÇ x ÃàÀÇ Á¡ÀÌ Á¤ÀÇ y ÃàÀ¸·Î ÇâÇØ ȸÀüµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
theta - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ

scale

public void scale(double sx,
                  double sy)
ÀÌ º¯È¯À» ½½Ä¶¸µ º¯È¯¿¡ ¿¬°áÇÕ´Ï´Ù. À̰ÍÀº concatenate(S)¸¦ È£ÃâÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù. ´Ù¸¸, S ´Â ´ÙÀ½ÀÇ Çà·Ä·Î Ç¥ÇöµÇ´Â AffineTransform ÀÔ´Ï´Ù.
		[   sx   0    0   ]
		[   0    sy   0   ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
sx - ÁÂÇ¥¸¦ X Ãà¹æÇâÀ¸·Î ½½Ä¶¸µ Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â °è¼ö
sy - ÁÂÇ¥¸¦ Y Ãà¹æÇâÀ¸·Î ½½Ä¶¸µ Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â °è¼ö

shear

public void shear(double shx,
                  double shy)
ÀÌ º¯È¯À» ¼Å¸µ º¯È¯¿¡ ¿¬°áÇÕ´Ï´Ù. À̰ÍÀº concatenate(SH)¸¦ È£ÃâÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù. ´Ù¸¸, SH ´Â ´ÙÀ½ÀÇ Çà·Ä·Î Ç¥ÇöµÇ´Â AffineTransform ÀÔ´Ï´Ù.
		[   1   shx   0   ]
		[  shy   1    0   ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
shx - Y ÁÂÇ¥ÀÇ °è¼ö·Î ÁÂÇ¥¸¦ Á¤ÀÇ X ÃàÀÇ ¹æÇâÀ¸·Î À̵¿Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â ½Â¼ö
shy - X ÁÂÇ¥ÀÇ °è¼ö·Î ÁÂÇ¥¸¦ Á¤ÀÇ Y ÃàÀÇ ¹æÇâÀ¸·Î À̵¿Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â ½Â¼ö

setToIdentity

public void setToIdentity()
ÀÌ º¯È¯À» Ç׵ȯÀ¸·Î ´Ù½Ã ¼³Á¤ÇÕ´Ï´Ù.


setToTranslation

public void setToTranslation(double tx,
                             double ty)
ÀÌ º¯È¯À» ÆòÇàÀ̵¿ º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ º¯È¯À» Ç¥ÇöÇÏ´Â Çà·ÄÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   1    0    tx  ]
		[   0    1    ty  ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
tx - ÁÂÇ¥°¡ X Ãà¹æÇâÀ¸·Î ÆòÇàÀ̵¿ µÇ´Â °Å¸®
ty - ÁÂÇ¥°¡ Y Ãà¹æÇâÀ¸·Î ÆòÇàÀ̵¿ µÇ´Â °Å¸®

setToRotation

public void setToRotation(double theta)
ÀÌ º¯È¯À» ȸÀü º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ º¯È¯À» Ç¥ÇöÇÏ´Â Çà·ÄÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   cos(theta)    -sin(theta)    0   ]
		[   sin(theta)     cos(theta)    0   ]
		[       0              0         1   ]
Á¤ÀÇ °¢µµ theta ·Î ȸÀüÇϸé(ÀÚ), Á¤ÀÇ x ÃàÀÇ Á¡ÀÌ Á¤ÀÇ y ÃàÀ¸·Î ÇâÇØ ȸÀüµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
theta - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ

setToRotation

public void setToRotation(double theta,
                          double x,
                          double y)
ÀÌ º¯È¯À» ÆòÇàÀ̵¿ ÈÄÀÇ È¸Àü º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¿ÀÆÛ·¹À̼ÇÀº ÁÂÇ¥¸¦ ¿¨Ä¿ Æ÷ÀÎÆ®°¡ ¿øÁ¡ (S1)ÀÌ µÇµµ·Ï(µíÀÌ) À̵¿ÇØ, ÀÌ·¯ÇÑ ÁÂÇ¥¸¦ »õ·Î¿î ¿øÁ¡ (S2)À» Áß½ÉÀ¸·Î ȸÀüÇÏ°í ³ª¼­, ¸¶Áö¸·¿¡ ±× Áß°³ÀûÀÎ ¿øÁ¡À» ÀüÀÇ ¿¨Ä¿ Æ÷ÀÎÆ® (S3)ÀÇ ÁÂÇ¥¿¡ µÇµ¹¸®±â À§Çؼ­(¶§¹®¿¡) À̵¿ÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù.

ÀÌ Á¶ÀÛÀº ´ÙÀ½ÀÇ ÀÏ·ÃÀÇ È£ÃâÇØ¿¡ »ó´çÇÕ´Ï´Ù.

	    setToTranslation(x, y);	// S3: final translation
	    rotate(theta);		// S2: rotate around anchor
	    translate(-x, -y);		// S1: translate anchor to origin
ÀÌ º¯È¯À» Ç¥ÇöÇÏ´Â Çà·ÄÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   cos(theta)    -sin(theta)    x-x*cos+y*sin  ]
		[   sin(theta)     cos(theta)    y-x*sin-y*cos  ]
		[       0              0               1        ]
Á¤ÀÇ °¢µµ theta ·Î ȸÀüÇϸé(ÀÚ), Á¤ÀÇ x ÃàÀÇ Á¡ÀÌ Á¤ÀÇ y ÃàÀ¸·Î ÇâÇØ ȸÀüµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
theta - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ

setToScale

public void setToScale(double sx,
                       double sy)
ÀÌ º¯È¯À» ½½Ä¶¸µ º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ º¯È¯À» Ç¥ÇöÇÏ´Â Çà·ÄÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   sx   0    0   ]
		[   0    sy   0   ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
sx - ÁÂÇ¥¸¦ X Ãà¹æÇâÀ¸·Î ½½Ä¶¸µ Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â °è¼ö
sy - ÁÂÇ¥¸¦ Y Ãà¹æÇâÀ¸·Î ½½Ä¶¸µ Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â °è¼ö

setToShear

public void setToShear(double shx,
                       double shy)
ÀÌ º¯È¯À» ¼Å¸µ º¯È¯À¸·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ º¯È¯À» Ç¥ÇöÇÏ´Â Çà·ÄÀº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
		[   1   shx   0   ]
		[  shy   1    0   ]
		[   0    0    1   ]

ÆÄ¶ó¹ÌÅÍ:
shx - Y ÁÂÇ¥ÀÇ °è¼ö·Î ÁÂÇ¥¸¦ Á¤ÀÇ X ÃàÀÇ ¹æÇâÀ¸·Î À̵¿Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â ½Â¼ö
shy - X ÁÂÇ¥ÀÇ °è¼ö·Î ÁÂÇ¥¸¦ Á¤ÀÇ Y ÃàÀÇ ¹æÇâÀ¸·Î À̵¿Çϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â ½Â¼ö

setTransform

public void setTransform(AffineTransform  Tx)
ÀÌ º¯È¯À», ÁöÁ¤µÈ AffineTransform ¿ÀºêÁ§Æ®³»ÀÇ º¯È¯ÀÇ Ä«ÇÇ·Î ¼³Á¤ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
Tx - º¯È¯ÀÇ Ä«ÇÇ¿øÀÇ AffineTransform ¿ÀºêÁ§Æ®

setTransform

public void setTransform(double m00,
                         double m10,
                         double m01,
                         double m11,
                         double m02,
                         double m12)
ÀÌ º¯È¯À» 6 °³ÀÇ ¹èÁ¤¹ÐµµÄ¡¿¡ ÀÇÇØ ÁöÁ¤µÇ°í ÀÖ´Â Çà·Ä·Î ¼³Á¤ÇÕ´Ï´Ù.


concatenate

public void concatenate(AffineTransform  Tx)
Tx ¿¡ ÀÇÇØ ¿øÀÇ À¯Àú °ø°£¿¡ MAP µÈ »õ·Î¿î À¯Àú °ø°£À» Á¦°øÇϱâ À§Çؼ­ °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¹æ¹ýÀ¸·Î,AffineTransform Tx ¸¦ ÀÌ AffineTransform Cx ¿¡ ¿¬°áÇÕ´Ï´Ù. Cx ¸¦ °»½ÅÇϸé(ÀÚ), °áÇÕµÈ º¯È¯À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. °»½ÅµÈ º¯È¯ Cx'·Î Á¡ p ¸¦ º¯È¯ÇÏ´Â °ÍÀº ÃÖÃÊ·Î Tx ·Î p ¸¦ º¯È¯ÇÏ°í ³ª¼­, ±× °á°ú¸¦ ¿øÀÇ º¯È¯ Cx ·Î º¯È¯ÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù. Áï, Cx'(p) = Cx(Tx(p))ÀÔ´Ï´Ù. Çà·Ä Ç¥±â¿¡¼­´Â ÀÌ º¯È¯ Cx °¡ Çà·Ä [this] ·Î Ç¥ÇöµÇ¾îTx °¡ Çà·Ä [Tx] ·Î Ç¥ÇöµÇ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ´ÙÀ½ÀÇ Ã³¸®¸¦ ½Ç½ÃÇÕ´Ï´Ù.
		[this] = [this] x [Tx]

ÆÄ¶ó¹ÌÅÍ:
Tx - ÀÌ AffineTransform ¿ÀºêÁ§Æ®¿¡ ¿¬°áµÇ´Â AffineTransform ¿ÀºêÁ§Æ®
°ü·Ã Ç׸ñ:
preConcatenate(java.awt.geom.AffineTransform)

preConcatenate

public void preConcatenate(AffineTransform  Tx)
Tx °¡ ±âÁ¸ÀÇ À¯Àú °ø°£Àº ¾Æ´Ï°í Àý´ë Çȼ¿ °ø°£À» ±âÁØ(À ÁÂÇ¥º¯È­¸¦ º¯°æÇÏ´Â µî ÀϹÝÀûÀ¸·Î´Â ±×´ÙÁö »ç¿ëµÇÁö ¾Ê´Â ¹æ¹ýÀ¸·Î,AffineTransform Tx ¸¦ ÀÌ AffineTransform Cx ¿¡ ¿¬°áÇÕ´Ï´Ù. Cx ¸¦ °»½ÅÇϸé(ÀÚ), °áÇÕµÈ º¯È¯À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. °»½ÅµÈ º¯È¯ Cx'·Î Á¡ p ¸¦ º¯È¯ÇÏ´Â °ÍÀº ÃÖÃÊ·Î ¿øÀÇ º¯È¯ Cx ·Î p ¸¦ º¯È¯ÇÏ°í ³ª¼­, ±× °á°ú¸¦ Tx ·Î º¯È¯ÇÏ´Â °Í¿¡ »ó´çÇÕ´Ï´Ù. Áï, Cx'(p) = Tx(Cx(p))ÀÔ´Ï´Ù. Çà·Ä Ç¥±â¿¡¼­´Â ÀÌ º¯È¯ Cx °¡ Çà·Ä [this] ·Î Ç¥ÇöµÇ¾îTx °¡ Çà·Ä [Tx] ·Î Ç¥ÇöµÇ´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ´ÙÀ½ÀÇ Ã³¸®¸¦ ½Ç½ÃÇÕ´Ï´Ù.
		[this] = [Tx] x [this]

ÆÄ¶ó¹ÌÅÍ:
Tx - ÀÌ AffineTransform ¿ÀºêÁ§Æ®¿¡ ¿¬°áµÇ´Â AffineTransform ¿ÀºêÁ§Æ®
°ü·Ã Ç׸ñ:
concatenate(java.awt.geom.AffineTransform)

createInverse

public AffineTransform  createInverse()
                              throws NoninvertibleTransformException 
¿ªº¯È¯À» Ç¥ÇöÇÏ´Â AffineTransform ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ º¯È¯ Tx ÀÇ ¿ªº¯È¯ Tx'´Â Tx ¿¡ ÀÇÇØ º¯È¯µÈ ÁÂÇ¥¸¦ ±× ¿øÀÇ ÁÂÇ¥¿¡ MAP ÇØ µÇµ¹¸³´Ï´Ù. Áï, Tx'(Tx(p)) = p = Tx(Tx'(p))ÀÔ´Ï´Ù.

ÀÌ º¯È¯ÀÌ ¸ðµç ÁÂÇ¥¸¦ Á¡À̳ª ¼±¿¡ MAP ÇÏ´Â °æ¿ì, º¯È¯Àº ¿ª»ç»óÀ» °¡ÁöÁö ¾Ê½À´Ï´Ù. À̰ÍÀº Àü¼ÛóÀÇ Á¡À̳ª ¼±¿¡ ¾ø´Â ÁÂÇ¥°¡ ¿ª»ç»óÀ» °¡ÁöÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. getDeterminant ¸Þ¼Òµå¸¦ »ç¿ëÇϸé(ÀÚ), ÀÌ º¯È¯ÀÌ ¿ª»ç»óÀ» °¡ÁúÁö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ º¯È¯ÀÌ ¿ª»ç»óÀ» °¡ÁöÁö ¾Ê´Â °æ¿ì,createInverse ¸Þ¼Òµå°¡ ºÒ·Á °¡¸é(ÀÚ), ¿¹¿Ü°¡ ½½·Î¿ì µË´Ï´Ù.

¹Ýȯ°ª:
¿ªº¯È¯À» Ç¥ÇöÇÏ´Â »õ·Î¿î AffineTransform ¿ÀºêÁ§Æ®
¿¹¿Ü:
NoninvertibleTransformException - Çà·ÄÀ» ¹ÝÀüÇÒ ¼ö ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
getDeterminant()

transform

public Point2D  transform(Point2D  ptSrc,
                         Point2D  ptDst)
ÁöÁ¤µÈ ptSrc ¸¦ º¯È¯ÇØ, ±× °á°ú¸¦ ptDst ¿¡ ÀúÀåÇÕ´Ï´Ù. ptDst °¡ null ÀÇ °æ¿ì, »õ·Î¿î Point2D ¿ÀºêÁ§Æ®¸¦ ÇÒ´çÇÒ ¼ö ÀÖ°í ³ª¼­, º¯È¯ÀÇ °á°ú°¡ ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀúÀåµË´Ï´Ù. ¾î´À ÂÊÀÇ °æ¿ìµµ, ÆíÀÇ»ó, º¯È¯ ÈÄÀÇ Á¡À» ÀúÀåÇϰí ÀÖ´Â ptDst °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ptSrc ¿Í ptDst °¡ °°Àº ¿ÀºêÁ§Æ®ÀÇ °æ¿ì, ÀÔ·ÂÁ¡Àº º¯È¯ ÈÄÀÇ Á¡À¸·Î½á ÀûÀýÈ÷ µ¡¾²±âµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
ptSrc - º¯È¯ ´ë»óÀÇ ÁöÁ¤µÈ Point2D
ptDst - ptSrc ÀÇ º¯È¯ °á°ú¸¦ ÀúÀåÇϰí ÀÖ´Â ÁöÁ¤µÈ Point2D
¹Ýȯ°ª:
ptSrc ¸¦ º¯È¯ÇØ, °á°ú¸¦ ptDst ¿¡ ÀúÀåÇÑ µÚÀÇ ptDst

transform

public void transform(Point2D [] ptSrc,
                      int srcOff,
                      Point2D [] ptDst,
                      int dstOff,
                      int numPts)
ÀÌ º¯È¯¿¡ ÀÇÇØ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®ÀÇ ¹è¿­À» º¯È¯ÇÕ´Ï´Ù. ptDst ¹è¿­ÀÇ ¿ä¼ÒÀÇ ¾î¶² °ÍÀΰ¡°¡ null À̸é, »õ·Î¿î Point2D ¿ÀºêÁ§Æ®¸¦ ÇÒ´çÇÒ ¼ö ÀÖ¾î º¯È¯ÀÇ °á°ú°¡ ÀúÀåµÇ±â Àü¿¡ ±× ¿ä¼Ò¿¡ ÀúÀåµË´Ï´Ù.

´Ù¸¸, ÀÌ ¸Þ¼Òµå´Â Àü¼Û¿ø¹è¿­¿¡ ³õ¿©Á® °è»êÀÇ Àü¼Û¿øÀ¸·Î¼­ »ç¿ëµÇ´Â Point2D ¿ÀºêÁ§Æ®¿¡ °á°ú¸¦ ÀúÀåÇÏ´Â °Í¿¡ ÀÇÇØ ÀÏÀ¸ÄÑÁö´Â ¹®Á¦¸¦ ÇÇÇϱâ À§ÇÑ ¿¹¹æ Á¶Ä¡¸¦ ÃëÇϰí ÀÖÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤µÈ Point2D ¿ÀºêÁ§Æ®°¡ °°Àº 1 °³ÀÇ Á¡ÀÇ º¯È¯ ¿ÀÆÛ·¹À̼ÇÀÇ Àü¼Û¿ø°ú Àü¼ÛóÀÇ ¾çÂÊ ¸ðµÎÀÎ °æ¿ì, ¿ÀÆÛ·£µå À§¿¡ °á°ú°¡ ÀúÀåµÇÁö ¾Ê°Ô, °á°ú¸¦ °è»êÀÇ Á¾·áÈıîÁö ÀúÀåÇÏÁö ¾Ê´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÕ´Ï´Ù. ±×·¯³ª, Àü¼Ûó Point2D ¿ÀºêÁ§Æ®°¡ ´Ù¸¥ ¿ÀÆÛ·¹À̼ÇÀÇ Àü¼Û¿ø¹è¿­¿¡ ³õ¿©Á® Àü¼Û¿ø Point2D ¿ÀºêÁ§Æ®°¡ µÇ´Â °æ¿ì, ±× Á¡ÀÇ ¿øÀÇ ÁÂÇ¥´Â º¯È¯ °¡´ÉÇÏ°Ô µÇ±â Àü¿¡ µ¡¾²±âµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
ptSrc - Àü¼Û¿øÀÇ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ°í ÀÖ´Â ¹è¿­
ptDst - º¯È¯µÈ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ´Â ¹è¿­
srcOff - Àü¼Û¿ø¹è¿­¿¡¼­ÀÇ º¯È¯µÇ´Â ÃÖÃÊÀÇ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
dstOff - ÃÖÃÊÀÇ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ´Â Àü¼Ûó ¹è¿­³»ÀÇ À§Ä¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
numPts - º¯È¯µÇ´Â Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®ÀÇ ¼ö

transform

public void transform(float[] srcPts,
                      int srcOff,
                      float[] dstPts,
                      int dstOff,
                      int numPts)
ÀÌ º¯È¯¿¡ ÀÇÇØ, ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» º¯È¯ÇÕ´Ï´Ù. 2 °³ÀÇ ÁÂÇ¥ ¹è¿­ ¼½¼ÇÀº ¿ÏÀüÇÏ°Ô °°Àº°¡, °á°úÀÇ À¯È¿¼º¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í °°Àº ¹è¿­ÀÇ ¼½¼ÇÀ» ¿À¹ö·¦ ÇÑ °ÍÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â Àü¼Û¿øÀÇ ÁÂÇ¥°¡ º¯È¯ °¡´ÉÇÏ°Ô µÇ±â Àü¿¡, Áö±Ý±îÁöÀÇ ¿ÀÆÛ·¹À̼ǿ¡ ÀÇÇØ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÕ´Ï´Ù. ÁÂÇ¥´Â ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset)·ÎºÎÅÍ ½ÃÀ۵Ǵ ¹è¿­¿¡ [x0, y0, x1, y1, ..., xn, yn] ¶ó°í ÇÏ´Â ¼ø¼­·Î ÀúÀåµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
srcPts - Àü¼Û¿øÀÇ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö°í ÀÖ´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
dstPts - º¯È¯µÈ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
srcOff - Àü¼Û¿ø¹è¿­¿¡¼­ÀÇ º¯È¯µÇ´Â ÃÖÃÊÀÇ Á¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
dstOff - ÃÖÃÊÀÇ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ´Â Àü¼Ûó ¹è¿­³»ÀÇ À§Ä¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
numPts - º¯È¯µÇ´Â Á¡ÀÇ ¼ö

transform

public void transform(double[] srcPts,
                      int srcOff,
                      double[] dstPts,
                      int dstOff,
                      int numPts)
ÀÌ º¯È¯¿¡ ÀÇÇØ, ¹èÁ¤¹ÐµµÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» º¯È¯ÇÕ´Ï´Ù. 2 °³ÀÇ ÁÂÇ¥ ¹è¿­ ¼½¼ÇÀº ¿ÏÀüÇÏ°Ô °°Àº°¡, °á°úÀÇ À¯È¿¼º¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í °°Àº ¹è¿­ÀÇ ¼½¼ÇÀ» ¿À¹ö·¦ ÇÑ °ÍÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â Àü¼Û¿øÀÇ ÁÂÇ¥°¡ º¯È¯ °¡´ÉÇÏ°Ô µÇ±â Àü¿¡, Áö±Ý±îÁöÀÇ ¿ÀÆÛ·¹À̼ǿ¡ ÀÇÇØ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÕ´Ï´Ù. ÁÂÇ¥´Â ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset)·ÎºÎÅÍ ½ÃÀ۵Ǵ ¹è¿­¿¡ [x0, y0, x1, y1, ..., xn, yn] ¶ó°í ÇÏ´Â ¼ø¼­·Î ÀúÀåµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
srcPts - Àü¼Û¿øÀÇ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö°í ÀÖ´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
dstPts - º¯È¯µÈ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
srcOff - Àü¼Û¿ø¹è¿­¿¡¼­ÀÇ º¯È¯µÇ´Â ÃÖÃÊÀÇ Á¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
dstOff - ÃÖÃÊÀÇ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ´Â Àü¼Ûó ¹è¿­³»ÀÇ À§Ä¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
numPts - º¯È¯µÇ´Â Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®ÀÇ ¼ö

transform

public void transform(float[] srcPts,
                      int srcOff,
                      double[] dstPts,
                      int dstOff,
                      int numPts)
ÀÌ º¯È¯¿¡ ÀÇÇØ ºÎµ¿ ¼Ò¼öÁ¡ÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» º¯È¯ÇØ, °á°ú¸¦ double Ä¡ÀÇ ¹è¿­¿¡ ÀúÀåÇÕ´Ï´Ù. ÁÂÇ¥´Â ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset)·ÎºÎÅÍ ½ÃÀ۵Ǵ ¹è¿­¿¡ [x0, y0, x1, y1, ..., xn, yn] ¶ó°í ÇÏ´Â ¼ø¼­·Î ÀúÀåµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
srcPts - Àü¼Û¿øÀÇ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö°í ÀÖ´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
dstPts - º¯È¯µÈ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
srcOff - Àü¼Û¿ø¹è¿­¿¡¼­ÀÇ º¯È¯µÇ´Â ÃÖÃÊÀÇ Á¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
dstOff - ÃÖÃÊÀÇ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ´Â Àü¼Ûó ¹è¿­³»ÀÇ À§Ä¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
numPts - º¯È¯µÇ´Â Á¡ÀÇ ¼ö

transform

public void transform(double[] srcPts,
                      int srcOff,
                      float[] dstPts,
                      int dstOff,
                      int numPts)
ÀÌ º¯È¯¿¡ ÀÇÇØ ¹èÁ¤¹ÐµµÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» º¯È¯ÇØ, °á°ú¸¦ float Ä¡ÀÇ ¹è¿­¿¡ ÀúÀåÇÕ´Ï´Ù. ÁÂÇ¥´Â ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset)·ÎºÎÅÍ ½ÃÀ۵Ǵ ¹è¿­¿¡ [x0, y0, x1, y1, ..., xn, yn] ¶ó°í ÇÏ´Â ¼ø¼­·Î ÀúÀåµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
srcPts - Àü¼Û¿øÀÇ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö°í ÀÖ´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
dstPts - º¯È¯µÈ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
srcOff - Àü¼Û¿ø¹è¿­¿¡¼­ÀÇ º¯È¯µÇ´Â ÃÖÃÊÀÇ Á¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
dstOff - ÃÖÃÊÀÇ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ´Â Àü¼Ûó ¹è¿­³»ÀÇ À§Ä¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
numPts - º¯È¯µÇ´Â Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®ÀÇ ¼ö

inverseTransform

public Point2D  inverseTransform(Point2D  ptSrc,
                                Point2D  ptDst)
                         throws NoninvertibleTransformException 
ÁöÁ¤µÈ ptSrc ¸¦ ¿ªº¯È¯ÇØ, ±× °á°ú¸¦ ptDst ¿¡ ÀúÀåÇÕ´Ï´Ù. ptDst °¡ null ÀÇ °æ¿ì, »õ·Î¿î Point2D ¿ÀºêÁ§Æ®¸¦ ÇÒ´çÇÒ ¼ö ÀÖ°í ³ª¼­, º¯È¯ÀÇ °á°ú°¡ ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀúÀåµË´Ï´Ù. ¾î´À ÂÊÀÇ °æ¿ìµµ, ÆíÀÇ»ó, º¯È¯ ÈÄÀÇ Á¡À» ÀúÀåÇϰí ÀÖ´Â ptDst °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ptSrc ¿Í ptDst °¡ °°Àº ¿ÀºêÁ§Æ®ÀÇ °æ¿ì, ÀÔ·ÂÁ¡Àº º¯È¯ ÈÄÀÇ Á¡À¸·Î½á ÀûÀýÈ÷ µ¡¾²±âµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
ptSrc - ¿ªº¯È¯µÇ´Â Á¡
ptDst - °á°úÀûÀ¸·Î »ý¼ºµÇ´Â º¯È¯ ÈÄÀÇ Á¡
¹Ýȯ°ª:
¿ªº¯È¯ÀÇ °á°ú¸¦ ÀúÀåÇϰí ÀÖ´Â ptDst
¿¹¿Ü:
NoninvertibleTransformException - Çà·ÄÀ» ¹ÝÀüÇÒ ¼ö ¾ø´Â °æ¿ì

inverseTransform

public void inverseTransform(double[] srcPts,
                             int srcOff,
                             double[] dstPts,
                             int dstOff,
                             int numPts)
                      throws NoninvertibleTransformException 
ÀÌ º¯È¯¿¡ ÀÇÇØ ¹èÁ¤¹ÐµµÀÇ ÁÂÇ¥ÀÇ ¹è¿­À» ¿ªº¯È¯ÇÕ´Ï´Ù. 2 °³ÀÇ ÁÂÇ¥ ¹è¿­ ¼½¼ÇÀº ¿ÏÀüÇÏ°Ô °°Àº°¡, °á°úÀÇ À¯È¿¼º¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í °°Àº ¹è¿­ÀÇ ¼½¼ÇÀ» ¿À¹ö·¦ ÇÑ °ÍÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â Àü¼Û¿øÀÇ ÁÂÇ¥°¡ º¯È¯ °¡´ÉÇÏ°Ô µÇ±â Àü¿¡, Áö±Ý±îÁöÀÇ ¿ÀÆÛ·¹À̼ǿ¡ ÀÇÇØ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÕ´Ï´Ù. ÁÂÇ¥´Â ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset)·ÎºÎÅÍ ½ÃÀ۵Ǵ ¹è¿­¿¡ [x0, y0, x1, y1, ..., xn, yn] ¶ó°í ÇÏ´Â ¼ø¼­·Î ÀúÀåµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
srcPts - Àü¼Û¿øÀÇ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö°í ÀÖ´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
dstPts - º¯È¯µÈ Á¡ÁÂÇ¥°¡ µ¹·ÁÁÖ¾îÁö´Â ¹è¿­. °¢ Á¡Àº x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
srcOff - Àü¼Û¿ø¹è¿­¿¡¼­ÀÇ º¯È¯µÇ´Â ÃÖÃÊÀÇ Á¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
dstOff - ÃÖÃÊÀÇ Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®°¡ ÀúÀåµÇ´Â Àü¼Ûó ¹è¿­³»ÀÇ À§Ä¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
numPts - º¯È¯µÇ´Â Æ÷ÀÎÆ® ¿ÀºêÁ§Æ®ÀÇ ¼ö
¿¹¿Ü:
NoninvertibleTransformException - Çà·ÄÀ» ¹ÝÀüÇÒ ¼ö ¾ø´Â °æ¿ì

deltaTransform

public Point2D  deltaTransform(Point2D  ptSrc,
                              Point2D  ptDst)
ptSrc ¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â »ó´ëÀûÀÎ °Å¸® º¤Å͸¦ º¯È¯ÇØ, ±× °á°ú¸¦ ptDst ¿¡ ÀúÀåÇÕ´Ï´Ù. »ó´ëÀû °Å¸® º¤ÅÍ´Â ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ÆòÇàÀ̵¿ ÄÄÆÛ³ÍÆ®¸¦ Àû¿ëÇÏ´Â ÀÏ ¾øÀÌ, ´ÙÀ½ÀÇ ½ÄÀ» »ç¿ëÇØ º¯È¯µË´Ï´Ù.
	[  x' ]   [  m00  m01 (m02) ] [  x  ]   [ m00x + m01y ]
	[  y' ] = [  m10  m11 (m12) ] [  y  ] = [ m10x + m11y ]
	[ (1) ]   [  (0)  (0) ( 1 ) ] [ (1) ]   [     (1)     ]
ptDst °¡ null ÀÇ °æ¿ì, »õ·Î¿î Point2D ¿ÀºêÁ§Æ®¸¦ ÇÒ´çÇÒ ¼ö ÀÖ°í ³ª¼­, º¯È¯ÀÇ °á°ú°¡ ÀÌ ¿ÀºêÁ§Æ®¿¡ ÀúÀåµË´Ï´Ù. ¾î´À ÂÊÀÇ °æ¿ìµµ, ÆíÀÇ»ó, º¯È¯ ÈÄÀÇ Á¡À» ÀúÀåÇϰí ÀÖ´Â ptDst °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ptSrc ¿Í ptDst °¡ °°Àº ¿ÀºêÁ§Æ®ÀÇ °æ¿ì, ÀÔ·ÂÁ¡Àº º¯È¯ ÈÄÀÇ Á¡À¸·Î½á ÀûÀýÈ÷ µ¡¾²±âµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
ptSrc - µ¨Å¸ º¯È¯µÇ´Â °Å¸® º¤ÅÍ
ptDst - °á°úÀûÀ¸·Î º¯È¯µÈ °Å¸® º¤ÅÍ
¹Ýȯ°ª:
º¯È¯ÀÇ °á°ú¸¦ ÀúÀåÇϰí ÀÖ´Â ptDst

deltaTransform

public void deltaTransform(double[] srcPts,
                           int srcOff,
                           double[] dstPts,
                           int dstOff,
                           int numPts)
ÀÌ º¯È¯¿¡ ÀÇÇØ »ó´ëÀûÀÎ °Å¸® º¤ÅÍÀÇ ¹è¿­À» º¯È¯ÇÕ´Ï´Ù. »ó´ëÀû °Å¸® º¤ÅÍ´Â ¾ÆÇÉ º¯È¯ Çà·ÄÀÇ ÆòÇàÀ̵¿ ÄÄÆÛ³ÍÆ®¸¦ Àû¿ëÇÏ´Â ÀÏ ¾øÀÌ, ´ÙÀ½ÀÇ ½ÄÀ» »ç¿ëÇØ º¯È¯µË´Ï´Ù.
	[  x' ]   [  m00  m01 (m02) ] [  x  ]   [ m00x + m01y ]
	[  y' ] = [  m10  m11 (m12) ] [  y  ] = [ m10x + m11y ]
	[ (1) ]   [  (0)  (0) ( 1 ) ] [ (1) ]   [     (1)     ]
2 °³ÀÇ ÁÂÇ¥ ¹è¿­ ¼½¼ÇÀº ¿ÏÀüÇÏ°Ô °°Àº°¡, °á°úÀÇ À¯È¿¼º¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í °°Àº ¹è¿­ÀÇ ¼½¼ÇÀ» ¿À¹ö·¦ ÇÑ °ÍÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â Àü¼Û¿øÀÇ ÁÂÇ¥°¡ º¯È¯ °¡´ÉÇÏ°Ô µÇ±â Àü¿¡, Áö±Ý±îÁöÀÇ ¿ÀÆÛ·¹À̼ǿ¡ ÀÇÇØ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÕ´Ï´Ù. ÁÂÇ¥´Â ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset)·ÎºÎÅÍ ½ÃÀ۵Ǵ ¹è¿­¿¡ [x0, y0, x1, y1, ..., xn, yn] ¶ó°í ÇÏ´Â ¼ø¼­·Î ÀúÀåµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
srcPts - Àü¼Û¿øÀÇ °Å¸® º¤ÅͰ¡ ÀúÀåµÇ°í ÀÖ´Â ¹è¿­. °¢ º¤ÅÍ´Â »ó´ë x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
dstPts - º¯È¯ ³¡³­ °Å¸® º¤ÅͰ¡ µ¹·ÁÁÖ¾îÁö´Â ¹è¿­. °¢ º¤ÅÍ´Â »ó´ë x,  y ÁÂÇ¥ÀÇ Æä¾î·Î¼­ ÀúÀåµÇ´Â
srcOff - Àü¼Û¿ø¹è¿­¿¡¼­ÀÇ º¯È¯µÇ´Â ÃÖÃÊÀÇ º¤ÅÍ¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
dstOff - ÃÖÃÊÀÇ º¯È¯ º¤ÅͰ¡ ÀúÀåµÇ´Â Àü¼Ûó ¹è¿­³»ÀÇ À§Ä¡¿¡ÀÇ ¿ÀÇÁ¼Â(offset)
numPts - º¯È¯µÇ´Â º¤ÅÍ ÁÂÇ¥ Æä¾îÀÇ ¼ö

createTransformedShape

public Shape  createTransformedShape(Shape  pSrc)
ÁöÁ¤µÈ Shape ¸¦ ÀÌ º¯È¯¿¡ ÀÇÇØ º¯È¯ÇØ, ±× Shape ÀÇ Áö¿À¸ÞÆ®¸®¿¡ ÀÇÇØ Á¤ÀǵǴ »õ·Î¿î Shape ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
pSrc - ÀÌ º¯È¯À¸·Î º¯È¯µÇ´Â ÁöÁ¤µÈ Shape ¿ÀºêÁ§Æ®
¹Ýȯ°ª:
º¯È¯µÈ Shape ÀÇ Áö¿À¸ÞÆ®¸®¸¦ Á¤ÀÇÇÏ´Â »õ·Î¿î Shape ¿ÀºêÁ§Æ®

toString

public String  toString()
ÀÌ Object ÀÇ °ªÀ» Ç¥ÇöÇÏ´Â String ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
ÀÌ Object ÀÇ °ªÀ» ³ªÅ¸³»´Â String

isIdentity

public boolean isIdentity()
ÀÌ AffineTransform ÀÌ Ç׵ȯÀÎ °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ AffineTransform °¡ Ç׵ȯÀÎ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

clone

public Object  clone()
ÀÌ AffineTransform ¿ÀºêÁ§Æ®ÀÇ Ä«ÇǸ¦ µ¹·ÁÁÝ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ clone
¹Ýȯ°ª:
ÀÌ AffineTransform ¿ÀºêÁ§Æ®ÀÇ Ä«ÇÇÀÎ Object
°ü·Ã Ç׸ñ:
Cloneable

hashCode

public int hashCode()
ÀÌ º¯È¯ÀÇ ÇØ½Ã Äڵ带 µ¹·ÁÁÝ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ º¯È¯ÀÇ ÇØ½Ã ÄÚµå
°ü·Ã Ç׸ñ:
Object.equals(java.lang.Object) , Hashtable

equals

public boolean equals(Object  obj)
ÀÌ AffineTransform ÀÌ, ÁöÁ¤µÈ Àμö¿Í °°Àº ¾ÆÇÉ ÁÂÇ¥º¯È­¸¦ Ç¥ÇöÇÏ´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ equals
ÆÄ¶ó¹ÌÅÍ:
obj - ÀÌ AffineTransform ¿Í °°Àº°¡ ¾î¶²°¡°¡ ºñ±³µÇ´Â Object
¹Ýȯ°ª:
obj °¡ ÀÌ AffineTransform ¿ÀºêÁ§Æ®¿Í °°Àº °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
Object.hashCode() , Hashtable

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.