DirectX Graphics ·¹ÆÛ·±½º Direct3D extension (D3DX) C/C++ ·¹ÆÛ·±½º ÇÔ¼ö »ê¼ú ÇÔ¼ö D3DXVec4Hermite   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
D3DXVec4Hermite ÇÔ¼ö
 
Microsoft DirectX 9.0

D3DXVec4Hermite ÇÔ¼ö


ÁöÁ¤µÈ 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) = t2

v1 ´Â 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


© 2002 Microsoft Corporation. All rights reserved.
¡èTOP