Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 三维法向量的绘制_Matlab_Vector_Plot - Fatal编程技术网

Matlab 三维法向量的绘制

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)

我有一个由两个向量[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;
这将有希望从你的点到你的法线方向画一个向量…用箭头。如果要在三维中绘制简单直线,必须使用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));