楼主: aris_zzy
6218 0

[分享]matlab画图moive函数 做动画 [推广有奖]

  • 0关注
  • 19粉丝

http://www.ariszheng.com

副教授

6%

还不是VIP/贵宾

-

威望
0
论坛币
215 个
通用积分
5.2404
学术水平
7 点
热心指数
10 点
信用等级
7 点
经验
16240 点
帖子
352
精华
1
在线时间
830 小时
注册时间
2005-10-21
最后登录
2019-10-3

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

190870.rar (9.67 KB) 本附件包括:

  • Sola_system.m
  • puma3d.m

一个自己写的 还有一个别人的 有兴趣的可以看看

function Solar_system
%code by ariszheng 2008-1-27
%Email:ariszheng@gmail.com

Sun=[0,0,0];
%Mercury   %水星
%Venus %金星
%Earth %地球
%火星 %Mars
%木星 %Jupiter
%土星 %Saturn
%天王星 %Uranus
%海王星 %Neptune
%冥王星 %Pluto
%Aris
EdgeMark=10*eye(3);
R=[2.1 11.5 15 17.0 19.0];
R=R';

alpha=0:0.1:2*pi+0.1;
n=length(alpha);
PlateTraceX=zeros(5,n);
PlateTraceY=zeros(5,n);
PlateTraceZ=zeros(5,n);
theta=rand(1,5);
theta=theta';
for i=1:5
    for j=1:n 
        PlateTraceX(i,j)=R(i)*cos(theta(i)*cos(alpha(j)))*sin(alpha(j));   
        PlateTraceY(i,j)=R(i)*cos(theta(i)*cos(alpha(j)))*cos(alpha(j));  
        PlateTraceZ(i,j)=R(i)*sin(theta(i)*cos(alpha(j)));
    end
end
% plot3(PlateTraceX(1,:),PlateTraceY(1,:),PlateTraceZ(1,:),'b--');
% plot3(PlateTraceX(2,:),PlateTraceY(2,:),PlateTraceZ(2,:),'g--');
% plot3(PlateTraceX(3,:),PlateTraceY(3,:),PlateTraceZ(3,:),'r--');
% plot3(PlateTraceX(4,:),PlateTraceY(4,:),PlateTraceZ(4,:),'c--');
% plot3(PlateTraceX(5,:),PlateTraceY(5,:),PlateTraceZ(5,:),'m--');
RandStart=randint(1,5,[1,n]);
FixPoint=[0,0,20;
          0,20,0;
          20,0,0;
          0,0,-20;
          0,-20,0;
          -20,0,0];

for i=1:n
 
    plot3(FixPoint(:,1),FixPoint(:,2),FixPoint(:,3),'w.');
    hold on;
    plot3(Sun(1),Sun(2),Sun(3),'r.','MarkerSize',100);   
    plot3(PlateTraceX(3,mod(RandStart(3)+i,n)+1)+PlateTraceX(1,mod(RandStart(1)+i,n)+1),PlateTraceY(3,mod(RandStart(3)+i,n)+1)+PlateTraceY(1,mod(RandStart(1)+i,n)+1),PlateTraceZ(3,mod(RandStart(3)+i,n)+1)+PlateTraceZ(1,mod(RandStart(1)+i,n)+1),'g.','MarkerSize',10);
    plot3(PlateTraceX(2,mod(RandStart(2)+i,n)+1),PlateTraceY(2,mod(RandStart(2)+i,n)+1),PlateTraceZ(2,mod(RandStart(2)+i,n)+1),'k.','MarkerSize',30);
    plot3(PlateTraceX(3,mod(RandStart(3)+i,n)+1),PlateTraceY(3,mod(RandStart(3)+i,n)+1),PlateTraceZ(3,mod(RandStart(3)+i,n)+1),'b.','MarkerSize',40);
    plot3(PlateTraceX(4,mod(RandStart(4)+i,n)+1),PlateTraceY(4,mod(RandStart(4)+i,n)+1),PlateTraceZ(4,mod(RandStart(4)+i,n)+1),'c.','MarkerSize',45);
    plot3(PlateTraceX(5,mod(RandStart(5)+i,n)+1),PlateTraceY(5,mod(RandStart(5)+i,n)+1),PlateTraceZ(5,mod(RandStart(5)+i,n)+1),'m.','MarkerSize',50);
    F(i)=getframe;
    hold off
    pause(.0333);
   
end
movie(F,4,3);


[此贴子已经被作者于2008-1-27 22:18:18编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:matlab画图 MATLAB moive matla atlab MATLAB 函数 画图 动画 moive

http://www.ariszheng.com
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-3 19:08