找回密码
 注册
Simdroid-非首页
查看: 178|回复: 12

怎样加速动态三维图 新增了较小的数据

[复制链接]
发表于 2009-6-30 22:01:42 | 显示全部楼层 |阅读模式 来自 辽宁大连
本帖最后由 weiwei43 于 2009-7-5 14:27 编辑

一个三维曲面,我不想一下将三维曲面画出,而是要画出这个曲面随着时间(是一个坐标轴)增加曲面的生长动态图,朋友已经帮我做出来了。做法是将时间分成多段,每次画一段时间上的曲面,现在的问题是,画后面段时,前面的段还要重复画(因为随着时间的加长,数据最大最小值也在变化,已经画的部分颜色需要更新),这样,越后面画得越慢。我这里有个较小的数据,和M文件,哪位高手能帮我修正一下,解决上面的问题。我的实际数据很大,这里给了一个小数据,可能后面段画图需要的时间没有太大的加长。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2009-7-3 08:35:43 | 显示全部楼层 来自 辽宁大连
Simdroid开发平台
没有高手指点一下吗?
回复 不支持

使用道具 举报

发表于 2009-7-3 12:41:38 | 显示全部楼层 来自 浙江杭州
你贴这么多文件上来,估计看一遍也要用很长时间的,别人都被你吓住了。

建议你最好把你要改的问题,提炼成一段小程序,让别人一看就知道是什么问题,这样被解决的机率就高了。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-7-4 08:00:06 | 显示全部楼层 来自 辽宁大连
这么多不外乎就是两个文件,一个M文件,一个数据文件。
这个绘图就是在数据较大时才能感觉出来后面绘图较慢,如果给出较小文件,可能感觉不出来后面绘图的问题。
如果需要小文件,我可以给出。
回复 不支持

使用道具 举报

发表于 2009-7-4 11:26:54 | 显示全部楼层 来自 浙江杭州
4# weiwei43

还是帮你把代码贴出来吧。


另外,你贴的文件,好象少一个“outH车钩力.part01.rar”。



  1. p = 1; % pause in the 1st time only.
  2. interval = 1;
  3. s = '.\outH车钩力.dat';
  4. y = 108; % number of cars
  5. c = 109; % input columns
  6. fid = fopen(s,'r');
  7. fgetl(fid);
  8. dat = fscanf(fid,'%f',[c,inf]);
  9. fclose(fid);
  10. clear fid
  11. dat = dat.';

  12. figure;
  13. xlabel('t(s)','HorizontalAlignment','center');
  14. ylabel('# Car','HorizontalAlignment','center');
  15. xlim([0,fix(max(dat(:,1)))]);
  16. ylim([1,y]);
  17. zlim([fix(min(min(dat(:,2:y+1)))),fix(max(max(dat(:,2:y+1))))]);
  18. zlabel('Force(kN)');
  19. view([52.5 28]);
  20. grid on
  21. hold on

  22. dd = length(dat);
  23. % colormap cool
  24. colorbar('location','EastOutside');
  25. y0 = 1:1:y;
  26. x0 = dat(:,1);
  27. z  = dat(:,2:y+1).';
  28. clear dat
  29. stp = fix(interval/(x0(2)-x0(1)));
  30. [x,y] = meshgrid(x0,y0);
  31. for kk = 1:stp:dd-stp
  32.     x1 = x(:,kk:kk+stp);
  33.     y1 = y(:,kk:kk+stp);
  34.     z1 = z(:,kk:kk+stp);
  35.     surfc(x1,y1,z1,'LineStyle','none');
  36.     % surfc(x1,y1,z1,'LineStyle','none');
  37.     % mesh(x1,y1,z1);
  38.     % shading interp
  39.     drawnow expose update
  40.     if kk ==1
  41.         pause(p)
  42.     end
  43. end
  44. clear p dd kk

复制代码
回复 不支持

使用道具 举报

 楼主| 发表于 2009-7-4 15:36:20 | 显示全部楼层 来自 辽宁大连
本帖最后由 weiwei43 于 2009-7-4 21:43 编辑

重新上了传了一个略小的数据文件。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-7-11 21:07:54 | 显示全部楼层 来自 辽宁大连
看来Matlab功能还是有限。没有人能解决这个问题。
回复 不支持

使用道具 举报

发表于 2009-7-11 21:36:50 | 显示全部楼层 来自 香港
数据大的时候绘图慢不是很正常的吗?你找个数据越大绘图越快的软件给我瞧瞧?
回复 不支持

使用道具 举报

 楼主| 发表于 2009-7-12 17:34:51 | 显示全部楼层 来自 辽宁大连
请楼上看明白了再回答问题。
我是指画后面曲线时,前面的图形还要重画一遍,所以越往后画,时间越长。文件大的时候,画后面需要重复很多次前面已经画过的图形,时间更长的明显。
回复 不支持

使用道具 举报

发表于 2009-7-13 09:56:29 | 显示全部楼层 来自 香港
对matlab一窍不通,口气倒不小,哇哈哈
回复 不支持

使用道具 举报

 楼主| 发表于 2009-7-13 10:27:56 | 显示全部楼层 来自 辽宁大连
本帖最后由 weiwei43 于 2009-7-13 10:31 编辑

你通吗?问题都看不清能干什么?请你远离本贴,不要在这里捣乱了。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-7-31 09:31:51 | 显示全部楼层 来自 辽宁大连
这个问题很难吗?
还请高手出面!
回复 不支持

使用道具 举报

发表于 2009-7-31 11:21:12 | 显示全部楼层 来自 上海
这个问题很难吗?
还请高手出面!
weiwei43 发表于 2009-7-31 09:31

lz这样的口气,感觉是来砸场子的,没人肯帮忙的
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 07:30 , Processed in 0.055748 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表