我有一个法向量,我从两个向量 [xn,yn,zn] 的叉积计算得出,我有一个点 [x0,y0,z0] 如何在 3d 中绘制法线。
我不知道该怎么做。请问有什么建议吗?

最佳答案

带箭头:

a = [2 3 5]; % your point [x0,y0,z0]
b = [1 1 0]; % your normal vector
c = a+b; % end position of normal vector

%quiver3 syntax: quiver3(x,y,z,u,v,w)
quiver3(a(1), a(2), a(3), c(1), c(2), c(3));
axis equal;

这有望从您的点向您的法线方向绘制一个矢量......带有箭头。如果你想在 3D 中画一条简单的线,你必须使用 plot3:
plot3(X1,Y1,Z1,...)

函数调用应该与 quiver3 相同。
:)

编辑/添加: 我刚刚看到我可能误解了 quiver3 的作用。实际上,您似乎不需要从 a 中减去或添加 b。因为 quiver3 只是将给定的向量 (u, v, w) 添加到点 (x, y, z) 上。没有检查它,我认为调用应该是这样的:
a = [2 3 5]; % your point [x0,y0,z0]
b = [1 1 0]; % your normal vector
quiver3(a(1), a(2), a(3), b(1), b(2), b(3));

关于matlab - 在 3d 中绘制法线向量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17940766/

10-12 17:53