我如何找到一个点的正交投影到一个平面

241(30天)
说我有一架飞机由两个向量张成的a和b,我有一个点C = [x, y, z],我想找到这个点的正交投影到由两个向量张成的飞机。我怎么做呢?
2的评论
卢克
卢克 2015年3月23日
真的,不幸的是我知道如何实现它,而不是数学。

登录置评。

接受的答案

Torsten
Torsten 2015年3月23日
分钟:(x0 +λ* a0 +μ* b0-x) ^ 2 + (y0 +λ* a1 +μ* b1-y) ^ 2 + (z0 +λ* a2 +μ* b2-z) ^ 2
给点的距离的平方(x, y, z)飞机
w = (x0, y0, z0) +λ* (a0, a1, a2) +μ* (b0, b1, b2)。
不同距离的平方λ和μ,设置偏导数为0和求解λ和μ。
如果结果是λ^,^μ
(x0, y0, z0) +(λ^)* (a0, a1, a2) +(μ^)* (b0, b1, b2)
的正交投影(x, y, z)到飞机上。
最好的祝愿
Torsten。

答案(1)

诺亚
诺亚 2019年10月3日
这是一个老帖子,但应有一个简单的答案。你的飞机是由向量张成的A和B,但需要在飞机在三维空间中指定。调用一个点在平面上p可以计算正常(称之为“n”和正常化)。然后由翻译给出C的投影向正常方向的点(C p, n)。
%计算正常
n =交叉(A, B);
n = n /√(sum (n ^ 2));
%项目上飞机
C_proj = C -点(C - P, n) * n

类别

找到更多的在矩阵分解帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!