직선과 평면이 만나는 교차점을 계산하는 식에 대해 알아보도록 하겠습니다.
직선의 방정식은 직선을 지나는 한 점과 직선의 방향을 알면 아래와 같이 나타낼 수 있습니다.
Line(t) = lineP + t*lineDir
여기서 t는 lineP에서 얼마만큼 떨어졌는지(거리)를 나타냅니다.
lineP: 직선 위의 한점
lineDir: 직선의 방향백터
평면 위의 두 점 차를 평면의 노말로 내적 하면 0이 됩니다. 평면 위의 두 점 차는 평면 위의 벡터로 보시면 됩니다. 이것을 식으로 작성하면 아래와 같습니다.
planeNom • (planeP1 - planeP2) = 0 • : 내적
planeNom:평면의 노말
planeP1, planeP2: 평면 위의 두 점
평면 위의 한점 planeP2를 직선의 한 점이라고 가정하고 위 두 방정식을 t에 관해 풀어쓰면 아래와 같습니다.
t = (planeNom • planeP1 - planeNom • lineP) / planeNom • lineDir
t를 구하면 직선의 방정식을 이용하여 직선과 평면의 교차점을 구할 수 있습니다.
p(교차점) = lineP + t*lineDir
정리하면,
직선의 한점, 직선의 방향과
평면의 한점, 평면의 법선을 알면 평면과 직선의 교차점을 구할 수 있습니다.
두 벡터의 내적은 아래글을 통해서 계산할 수 있습니다.
2024.03.12 - [3D Algorithm] - 벡터 내적 외적 계산 공식과 결과 의미
참고로 평면은 점 세개 혹은 한 점과 평면의 법선으로 평면의 형상을 결정할 수 있습니다. 평면의 방정식이나 평면의 특징은 아래글을 통해서 알 수 있습니다.
2023.10.20 - [3D Algorithm] - 평면 방정식 의미(개발자 관점)
'3D Algorithm' 카테고리의 다른 글
라디안 각도 변환과 개념(Radian Degree) - 쉽게 그림으로 설명 (0) | 2023.10.26 |
---|---|
3차원 직선 계산 및 벡터 표현(개발자 관점) (0) | 2023.10.26 |
stl, obj 3D 파일 포멧 기본 정보(3D File Format) (0) | 2023.10.23 |
평면 방정식 의미(개발자 관점) (0) | 2023.10.20 |
3차원 점 직선 투영(Point Line Projection) 방법1 (0) | 2023.10.13 |