当前位置:服务支持 >  软件文章 >  MATLAB模拟地球自转运动模式变化编程实现

MATLAB模拟地球自转运动模式变化编程实现

阅读数 3
点赞 0
article_banner

根据刘慈欣同名科幻小说改编的《流浪地球》,2019年春节期间上映啦!本文首先声明绝无推销该电影之嫌,因为他没给钱,也绝无褒贬该电影之意,只是探讨其中的科学问题。

《流浪地球》讲述了“太阳将要成为红巨星膨胀而亡,地球将要被太阳大气膨胀淹没”的生死关头,人类联合政府决定将地球作为一个飞船驶离现有轨道,驶向距离4.2光年的“半人马座比邻星”。如此宏伟的决定,需要经历五个阶段:1.刹车阶段:利用赤道上行星发动机的巨大推力,使地球停止自转。2.逃逸阶段:全功率开启行星发动机,使地球加速驶出太阳系。3.先流浪阶段:利用太阳和木星完成最后的加速,使地球驶向比邻星。4.后流浪阶段:全功率开启行星发动机,利用500年将地球加速到0.5%光速,然后滑行1300年;然后掉转发动机,利用700年进行减速。5.新太阳时代:地球泊入比邻星轨道,成为“半人马座比邻星”的卫星。

现在站在娱乐和研究的角度,利用MATLAB模拟地球的减速旋转(刹车阶段),加速旋转,顺时针旋转和逆时针旋转等过程。整个模拟特别简单,M文件没有写太多代码,只是追求视觉上的感受而已。

第一,创建名为DrawEarth的函数文件绘制3D地球,具体代码和相应注释见下图(该函数在“航天派”微信公众号2019年2月5日“模拟卫星发射”的文章中也有介绍)。

MATLAB模拟地球加速旋转、减速旋转、顺时针旋转、逆时针旋转的图1

第二,创建脚本,编写主程序,具体代码和相应注释如下图。其中,E=DrawEarth(R)为调用DrawEarth( )函数绘制半径为6730km的3D地球,rotate(E, direction, j)函数为围绕z轴旋转图像对象(3D地球),j控制旋转步进(度),j的绝对值增大旋转加快,j为正时自西向东(逆时针)旋转,j为负时自东向西(顺时针)旋转。

MATLAB模拟地球加速旋转、减速旋转、顺时针旋转、逆时针旋转的图2

第二,保存和运行上述代码,得到视频中的旋转地球。

MATLAB模拟地球加速旋转、减速旋转、顺时针旋转、逆时针旋转的图3

第三,将j的数值增大为j=50,pause(暂停时间)减小为pause(0.01),即暂停0.01秒,再次保存和运行上述代码,得到加速旋转的地球。相反,将j的数值减小,pause暂停时间增大,就可以得到减速旋转的地球。

第四,我们都知道地球是自西向东自转的(从北极上空观察为逆时针自转)。但是将j的数值改为负值,如j=-10,再次保存和运行上述代码,便得到自东向西(顺时针)自转的地球。

以上就完成了MATLAB模拟地球加速旋转、减速旋转、自西向东(逆时针)旋转、自东向西(顺时针)旋转的工作。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空