24小时热门版块排行榜    

查看: 1464  |  回复: 7

言西早幻城

新虫 (正式写手)

[求助] 如何使许多条线按“贪吃蛇”模式的动画逐步画出 已有1人参与

求助:
a=randn(50,3);
plot3(a(:,1),a(:,2),a(:,3));

此程序可以随机画出49条线,如何控制才能使线条依次画出,形成类似动画的视觉。
十分感谢!
回复此楼

» 猜你喜欢

阅读开阔眼界,交流助力成功
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shenyxtata

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
用for循环一条一条画。每次随机画一条。如果不想按从1到最后的顺序,好像是可以随机生成一个排列的。

» 本帖已获得的红花(最新10朵)

2楼2015-10-28 19:54:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

言西早幻城

新虫 (正式写手)

送红花一朵
引用回帖:
2楼: Originally posted by shenyxtata at 2015-10-28 19:54:31
用for循环一条一条画。每次随机画一条。如果不想按从1到最后的顺序,好像是可以随机生成一个排列的。

谢谢您的及时回复,但因为实际数据很多,这样做有些麻烦。想形成类似comet函数的表现形式。
阅读开阔眼界,交流助力成功
3楼2015-10-29 08:19:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ink_lv

铜虫 (小有名气)

【答案】应助回帖

clc
clear
%
dim=0.1;%设置间隔别设置太大 数据多的话卡内存
a=randn(50,3);%生成路径的点
[m,n]=size(a);%获取矩阵大小
xx=1:dim:50;
x1=interp1(a(:,1),xx);
y1=interp1(a(:,2),xx);
z1=interp1(a(:,3),xx);

comet3(x1,y1,z1);

» 本帖已获得的红花(最新10朵)

4楼2017-05-01 17:47:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

言西早幻城

新虫 (正式写手)

引用回帖:
4楼: Originally posted by ink_lv at 2017-05-01 17:47:41
clc
clear
%
dim=0.1;%设置间隔别设置太大 数据多的话卡内存
a=randn(50,3);%生成路径的点
=size(a);%获取矩阵大小
xx=1:dim:50;
x1=interp1(a(:,1),xx);
y1=interp1(a(:,2),xx);
z1=interp1(a(:,3),xx);
...

可否每一步停0.5s,划线的宽度也可以调大?
阅读开阔眼界,交流助力成功
5楼2017-05-01 18:08:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

言西早幻城

新虫 (正式写手)

送红花一朵
引用回帖:
4楼: Originally posted by ink_lv at 2017-05-01 17:47:41
clc
clear
%
dim=0.1;%设置间隔别设置太大 数据多的话卡内存
a=randn(50,3);%生成路径的点
=size(a);%获取矩阵大小
xx=1:dim:50;
x1=interp1(a(:,1),xx);
y1=interp1(a(:,2),xx);
z1=interp1(a(:,3),xx);
...

谢谢!!!
阅读开阔眼界,交流助力成功
6楼2017-05-01 18:09:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

言西早幻城

新虫 (正式写手)

送红花一朵
引用回帖:
4楼: Originally posted by ink_lv at 2017-05-01 17:47:41
clc
clear
%
dim=0.1;%设置间隔别设置太大 数据多的话卡内存
a=randn(50,3);%生成路径的点
=size(a);%获取矩阵大小
xx=1:dim:50;
x1=interp1(a(:,1),xx);
y1=interp1(a(:,2),xx);
z1=interp1(a(:,3),xx);
...

谢谢!!!
阅读开阔眼界,交流助力成功
7楼2017-05-01 18:09:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ink_lv

铜虫 (小有名气)

【答案】应助回帖

★ ★
jjdg: 金币+2, 感谢参与 2017-05-02 17:25:00
把comet3的原函数函数打开
CODE:
else
  % Choose first three colors for head, body, and tail
  head = line('parent',ax,'color',co(1,:),'marker','o','erase','xor', ...
              'xdata',x(1),'ydata',y(1),'zdata',z(1));
  body = line('parent',ax,'color',co(1,:),'linestyle','--','erase','none', ...
              'xdata',[],'ydata',[],'zdata',[]);
  tail = line('parent',ax,'color',co(1,:),'linestyle','-','erase','none', ...
              'xdata',[],'ydata',[],'zdata',[]);
end

这里是他画图前设置的 照着设置你要的线条的形状
head tail body 是贪吃蛇的三个部分 脑袋 身体 尾巴
下面的函数 是贪吃蛇走的路径
三部

第一个循环 生成身体
第二个循环 行走
第三个循环 清楚尾巴

行走步骤中加上pause(0.1)就可以控制行走的速度了
8楼2017-05-02 17:02:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 言西早幻城 的主题更新
信息提示
请填处理意见