Matlab 三维法向量的绘制
我有一个由两个向量[xn,yn,zn]的叉积计算出来的法向量,我有一个点[x0,y0,z0],如何在3d中绘制法向量。 我不知道怎么做。有什么建议吗?带箭头:Matlab 三维法向量的绘制,matlab,vector,plot,Matlab,Vector,Plot,我有一个由两个向量[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 = [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;
这将有希望从你的点到你的法线方向画一个向量…用箭头。如果要在三维中绘制简单直线,必须使用plot3:
plot3(X1,Y1,Z1,...)
函数调用应与quiver3的相同。
:)
编辑/添加:我刚刚发现我可能误解了quiver3的功能。实际上,似乎你不需要从a中减去或加上b。因为箭图3只是把一个给定的向量(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));
它在另一个方向上绘制矢量!!如果我没有错的话,有两个合法的标准向量。如果你想让它画另一个向量,只需从a中减去b:c=a-b;这对我来说不起作用,但不管怎样,函数和解释都足以让我以后思考它。ThanksHow我可以用Plot3来做吗?不幸的是我没有安装Matlab,但是从文档来看应该是一样的:Plot3(a(1),a(2),a(3),c(1),c(2),c(3));