posted by WizardMania 2014. 10. 27. 15:46

구의 중심과 OBB 사이의 가장 가까운점과의 거리가 구의 반지름보다 작거나 같다면 교차했다고 할 수 있다.

OBB와 점 사이의 가장 가까운 거리 찾기


C : 박스의 중심

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

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

P: 임의의점

P와 C를 잇는 벡터 d를 구한다.



각축을 t에 투영하여 거리를 구한다


이거리는 박스의 범위를 넘어가지 않게 제한한다



박스의 중심C와 각축에 대해 구한 거리벡터를 모두더한 값이 가장가까운점 p'가 된다




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

SAT (Separating Axis Theory, 분리축 이론)  (0) 2014.10.27
구 vs 캡슐 교차  (0) 2014.10.27
광선 vs 캡슐 교차검출  (0) 2014.10.27
광선 vs OBB 교차검출  (0) 2014.10.27
AABB와 OBB  (0) 2014.10.27
posted by WizardMania 2014. 10. 27. 15:12

캡슐상의 선분과 광선의 최단거리가 캡슐의 반지름 보다 작다면 교차 했다고 할수 있다.

두광선을 캡슐과의 최단거리(초록색)을 살펴보면 1번광선은 최단거리가 캡슐 반지름보다작아 교차한다.

 2번광선은 최단거리가 캡슐 반지름보다 커서 교차하지 않는다. 


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

구 vs 캡슐 교차  (0) 2014.10.27
구 vs OBB  (0) 2014.10.27
광선 vs OBB 교차검출  (0) 2014.10.27
AABB와 OBB  (0) 2014.10.27
광선 vs 구 교차판정  (0) 2014.10.27
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