¡á 3D Engine

** [°­ÁÂ] Quaternion **
copyright¨Ï ±è¼º¿Ï(kaswan) [1999³â 6¿ù 24ÀÏ]

1. º¹¼Ò¼ö¿Í ÄõÅÍ´Ï¿Â ±×¸®°í ȸÀü

¸ñ Â÷
1. º¹¼Ò¼ö¿Í ÄõÅÍ´Ï¿Â ±×¸®°í ȸÀü
2. ÄõÅÍ´Ï¿ÂÀÇ À¯·¡¿Í Angular displacement
3. ´ÜÀ§ ÄõÅʹϿ°ú ÀÓÀÇÃà ȸÀüÀÇ ´ëÀÀ

ÄõÅʹϿ°ú 3Â÷¿ø ȸÀüÀÇ ¿¬°ü¼ºÀ» ÀÌÇØÇÏ·Á¸é ¿ì¼± ÄõÅÍ´Ï¿ÂÀÇ ÇҾƹöÁöÀÎ º¹¼Ò¼ö¿Í 2Â÷¿ø ȸÀüÀÇ ¿¬°ü¼ºÀ» ¸ÕÀú »ìÆì º¸¾Æ¾ß ÇÕ´Ï´Ù.

º¹¼Ò¼ö(Complex number)¾ß ¿©·¯ºÐµéÀÌ ÀÌ¹Ì °íµîÇб³ ¼öÇп¡¼­ ¹è¿üÀ¸´Ï Àß ¾Æ½Ç Å×°í..

ÀÓÀÇÀÇ º¹¼Ò¼ö C = X + i*Y ( i©÷ = -1 ) °¡ ÀÖÀ»¶§..
½Ç¼ö ¼ººÐ X¿Í Çã¼ö ¼ººÐ Y¸¦ °¢°¢ 2Â÷¿ø Æò¸é ÁÂÇ¥°èÀÇ xÃà ÁÂÇ¥¿Í yÃà ÁÂÇ¥·Î ´ëÀÀ½ÃÅ°¸é ÀÓÀÇÀÇ ½Ç¼ö¸¦ ¼öÁ÷¼±»ó¿¡ Ç¥½ÃÇÒ ¼ö ÀÖµíÀÌ ÀÓÀÇÀÇ º¹¼Ò¼ö¸¦ 2Â÷¿ø Æò¸é»ó¿¡ Ç¥½ÃÇÒ ¼ö ÀÖÁö¿ä.
ÀÌ·± Æò¸éÀ» º¹¼ÒÆò¸éÀ̶ó°í ÇÑ´Ù´Â °Íµµ ¹è¿üÀ» °Ì´Ï´Ù.
À̶§ xÃàÀ» ½Ç¼öÃà, yÃàÀ» Çã¼öÃàÀ̶ó°í ÇÏÁö¿ä.

±×·³ º¹¼Ò¼ö¿Í 2Â÷¿ø ȸÀüÀÇ ¿¬°ü¼ºÀ» ¾Ë¾Æº¸Áö¿ä.
º¹¼ÒÆò¸é»óÀÇ ¿øÁ¡¿¡¼­ 1ÀÇ °Å¸®¿¡ ÀÖ´Â ¸ðµç º¹¼Ò¼öµéÀ» ÂïÀ¸¸é ¹ÝÁö¸§ÀÌ 1ÀÎ ´ÜÀ§¿øÀÌ µÇÁÒ.
½Ç¼öÃàÀ» ±âÁØÀ¸·Î ¹Ý½Ã°è¹æÇâÀ¸·Î Àé °¢µµ¸¦ '¥è'¶ó°í ÇÏ¸é º¹¼ÒÆò¸éÀÇ ´ÜÀ§¿ø»ó¿¡ ÀÖ´Â º¹¼Ò¼öµéÀº R = cos¥è + i*sin¥è ·Î ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù.

ÀÚ! ÀÌÁ¦ ÀÓÀÇÀÇ º¹¼Ò¼ö C¿Í ´ÜÀ§¿øÀ» ³ªÅ¸³»´Â º¹¼Ò¼ö RÀ» ¼­·Î °öÇغ¾½Ã´Ù.
º¹¼Ò¼ö¸¦ °öÇÏ´Â ¹ýÀº ´Ùµé ¾Æ½ÃÁÒ?
(±â¾ïÀÌ ¾È³ª½Ã¸é °íµîÇб³ ¼öÇÐÃ¥ Çѹø µéÃ纸¼¼¿ä!)
°öÇÑ °á°ú·Î ³ª¿Â º¹¼Ò¼ö¸¦ C'À̶ó°íÇϸé

C' £½ C*R
¡¡ £½ X*cos¥è £­ Y*sin¥è + i*( X*sin¥è + Y*cos¥è )

ÀÌ°É °¢ ¼ººÐ º°·Î Àû¾îº¸¸é

X' £½ X*cos¥è - Y*sin¥è
Y' £½ X*sin¥è + Y*cos¥è

±×·±µ¥ ÀÌ°Ç 2Â÷¿ø Æò¸é¿¡¼­ÀÇ È¸Àü°ø½ÄÀ̶û ¶È °°³×¿ä.
¿ì¸®´Â ±×³É º¹¼Ò¼ö³¢¸® °öÇϱ⸸ ÇÑ °Çµ¥..
°á°ú´Â 2Â÷¿ø Çà¹éÅÍ( x, y )¿¡´Ù 2Â÷¿ø ȸÀüÇà·ÄÀ» °öÇÑ °Å¶û ¶È°°±º¿ä.

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡ ¡¡ |¡¡cos¥è¡¡ sin¥è¡¡|
¡¡( x', y' ) = ( x , y ) * l¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡ ¡¡ l
¡¡¡¡¡¡¡¡ ¡¡ ¡¡ ¡¡¡¡¡¡¡¡| -sin¥è ¡¡ cos¥è¡¡|

º¹¼ÒÆò¸é»ó¿¡¼­ÀÇ Àǹ̸¦ »ìÆ캸¸é ÀÓÀÇÀÇ º¹¼Ò¼ö C¸¦ ¿øÁ¡À» Áß½ÉÀ¸·Î ¥è ¸¸Å­ ȸÀü½ÃŲ º¹¼Ò¼ö°¡ ¹Ù·Î C' À̶ó´Â °ÍÀÌÁÒ.

¿©±â¼­ ¿ì¸®°¡ ¾Ë¾Æ³½ »ç½ÇÀº º¹¼Ò¼öÀÇ °öÀÌ ÀÇ¿Ü·Î 2Â÷¿ø ȸÀü°ú ¿¬°üµÇ¾îÀÖ´Ù´Â °Ì´Ï´Ù.
±×·¯¸é º¹¼Ò¼öÀÇ È®ÀåÀÎ ÄõÅʹϿµµ ¹º°¡ ȸÀü°ú °ü·Ã¼ºÀÌ ÀÖÀ» °ÍÀ̶ó°í ÁüÀÛÇÒ ¼ö ÀÖ°ÚÁÒ.

¢º 2. QuaternionÀÇ À¯·¡¿Í Angular displacement