Project BloodSummoner 2014. 3. 3. 19:17

점과 구 충돌 여부 확인

구와 구의 충돌에 이어 똑같은 개념이다.


구의 중점과 점의 거리가 구의 반지름보다 작으면 구가 점을 포함하기 때문에 충돌여부를 알 수가 있다.


/******************************************************************************

 [5/21/2008 Hyun]

 Method:    IsCollisionPointToSphere

 FullName:  OcGlobalFunction::IsCollisionPointToSphere

 Access:    public  

 Returns:   BOOL

 Qualifier:

 Parameter: const D3DXVECTOR3 * pPos1 - 구 중점

 Parameter: const D3DXVECTOR3 * pPos2 - 점

 Parameter: float fRadius - 반지름의 제곱

 TODO : 점과 구 충돌 여부 확인 함수

******************************************************************************/

inline BOOL IsCollisionPointToSphere(const D3DXVECTOR3* pPos1, const D3DXVECTOR3* pPos2, float fRadius)

{


D3DXVECTOR3 vSub ;

D3DXVec3Subtract(&vSub, pPos1, pPos2) ;


if (fRadius*fRadius > D3DXVec3LengthSq(&vSub))

{

return TRUE ;

}


return FALSE ;

}