jiajuan911 发表于 2010-12-15 18:29

求已知点到已知线或已知面的投影坐标

例如:已知点A(1,0)、B(1,1)、C(0,0)、D(3,4)
求:1, 点A在直线BC上的投影坐标      2,点A在平面BCD上的投影坐标

我知道用最基本的方法求得:做垂线,解方程组。总觉得效率太低。
大家有没有什么好的想法,或者matlab中有求解这个问题的命令?还是只有做垂线这一条路了?呵呵


jiajuan911 发表于 2010-12-15 21:19

抛个砖先。
求一个点到一个平面的投影的方法
format rational
x0=input('输入空间点横坐标x0=');
y0=input('输入空间点纵坐标y0=');
z0=input('输入空间点竖坐标z0=');
A=input('平面方程Ax+By+Cz+D=0的系数A=');
B=input('平面方程Ax+By+Cz+D=0的系数B=');
C=input('平面方程Ax+By+Cz+D=0的系数C=');
D=input('平面方程Ax+By+Cz+D=0的系数D=');
t=-(A*x0+B*y0+C*z0+D)/(A^2+B^2+C^2);
disp(['投影点坐标为P=(',num2str(x0+A*t),',',num2str(y0+B*t),',',num2str(z0+C*t),')'])
页: [1]
查看完整版本: 求已知点到已知线或已知面的投影坐标