프로그래밍/OpenGL
평면과 직선의 교점 구하기
이재만박사
2016. 10. 4. 13:57
직선 r1 = [2, 1, 1] + t * [0, 1, 2]
평면 r2 .[1, 1, 2] = 3 (내적, 평면)
둘 사이의 교점을 구하자
O 는 원점이다
P 는 직선과 평면의 교점이다
r1 은 직선 위의 어떤 점의 위치 벡터이다
r2 는 평면 위의 어떤 점의 위치 벡터이다
교점에서 두 벡터의 위치는 P로 같기 때문에
r2 에 r1을 대입할 수 있다
즉 ( [2, 1, 1] + t [0, 1, 2] ) . [1, 1, 2] = 3
여기에서 t 를 풀 수 있다
위의 내적을 계산하면 다음과 같다
[2, 1, 1].[1, 1, 2] + t [0, 1, 2].[1, 1, 2] = 3
2 + 1 + 2 + t + 4t = 3
5 + 5t = 3
5t = -2
t = -2/5
r1 에 t 를 구한 값을 대입하면 교점 P 가 나온다
r1 = [2, 1, 1] + (-2/5) [0, 1, 2]
= [2, 1, 1] + [0, -2/5, -4/5]
= [2, 3/5, 1/5]
따라서 교점은 다음과 같다
P = [2, 3/5, 1/5]
원문 사이트 :
http://members.tripod.com/vector_applications/xtion_of_line_and_plane/index.html