MathJax

2011년 9월 1일 목요일

구와 구 교차 ( Intersecting sphere and sphere )


bool Sphere_Sphere( Sphere& A, Sphere& B)
{
//두개의 구 중심사이의 거리
D3DXVECTOR3 CenterDist = B.Center - A.Center;

//제곱된 거리 사용
float Dist = D3DXVec3Dot(&CenterDist, &CenterDist);

//두개의 구의 반지름의 합
float SumDist = A.Radius + B.Radius;

//제곱된 거리 사용
SumDist *= SumDist;


//합한거리보다 더 거리가 크면 서로 교차하지 않음
if( Dist > SumDist )
return false;

return true;
}
참고 문헌:
3D 게임 프로그래밍 & 컴퓨터 그래픽을 위한 수학(2판)
(Eric Lengyel저, 류광 역, 정보문화사)

REAL-TIME RENDERING 2판
(Tomas;Eric 공저, 신병석;오경수 공역, 정보문화사)
REAL-TIME COLLISION DETECTION
(Christer Ericson저, Morgan Kaufmann Publishers)

댓글 없음:

댓글 쓰기