3D 그래픽 프로그래밍

평면과 두 점 사이에 만나 점 구하기

하늘흐늘 2021. 11. 17. 13:40
반응형

평면의 방정식은 아래와 같습니다.
ax + by + cz + d = 0

면의 방정식과 두 점을 아는 상태에서 평면과 만나는 두 점 사이의 점을 구하여 보겠습니다.
비율 r을 P – P0 / P1 – P0으로 정의하겠습니다. 비율 r을 구하기 위하여 분모 및 분자에 평면에 수직한 법선 벡터 n을 내적하면 비율 r은 아래와 같습니다. 참고로 벡터 n은 평면을 방정식을 응용하면 (a, b, c)가 됩니다.
r = P·벡터 n – P0 ·벡터 n / P1 ·벡터 n – P0 ·벡터 n
여기서 P는 평면과 교차함으로 평면내에 포함되어 있어 P·벡터 n은 평면의 방정식에 의하여 –d가 됩니다.
r과 관련된 수식에서 P의 값 만을 알 수 없었으므로 P·벡터 n을 –d값으로 치환하여 r을 구합니다.
P는 P0 + r * (P1 – P0)이 되므로 구한 r값과 아는 두 점 P0, P1의 값을 대입하여 구하면 됩니다.

다시 수식으로 요약하면 아래와 같습니다.

r = P·벡터 n – P0 ·벡터 n / P1 ·벡터 n – P0 ·벡터 n
P = P0 + r * (P1 – P0)

반응형