matlab 连接三维空间两点

作者&投稿:军晨 (若有异议请与网页底部的电邮联系)
请问怎样用MATLAB求一个三维曲面两点间的最短路径?~

给定两点结合原曲面确定最短路径函数表达式 y=f(x),利用积分求得距离。
这个是数学卷子的解法。

for
连接两点求得中位点,做垂线求得与曲面交点,求得交点与原始两点距离。
end
这个是计算弧长最straight forward的方法,计算量略大,不过用MATLAB无所谓了。

set delta=最小距离;
两点间直线函数 y''=f(x'')
for x1<x<x2
求得所有区间内(x',y',z'),判断点是否与线y''共面。yes,then distance+=delta;

end
这个是离散的做法 没验证过

s的实部有正有负,把负的部分翻上去为正了出现的缺口,若不翻上去s的实部图形是这样:

设两点为:(x1,y1,z1),(x2,y2,z2)
x=[x1,x2],y=[y1,y2],z=[z1,z2]
plot3(x,y,z,'--');
grid on
axis([xmin xmax ymin ymax zmin zmax]) ;%指定x坐标轴的尺度。
即可。


信阳市18787864220: matlab如何在两点之间画一条直线?如果已知(x1,y1,z1)和(x2,y2,z2)这两点,怎样在三维空间里面画穿过它们两个的直线呢? -
丁董健脾:[答案] plot3([x1 x2],[y1 y2],[z1 z2]); 可以画连接两点的线段 如果要穿过两点,画更长的线段,那么需要稍微复杂一点的程序,增加几条语句

信阳市18787864220: matlab如何在两点之间画一条直线? -
丁董健脾: plot3([x1 x2],[y1 y2],[z1 z2]); 可以画连接两点的线段如果要穿过两点,画更长的线段,那么需要稍微复杂一点的程序,增加几条语句

信阳市18787864220: matlab三维画直线怎么画?我想连接两点(x1,y1,z1),(x2,y2,z2)画一条直线,怎么做? -
丁董健脾: plot3([x1,x2],[y1,y2],[z1,z2])

信阳市18787864220: matlab如何把三维散点依次连接(首尾也要连接) -
丁董健脾: 需要进行插值,再绘制 x=[1 2 3 4 5 6]; y=[3 6 8 13 31 24]; z=[0 5 3 14 35 12]; xx=linspace(1,6); yy=spline(x,y,xx); zz=spline(x,z,xx); plot3(xx,yy,zz,'r',x,y,z,'o')

信阳市18787864220: 如何用matlab将空间中的点用光滑的曲线连接起来 -
丁董健脾: clear;clcx=[-4.93 -4.91 -4.78 -3.98 -3.57 -3.28 0.20 0.40 0.61 0.68 0.69 0.70 0.73 0.74];y=[-10.13 -7.32 -2.58 -0.97 -0.11 -0.02 0.45 0.77 2.33 3.11 4.68 6.78 13.02 16.10];plot(x,y,'.')n=length(x);c=linspace(0,1,n);k=100;%越大越光滑cc=linspace(0,1,...

信阳市18787864220: 已有点数据,如何用matlab绘制三维图将各个点连接起来 -
丁董健脾: 就是用plot3 比如绘制一条三维螺旋线: t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t); 下面这个是用mesh绘制了一个三维曲面

信阳市18787864220: matlab三维离散点怎么连线,为什么我的程序出的图不是用直线连接的呢? -
丁董健脾: x=[];y=[];z=[]; for a1=0.05:0.005:0.25 a2=a1;a3=a1; x=[x a2];y=[y a1];z=[z a3]; end plot3(x,y,z,'-*')

信阳市18787864220: matlab 画出离散点之后要怎样才能将这些点任意两点之间连起来? -
丁董健脾: 其实,题目不是很理解 如果您想在已画好的图形上添加直线 可以先保留原来图片 命令:hold on 然后,再用line函数画直线即可 如: x=[1 2 3 4 5 6 7 8]; y=[3 5 2 7 3 8 1 6]; stem(x,y) %如连接第2个点和第四个点 hold on line([x(2),x(4)],[y(2),y(4)])

信阳市18787864220: MATLAB画图 -
丁董健脾: a = line([x1 x2],[y1,y2]) 用于画线,连接两个点,这个函数会返回画的线的句柄存到a中 delete(a) 会删除a所含句柄指向的线,以上实现画线与擦除 pause(t);将会停顿t秒,用于控制时间,这样你就可以通过for循环来实现这一点 H = figure; axis([0 max(x) 0 max(y)]); %设置坐标轴范围 hold on %主要用于防止每次画线过程中改变坐标轴显示范围而造成图像“抖动” for i = 1 : 100 a = line([0 x(i)],[0 y(i)]) pause(0.01) delete(a) end

信阳市18787864220: 请问怎样用MATLAB求一个三维曲面两点间的最短路径? -
丁董健脾: 给定两点结合原曲面确定最短路径函数表达式 y=f(x),利用积分求得距离.这个是数学卷子的解法.for 连接两点求得中位点,做垂线求得与曲面交点,求得交点与原始两点距离.end 这个是计算弧长最straight forward的方法,计算量略大,不过用MATLAB无所谓了.set delta=最小距离;两点间直线函数 y''=f(x'') for x1求得所有区间内(x',y',z'),判断点是否与线y''共面.yes,then distance+=delta; end 这个是离散的做法 没验证过

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网