posted by WizardMania 2014. 10. 27. 14:56

광선과 OBB의 교차검출 방법중에 slabs 방법이 있다.


광선과 육면체 세방향에 대한 교점을 찾고 교점의 최대값 최소값을 비교하면된다




구한 최소값중에서 가장큰값이 최대값중에서 가장작은값 보다 작거나 같다면 광선과 박스가 교차한 것 이다.


(1) 광선과 교점의 최소값중에서 가장큰값 (tu min)이 최대값중에서 가장작은값(tv max)보다 작다.  (교차)

(2) 광선과 교점의 최소값중에서 가장큰값 (tv min)이 최대값중에서 가장작은값(tu max)보다 크다. (교차하지 않음)



광선과 면의 방향에따른 교점거리를 구하는 공식은 다음과 같다.


C : 박스의 중심

a : 박스의 각축의 정규화된 벡터

r : 박스의 길이(절반길이)

O: 광선의 시작점

v: 광선의 방향



한가지 고려해야될 상황은  광선과 박스의 면이 평행할때이다.


 가 0이라면 광선과 해당면은 평행이다 여기에서


 거나 

 이면


광선은 박스 밖에 있다는것 이므로 교차하지 않게된다.




'프로그래밍 > 수학, 물리' 카테고리의 다른 글

구 vs OBB  (0) 2014.10.27
광선 vs 캡슐 교차검출  (0) 2014.10.27
AABB와 OBB  (0) 2014.10.27
광선 vs 구 교차판정  (0) 2014.10.27
선분 선분 최단점과 최단거리  (1) 2014.10.22