三维空间平面的一般方程为
A x + B y + C z + D = 0 Ax+By+Cz+D=0 Ax+By+Cz+D=0 (1)
假定不在平面上的三维空间点坐标为(x_o,y_o,z_o),其在平面上的投影点坐标为(x_p,y_p,z_p)。因为投影点到当前点与平面垂直,根据垂直约束条件,易知y_p与z_p满足如下条件:
y p = B A ( x p − x o ) + y o y_p=\frac{B}{A}(x_p-x_o)+y_o yp=AB(xp−xo)+yo (2)
z p = C A ( x p − x o ) + z o z_p=\frac{C}{A}(x_p-x_o)+z_o zp=AC(xp−xo)+zo (3)
将(2)和(3)代入(1),可以解得:
x p = ( B 2 + C 2 ) x o − A ( B y o + C z o + D ) A 2 + B 2 + C 2 x_p=\frac{(B^2+C^2)x_o-A(By_o+Cz_o+D)}{A^2+B^2+C^2} xp=A2+B2+C2(B2+C2)xo−A(Byo+Czo+D) (4)
将(4)代入(2),(3),可以解得
y p = ( A 2 + C 2 ) y o − B ( A x o + C z o + D ) A 2 + B 2 + C 2 y_p=\frac{(A^2+C^2)y_o-B(Ax_o+Cz_o+D)}{A^2+B^2+C^2} yp=A2+B2+C2(A2+C2)yo−B(Axo+Czo+D) (5)
z p = ( A 2 + B 2 ) z o − C ( A x o + B y o + D ) A 2 + B 2 + C 2 z_p=\frac{(A^2+B^2)z_o-C(Ax_o+By_o+D)}{A^2+B^2+C^2} zp=A2+B2+C2(A2+B2)zo−C(Axo+Byo+D) (6)
由此解得空间三维点到平面的投影坐标(x_p,y_p,z_p)。