word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx

上传人:b****5 文档编号:16327645 上传时间:2022-11-22 格式:DOCX 页数:13 大小:599.53KB
下载 相关 举报
word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx_第1页
第1页 / 共13页
word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx_第2页
第2页 / 共13页
word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx_第3页
第3页 / 共13页
word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx_第4页
第4页 / 共13页
word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx

《word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

word完整版Matlab动画模拟太阳系行星运动Word文档下载推荐.docx

80.80.532。

51。

51.50。

35];

%长轴,短轴,角速度,球体半径

c=sqrt(a。

^2—b.^2);

h=pi/18;

h1=pi/10;

f=pi/9;

g=pi/8;

aby=[hh0;

h1h0;

hh0;

hh0;

hg0;

hhh;

g0g];

%每个轨道平面倾斜角度,偏移设置

%colo={'

y'

,’m’,'

b'

,'

m’,'

r'

'

c’,’b'

’b'

};

[X,Y,Z]=sphere(40);

surf(5*X,5*Y,5*Z);

colormap(autumn)%设置太阳

light('

position’,[102],’style’,'

infinite’)

lightingphong

materialshiny

t=0:

0.01*pi:

50*pi;

t’;

num=length(a);

forn=1:

num

x(:

n)=a(n)*cos(omga(n)*t)+c(n);

y(:

,n)=b(n)*sin(omga(n)*t);

z(:

n)=0*t;

%计算未经轨道平面角度倾斜的轨道位置

xuanz(:

,:

)=[100;

0cos(aby(n,1))-sin(aby(n,1));

0sin(aby(n,1))cos(aby(n,1))]*[cos(aby(n,2))0sin(aby(n,2));

010;

—sin(aby(n,2))0cos(aby(n,2))]*[cos(aby(n,3))—sin(aby(n,3))0;

sin(aby(n,3))cos(aby(n,3))0;

001];

%每个轨道平面倾斜计算

xyz(:

)=[x(:

,n)y(:

n)z(:

n)]*xuanz(:

x(:

,n)=xyz(:

,1);

2);

z(:

n)=xyz(:

3);

%计算轨道平面倾斜后的轨道位置

p(n)=surf(r(n)*X+x(1,n),r(n)*Y+y(1,n),r(n)*Z+z(1,n));

shadinginterp%画出每个行星

plot3(x(:

,n),y(:

n),z(:

,n),’-k’);

%画出所有轨迹线

end

set(p

(1),’facecolor'

,’y’);

set(p

(2),'

facecolor'

m’);

set(p(3),'

facecolor’,’b’);

set(p(4),'

m'

);

set(p(5),’facecolor’,’r'

set(p(6),’facecolor’,’c'

set(p(7),’facecolor'

set(p(8),'

’b’);

set(p(9),’facecolor'

r’);

%设置所有行星的颜色

form=1:

5000%旋转计算

forn=1:

length(a)

set(p(n),’xdata'

r(n)*X+x(m,n),'

ydata’,r(n)*Y+y(m,n),'

zdata’,r(n)*Z+z(m,n));

%所有行星的即时位置设置

end

pause(pausetime);

%暂停一会

drawnow

下面是更加复杂的动画模拟

figure('

name'

’星系演示’);

%设置标题名字

01;

%设置暂停时间

set(gca,'

,[—5050],’ylim’,[—5030],'

zlim'

,[-5050]);

set(gcf,’doublebuffer'

’on’)%消除抖动

xlabel(’x轴'

),ylabel(’y轴'

),zlabel(’z轴’);

gridon;

view([352]);

a=[8.512。

520305060801009044。

54.951.5];

%长轴

b=[8121826455570903044.54.951.5];

%短轴前八个为对应行星,第九个为彗星,后面为卫星

omga=[41.2510.50.10.050。

250。

1250。

443。

93.536];

%角速度

r=[0.350。

80。

80.532。

51.51。

50.50.350.360.50。

40.35];

%球体半径

^2-b。

^2);

f=pi/9;

g1=pi/6;

aby=[hh0;

hg0;

g0g;

000;

g1h0;

0f0;

0g10];

%每个轨道平面偏移设置

runu=35:

0.5:

40;

theta=(0:

0.05*pi:

2*pi)’;

runa=2.8:

0。

4:

5。

6;

xx=cos(theta)*runu+20;

yy=0.9*sin(theta)*runu;

zz=-0。

17*xx-0.17*yy;

plot3(xx,yy,zz,’:

k'

%小行带设置

hx=cos(theta)*runa;

hy=sin(theta)*runa;

hz=-0。

1*hx—0.2*hy;

y’,’m’,’b’,’m’,'

,’c'

’b’,’b’};

[X,Y,Z]=sphere(40);

surf(5*X,5*Y,5*Z);

colormap(autumn)%设置

light(’position’,[102],'

style’,’infinite’)

01*pi:

50*pi;

t'

;

,n)=a(n)*cos(omga(n)*t)+c(n);

n)=b(n)*sin(omga(n)*t);

