3

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

4

1 回答 1

7

带箭头:

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));
于 2013-07-30T07:38:35.203 回答