두 구 사이의 겹침검사는 아주 간단하다. 유클리드의 방법 중 구 사이의 거리는 계산 될수 있고, 구들의 반지름의 합과 비교될수 있다. 루트계산의 복잡함을 피하려면 제곱거리를 비교한다.
int TestSphereSphere(Sphere a, Sphere b)
{
Vector d=a.c-b.c;
float dist2=Dot(d,d);
float radiusSum=a.r+b.r;
return dist2<=radiusSum*radiusSum;
}
AABB보다 구는 짧은 수식연산으로 계산되는 데도 불구하고, 다양한 방식과 약간의 데이터를 가져와야 한다. 현대 아키텍처는 구검사는 간간히 ABB보다 빠르게 검사한다. 하지만, 이 두개의 간단한 검사는 스피드 평가로써 적절치 않다.
'컴퓨터 공학' 카테고리의 다른 글
4.3.3 최대확산의 방향으로부터의 경계 구 (0) | 2015.11.26 |
---|---|
4.3.2 경계 구 계산 (0) | 2015.11.26 |
4.3 구 (0) | 2015.11.26 |
4.2.6 회전된 AABB로부터 재계산된 AABB (0) | 2015.11.26 |
4.2.5 객체표현의 언덕오르기 점으로부터의 AABB (0) | 2015.11.26 |