JavaTM 2 Platform
Standard Ed. 5.0

java.awt.geom
Ŭ·¡½º AffineTransform

java.lang.Object 
  »óÀ§¸¦ È®Àå java.awt.geom.AffineTransform
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Cloneable

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¿¡ ÀÇÇØ ¿øÀÇ »ç¿ëÀÚ °ø°£¿¡ ¸Ê µÈ »õ·Î¿î »ç¿ëÀÚ °ø°£À» Á¦°øÇϱâ À§Çؼ­ °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¹æ¹ýÀ¸·Î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¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
m00,  m01,  m02,  m10,  m11,  m12 - 3x3 º¯È¯ Çà·ÄÀ» ±¸¼ºÇÏ´Â 6°³ÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡

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¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
m00,  m01,  m02,  m10,  m11,  m12 - 3x3 º¯È¯ Çà·ÄÀ» ±¸¼ºÇÏ´Â 6°³ÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡

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 - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ
x,  y - ȸÀüÀÇ ¿¨Ä¿ Æ÷ÀÎÆ®ÀÇ ÁÂÇ¥
¹Ýȯ°ª:
ÁöÁ¤µÈ Á¡À» Áß½ÉÀ¸·Î¼­ ÁöÁ¤µÈ ȸÀü °¢µµ·Î ÁÂÇ¥¸¦ ȸÀüÇÏ´Â 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¸¦ Throw ÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. Çà·Ä½ÄÀÌ Á¦·ÎÀÇ °æ¿ì, ÀÌ º¯È¯Àº ¸ðµç ÀÔ·Â ÁÂÇ¥¸¦ ¼± ¶Ç´Â Á¡¿¡ ¸Ê ÇϹǷΠ¿ªº¯È¯ÇÒ ¼ö ¾ø½À´Ï´Ù. Çà·Ä½ÄÀÌ ÃæºÐÈ÷ Á¦·Î¿¡ °¡±î¿î °æ¿ì, ¿ªº¯È¯ ¿ÀÆÛ·¹À̼ÇÀº Àǹ̰¡ ÀÖ´Â °á°ú¸¦ ³¾ ¼ö ÀÖÀ» »ÓÀÇ Á¤¹Ðµµ¸¦ È®º¸ °¡´ÉÇÑ ÀÖ°í °æ¿ì°¡ ÀÖ½À´Ï´Ù.

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 - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ
x,  y - ȸÀüÀÇ ¿¨Ä¿ Æ÷ÀÎÆ®ÀÇ ÁÂÇ¥

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 - ¶óµð¾ÈÀ¸·Î ³ªÅ¸³½ ȸÀü °¢µµ
x,  y - ȸÀüÀÇ ¿¨Ä¿ Æ÷ÀÎÆ®ÀÇ ÁÂÇ¥

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°³ÀÇ ¹èÁ¤¹ÐµµÄ¡¿¡ ÀÇÇØ °¡¸®Å°´Â Çà·Ä·Î ¼³Á¤ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
m00,  m01,  m02,  m10,  m11,  m12 - 3x3 º¯È¯ Çà·ÄÀ» ±¸¼ºÇÏ´Â 6°³ÀÇ ºÎµ¿ ¼Ò¼öÁ¡Ä¡

concatenate

public void concatenate(AffineTransform  Tx)
Tx¿¡ ÀÇÇØ ¿øÀÇ »ç¿ëÀÚ °ø°£¿¡ ¸Ê µÈ »õ·Î¿î »ç¿ëÀÚ °ø°£À» Á¦°øÇϱâ À§Çؼ­ °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¹æ¹ýÀ¸·Î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¿¡ ÀÇÇØ º¯È¯µÈ ÁÂÇ¥¸¦ ±× ¿øÀÇ ÁÂÇ¥¿¡ ¸ÊÀÇÇØ µÇµ¹¸³´Ï´Ù. Áï, Tx'(Tx(p)) = p = Tx(Tx'(p))ÀÔ´Ï´Ù.

ÀÌ º¯È¯ÀÌ ¸ðµç ÁÂÇ¥¸¦ Á¡À̳ª ¼±¿¡ ¸Ê ÇÏ´Â °æ¿ì, º¯È¯Àº ¿ª»ç»óÀ» °¡ÁöÁö ¾Ê½À´Ï´Ù. ÀÌ°ÍÀº Àü¼ÛóÀÇ Á¡À̳ª ¼±¿¡ ¾ø´Â ÁÂÇ¥°¡ ¿ª»ç»óÀ» °¡ÁöÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. 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 °´Ã¼¸¦ ÇÒ´çÇÒ ¼ö ÀÖ¾î º¯È¯ÀÇ °á°ú°¡ Æ÷ÇԵDZâ Àü¿¡ ±× ¿ä¼Ò¿¡ Æ÷ÇԵ˴ϴÙ.

´Ù¸¸, ÀÌ ¸Þ¼­µå´Â Àü¼Û¿ø¹è¿­¿¡ ³õ¿©Á® °è»êÀÇ Àü¼Û¿øÀ¸·Î¼­ »ç¿ëµÇ´Â 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
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.