오다기리 박의 알고리즘 노트

삼각형과 박스의 교차여부 구하기 본문

컴퓨터 그래픽스/메쉬 기하학

삼각형과 박스의 교차여부 구하기

오다기리 박 2022. 3. 14. 16:40

삼각형과 박스의 교차여부를 알아보자. 여기서 박스는 AABB 로 생각하자.

우선 다음과 같이 정의되는 삼각형과 AABB가 있다고 하자.

 

 

 

 

문제를 단순화하기 위해서 박스의 중심 c가 원점에 위치하도록 다음과 같이 박스와 삼각형을 이동시킨다. 

 

 

 

 

그리고 SAT 에 기반하여 다음 13개 축에 대한 테스트를 수행한다.

  1. [3 tests] AABB의 세 법선 e0=(1, 0, 0) e1=(0, 1, 0) e2=(0, 0, 1). (AABB와 삼각형을 감싸는 AABB간의 테스트)
  2. [1 tests] 삼각형의 법선. (평면과 박스의 교차 검사
  3. [9 tests] aij = ei x fj , i, j = {0, 1, 2}. 

 

 

모든 테스트를 통과하면 seprating axis가 없으므로 삼각형과 박스는 서로 만난다.

 

 

 

[참고] Real-time rendering. Akenine-Moller, Tomas, Eric Haines, and Naty Hoffman.