,n)=0*t;

)=[100;

0cos(aby(n,1))—sin(aby(n,1));

0sin(aby(n,1))cos(aby(n,1))]*[cos(aby(n,2))0sin(aby(n,2));

—sin(aby(n,2))0cos(aby(n,2))]*[cos(aby(n,3))-sin(aby(n,3))0;

sin(aby(n,3))cos(aby(n,3))0;

001];

)=[x(:

n)y(:

n)z(:

,n)]*xuanz(:

n)=xyz(:

1);

2);

,3);

ifn〈=9

p(n)=surf(r(n)*X+x(1,n),r(n)*Y+y(1,n),r(n)*Z+z(1,n));

shadinginterp

,n),y(:

n),z(:

n),’—k’);

%画出所有轨迹线

elseifn〈=13

p(n)=surf(r(n)*X+x(1,n)+x(1,5),r(n)*Y+y(1,n)+y(1,5),r(n)*Z+z(1,n)+z(1,5));

pmuw(n-9)=plot3(x(:

,n)+x(1,5),y(:

,n)+y(1,5),z(:

n)+z(1,5),'

-k'

%木卫1,2,3,4轨道初位置

else

p(n)=surf(r(n)*X+x(1,n)+x(1,3),r(n)*Y+y(1,n)+y(1,3),r(n)*Z+z(1,n)+z(1,3));

pmuw(n—9)=plot3(x(:

,n)+x(1,3),y(:

,n)+y(1,3),z(:

n)+z(1,3),'

—k’);

%月球轨道设置

forn=1:

length(runa)

ph(n)=plot3(hx(:

n)+x(1,6),hy(:

,n)+y(1,6),hz(:

,n)+z(1,6),'

-c'

set(p

(1),’facecolor’,'

set(p

(2),'

set(p(3),’facecolor’,’b'

set(p(4),’facecolor’,’m’);

set(p(6),'

facecolor’,'

c’);

set(p(7),’facecolor'

set(p(8),’facecolor’,’b’);

set(p(9),'

’r'

forn=10:

13

set(p(n),'

b’);

set(p(14),'

5000

ifn<

=9

xdata’,r(n)*X+x(m,n),'

ydata’,r(n)*Y+y(m,n),’zdata'

,r(n)*Z+z(m,n));

%所有的即时位置

elseifn<

=13

xdata'

r(n)*X+x(m,n)+x(m,5),’ydata’,r(n)*Y+y(m,n)+y(m,5),'

zdata’,r(n)*Z+z(m,n)+z(m,5));

set(pmuw(n—9),’xdata'

,x(:

n)+x(m,5),'

ydata'

y(:

,n)+y(m,5),’zdata'

z(:

n)+z(m,5));

set(p(n),'

xdata’,r(n)*X+x(m,n)+x(m,3),’ydata'

,r(n)*Y+y(m,n)+y(m,3),'

zdata'

,r(n)*Z+z(m,n)+z(m,3));

set(pmuw(n—9),'

x(:

n)+x(m,3),’ydata'

,y(:

,n)+y(m,3),'

zdata’,z(:

,n)+z(m,3));

set(ph(n),'

,hx(:

,n)+x(m,6),’ydata’,hy(:

n)+y(m,6),’zdata'

hz(:

,n)+z(m,6));

%光环即时位置

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1