Quick Reference
부분공간에 가장 가까운 점 p는 원래 벡터 b와의 차이 b−p가 그 공간에 수직인 점입니다. Q의 열이 정규직교 기저이면 p=QQᵀb입니다.
법선 n=(1,1,1), 평면 x+y+z=0, b=(2,0,1)
p = b - ((b·n)/(n·n))n
= (2,0,1) - (1,1,1)
= (1,-1,0)평면 위의 점과 잔차
p는 1−1+0=0이므로 평면 위에 있습니다. 잔차 r=b−p는 (1,1,1)이고 법선 방향입니다. b에서 평면까지의 거리는 ‖r‖=√3입니다.
평면 안의 다른 점 p+v를 택하면 r과 v가 수직이어서 ‖b−(p+v)‖²=‖r‖²+‖v‖²입니다. v=0일 때 가장 작으므로 p가 가장 가까운 점임을 알 수 있습니다. 직교성은 단순한 모양 설명이 아니라 최소 거리의 근거입니다.
투영 행렬
원점을 지나는 평면의 법선 n이 0이 아니면 다음 행렬을 사용합니다.
P = I - nnᵀ/(nᵀn)
n=(1,1,1)일 때
P = 1/3 [ 2 -1 -1 ]
[ -1 2 -1 ]
[ -1 -1 2 ]
p = Pb직선 span(a)로의 투영은 P=aaᵀ/(aᵀa)이며 a≠0이어야 합니다. 내적·길이 계산은 내적과 외적의 실수 정규직교 좌표 규약을 따릅니다.
실수 직교 투영 행렬은 Pᵀ=P, P²=P를 만족합니다. 이미 투영된 점을 다시 투영해도 바뀌지 않는다는 뜻입니다. 더 작은 차원으로 투영하면 잃은 방향이 있어 일반적으로 역행렬은 없습니다.
기저가 직교하지 않으면
Q 대신 독립인 열들을 가진 일반 행렬 A로 부분공간을 표현했다면 P=A(AᵀA)⁻¹Aᵀ입니다. 이 식의 역행렬은 A의 열들이 독립일 때 존재합니다. A의 열이 정규직교이면 AᵀA=I이므로 AAᵀ로 단순해집니다. 일반적인 독립 열만으로는 이 단순화를 사용할 수 없습니다.
실제 수치 계산에서는 QR이나 SVD로 투영 결과를 구하는 방법을 고려합니다. 역행렬 식은 수학적 관계를 설명하며, 항상 그 행렬을 직접 만들라는 구현 지시는 아닙니다.
원점에서 떨어진 평면
평면이 x₀+V 형태라면 먼저 b−x₀를 방향 부분공간 V에 투영한 뒤 x₀를 더합니다. 즉 p=x₀+P(b−x₀)입니다. 평면의 원점 이동을 무시하고 Pb만 사용하면 다른 평면에 투영합니다.
그래픽스의 원근 투영은 화면으로 보내기 위해 동차좌표와 w 나누기를 사용하는 과정입니다. 여기서의 “유클리드 거리상 가장 가까운 점” 투영과 같은 연산으로 취급하지 않습니다. 원근 좌표 변환은 Graphics 클립·NDC, 여러 측정값의 근사는 최소제곱에 연결됩니다.
지정된 방향으로 진행해 표면에 닿는 점은 최단 거리의 투영점과 다를 수 있습니다. 해당 방향과 허용 구간을 포함한 계산은 광선과 평면·삼각형의 교차에 있습니다.
참고 링크
2 sources