개발/Computer Graphics

Line-sphere intersection - 구와 선이 만남

ensuta 2024. 5. 2. 23:43
728x90
반응형

해석기하학(Analytic geometry)에서 다뤄지는 선(line) 과 구(sphere) 가 상호작용하는 것을 말한다.

활용 분야는 Computer Graphics 에서 구 모양의 물체를 Ray Tracing 하는 곳에 쓰인다.

wikipedia

해석기하학인 만큼, 벡터(vector) 계산으로 케이스를 나누고 해결한다.

x : 구의 점

c : 중심점

r : 반경

x: 선 위의 점

o : 선의 기원(시점)

d : 시점부터의 거리

u : 방향(non-zero 벡터)

 

의 꼴이 나타난다.

근의 공식,

u 는 유닛 벡터이므로,

가 성립한다.

del < 0, 만나지 않는다

del = 0, 한 점에서 만난다.

del > 0, 두 점에서 만난다.

 

무한대 문제 해결

입사각이 90도인 경우, 무한 반사가 일어나면 연산이 무한대로 튀어버리므로, 매우 작은 양의 상수를 더하여 오차 계산한다. 그러면 바로 옆 픽셀에 도달하게 만들 수 있다. 따라서 무한 반사가 되지 않는다.

반응형