MATLAB画图在二维平面有100个离散的点,假设这些点都在第一象限,按照X坐标大小排序,标号1到100.现要实现以下功

问题描述:

MATLAB画图
在二维平面有100个离散的点,假设这些点都在第一象限,按照X坐标大小排序,标号1到100.现要实现以下功能:第0秒,画一条连接远点到点"1"的线段,第0.01秒,画远点到点“2”的线段,并擦除之前画的与点“1”的线段,之后每隔0.01秒执行一次“画线和擦除”的操作,直到第100个点.若想实现上述功能该如何写程序?我主要是想知道时间控制的函数以及画线和擦除的函数,简要描述函数语法即可,不用给出完整程序,
原点,我要实现的是三维空间
1个回答 分类:综合 2014-12-05

问题解答:

我来补答
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
再问: 我试了一下,line不能连接三维空间中的两点,要想画出点(1,1,1)和点(2,2,2)之间的线段应该用什么函数呢?要想删除又要用什么函数呢?而且delete语句删不掉线,我刚试的。
再答: %line([x1 x2],[y1 y2],[z1 z2]);用于连接三位空间中的两点,只是它默认画出在xy平面的投影,必须使用view(3)才能看到,也就是 a = line([1 2],[1 2],[1 2]) view(3) %delete(a)可以删掉掉a指定的线,上面的程序我试验过,可以实现二维平面上的动态效果三维可以改为: H = figure; axis([0 max(x) 0 max(y) 0 max(z)]); %设置坐标轴范围 hold on %主要用于防止每次画线过程中改变坐标轴显示范围而造成图像“抖动” view(3) grid on %画出格子易于看出三维特征 for i = 1 : 100 a = line([0 x(i)],[0 y(i)],[0 z(i)]); pause(0.01) delete(a) end 如果不行,你把程序贴出来看看,题干是说的是二维平面上的点,楼主究竟是要画3维还是2维的?
 
 
展开全文阅读
剩余:2000
上一页:第9题老师
下一页:jst
也许感兴趣的知识