평면 vs 평면의 교차직선구하는 방법은 간단하다..
두평면의 노멀을 구한뒤 CrossProduct 방향으로 직선의 디렉션을 구할 수 있다.
문제는 Origin ..
두개의 평면의 P1과 P2라 하면 P1의 평면 방정식
a1x + b1y + c1z = d1
P2의 평면 방정식
a2x + b2y + c2z = d2
P1과 P2에 수직인 평면 P3라 하면
a3x + b3y + c3z = d3
세개의 삼원일차 방정식을 풀면 Origin P(x,y,z)를 구할수 있다.
3개의 평면의 교점은 반드시 존재하므로 Matrix로 푼다.
교차선 L(t)에 대해
L(t) = t*Cross(N0,N1)/|Cross(N0,N1)| + c0*N0 + c1*N1
이므로
d0 = Dot(N0,L) = c0*Dot(N0,N0) + c1*Dot(N0,N1) = c0 + c1*d
d1 = Dot(N1,L) = c0*Dot(N0,N1) + c1*Dot(N1,N1) = c0*d + c1
c0와 c1은 다음과 같이 구해진다..
c0 = (d0 – d*d1)/det
c1 = (d1 – d*d0)/det
det = 1 – d^2.
…