DirectX Graphics ·¹ÆÛ·±½º Direct3D extension (D3DX) C/C++ ·¹ÆÛ·±½º ÇÔ¼ö »ê¼ú ÇÔ¼ö D3DXVec4Hermite [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
ÁöÁ¤µÈ 4D º¤Å͸¦ »ç¿ëÇØ, ¿¡¸£¹ÌÆ®ÀÇ ½ºÇöóÀÎ º¸°£À» ½ÇÇàÇÑ´Ù.
±¸¹®
D3DXVECTOR4 *WINAPI D3DXVec4Hermite(
D3DXVECTOR4 *pOut, CONST D3DXVECTOR4 *pV1, CONST D3DXVECTOR4 *pT1, CONST D3DXVECTOR4 *pV2, CONST D3DXVECTOR4 *pT2, FLOAT s );
ÆÄ¶ó¹ÌÅÍ
- pOut
- [in, out] ¿¬»ê °á°úÀÎ D3DXVECTOR4 ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
- pV1
- [in] À§Ä¡ º¤Å͸¦ ³ªÅ¸³»´Â, ó¸®ÀÇ ±âº»À¸·Î µÇ´Â D3DXVECTOR4 ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
- pT1
- [in] Á¢¼± º¤Å͸¦ ³ªÅ¸³»´Â, ó¸®ÀÇ ±âº»À¸·Î µÇ´Â D3DXVECTOR4 ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
- pV2
- [in] À§Ä¡ º¤Å͸¦ ³ªÅ¸³»´Â, ó¸®ÀÇ ±âº»À¸·Î µÇ´Â D3DXVECTOR4 ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
- pT2
- [in] Á¢¼± º¤Å͸¦ ³ªÅ¸³»´Â, ó¸®ÀÇ ±âº»À¸·Î µÇ´Â D3DXVECTOR4 ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
- s
- [in] °¡Áß °è¼ö. ¡¸ÁÖÀÇ¡¹¸¦ ÂüÁ¶ÇÒ°Í.
¹Ýȯ°ª
¿¡¸£¹ÌÆ®ÀÇ ½ºÇöóÀÎ º¸°£ÀÇ °á°úÀÎ D3DXVECTOR4 ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
ÁÖÀÇ
D3DXVec4Hermite ÇÔ¼ö´Â, ¿¡¸£¹ÌÆ®ÀÇ ½ºÇöóÀÎ º¸°£À» »ç¿ëÇØ (positionA, tangentA)·ÎºÎÅÍ (positionB, tangentB)¿¡ º¸°£ ÇÑ´Ù.½ºÇöóÀÎ º¸°£Àº, ease-in, ease-out ½ºÇöóÀÎÀÇ ÀϹÝÈÀÌ´Ù. °î¼±Àº, ´ÙÀ½ÀÇ ÇÁ·ÎÆÛƼ¸¦ °¡Áö´Â ÇÔ¼ö Q(s)ÀÌ´Ù.
Q(s) = As3 + Bs2 + Cs + D (and therefore, Q'(s) = 3As2 + 2Bs + C) a) Q(0) = v1, so Q'(0) = t1 b) Q(1) = v2, so Q'(1) = t2v1 ´Â pV1 ÀÇ ³»¿ë, v2 ´Â pV2 ÀÇ ³»¿ë, t1 ´Â pT1 ÀÇ ³»¿ë, ¹× t2 ´Â pT2 ÀÇ ³»¿ëÀÌ´Ù.
ÀÌ·¯ÇÑ ÇÁ·ÎÆÛƼ´Â, A, B, C, D ÀÇ ÇØ°á¿¡ »ç¿ëµÈ´Ù.
D = v1 (from a) C = t1 (from a) 3A + 2B = t2 - t-1 (substituting for C) A + B = v2 - v1 - t1 (substituting for C and D)A, B, C, D ÀÇ °á°ú¸¦ ´ëÀÔÇØ Q(s)¸¦ »ý¼ºÇÑ´Ù.
A = 2v1 - 2v2 + t2 + t1 B = 3v2 - 3v1 - 2t1 - t2 C = t1 D = v1À̰Ϳ¡ ÀÇÇØ ´ÙÀ½À» ¾òÀ» ¼ö ÀÖ´Ù.
Q(s) = (2v1 - 2v2 + t2 + t1) s3 + (3v2 - 3v1 - 2t1 - t2) s2 + t1s + v1. // Which can be rearranged as: Q(s) = (2s3 - 3s2 + 1) v1 + (-2s3 + 3s2) v2 + (s3 - 2s2 + s) t1 + (s3 - s2) t2.Ä¿ºê´Â ¸ðµç Á¦¾îÁ¡À» ´Ù³à ½ÇÇàµÇ¹Ç·Î, ¿¡¸£¹ÌÆ®ÀÇ ½ºÇöóÀÎÀº ¾Ö´Ï¸ÞÀ̼ÇÀÇ Á¦¾î¿¡ Æí¸®ÇÏ´Ù. ¶Ç, À§Ä¡³ª Á¢¼±ÀÌ °¢ ¼¼±×¸ÕÆ®(segment)ÀÇ Á¾Á¡¿¡¼ ¸í½ÃÀûÀ¸·Î ÁöÁ¤µÇ°í ÀÖÀ¸¹Ç·Î, ±âÁ¡°ú Á¢¼±ÀÌ ÃÖÁ¾ ¼¼±×¸ÕÆ®(segment)ÀÇ Á¾Á¡ÀÇ °ª¿¡ ÀÏÄ¡Çϵµ·Ï(µíÀÌ) Çϰí ÀÖ´Â ÇÑ, C2 ¿¬¼Ó Ä¿ºê¸¦ °£´ÜÇÏ°Ô »ý¼º ÇÒ ¼ö ÀÖ´Ù.
ÀÌ ÇÔ¼öÀÇ ¹Ýȯ°ªÀº,pOut ÆÄ¶ó¹ÌÅÍÀÇ ¹Ýȯ°ª°ú °°´Ù. µû¶ó¼,D3DXVec4Hermite ÇÔ¼ö¸¦ ´Ù¸¥ ÇÔ¼öÀÇ Àμö·Î¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
ÇÔ¼öÀÇ Á¤º¸
Çì´õ d3dx9math.h ÀÓÆ÷Æ® ¶óÀ̺귯¸® d3dx9.lib ÃÖÀúÇÑÀÇ operating system Windows 98