Matlab·学习 | (一)太阳系模型

目录

前言:

效果图如下:

Matlab代码:

1.主文件:

2.相对公转绘制:

3.移动轨迹绘制:

4.个体主体绘制

总结:


前言:

个人学习内容分享:太阳系模型:初学matlab的绘图学习案例。

想要得到更加完美的星球信息进行更改:推荐奇点天文实验室获取更加真实的数据。


效果图如下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiN5Y-Y5Zug5a2Q,size_20,color_FFFFFF,t_70,g_se,x_16编辑


Matlab代码:

1.主调用文件:

clear;clc
%行星级半径在20以上,卫星在20以内
title='taiyangxi';
text='taiyangxi';
for t=0:3600
    %(球心坐标x,y,z,半径,自转效果)
    drawball(0,0,0,40,t);
    hold on
    %(公转半径,公转圆心x坐标,公转圆心y坐标,相对纵向空间位置,自转半径,自转效果,公转速度)
    %水星
    Mercury=drawxinggui(50,0,0,0,1,t,10/58);
    %金星 
    Venus=drawxinggui(100,0,0,0,2.3,t,10/243);
    %地球,月亮  
    Earth=drawxinggui(150,0,0,0,2.5,t,10);
    moor.x=Earth(1);
    moor.y=Earth(2);
    drawxinggui(25,moor.x,moor.y,0,0.8,t,10)
    %火星
    Mars=drawxinggui(200,0,0,0,1.5,t,10);
    %土星
    Saturn=drawxinggui(375,0,0,0,25,t,10/0.5);
    %天王星
    Uranus=drawxinggui(500,0,0,0,11,t,10/0.7);
    %海王星
    Neptune=drawxinggui(1000,0,0,0,10,t,10/0.8);
    %木星
    Jupiter=drawxinggui(300,0,0,0,33,t,10/0.4);
    axis equal
    pause(0.04)
    hold off
end

2.相对公转绘制:

同时调用绘制星轨和行星的函数,只不过这里公转的圆心发生了改变。

function w1=drawxinggui(R,x,y,z,r,c,v)
x1=R*cos(c/180*pi*v)+x;
y1=R*sin((c/180)*pi*v)+y;
w1=[x1,y1];
drawcircle(x,y,R)
drawball(x1,y1,z,r,c)

3.移动轨迹绘制:

绘制星轨:其实就是星球运动的轨迹

function drawcircle(x0,y0,r0)
c=linspace(0,2*pi,100);
X=r0*cos(c)+x0;
Y=r0*sin(c)+y0;
plot(X,Y)
axis equal

4.个体主体绘制:

绘制一个自转的星球

function drawball(x0,y0,z0,r0,c)
a=linspace(0,pi,20);
b=linspace(0,2*pi,40)+c;
[A,B]=meshgrid(a,b);
X=r0*sin(A).*cos(B)+x0;
Y=r0*sin(A).*sin(B)+y0;
Z=r0*cos(A)+z0;
mesh(X,Y,Z)
end

总结:

这是一个非常非常基础的一个星系运行模型,然后真实星球大小比例绘制出的图案,属实不美观,所以只能进行简化处理,然后行星运行的轨迹其实不完全是圆形,所以为了追求更加贴近真实,其实可以赋予更加准确的运动轨迹的相关参数,还有行星的公转轨迹也不再同一个平面上。以及动态的美观,行星轨迹可以改为逐渐生成。

posted on   不变因子  阅读(245)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示