MATLAB模擬地球加速旋轉(zhuǎn)、減速旋轉(zhuǎn)、順時(shí)針旋轉(zhuǎn)、逆時(shí)針旋轉(zhuǎn)

根據(jù)劉慈欣同名科幻小說(shuō)改編的《流浪地球》,2019年春節(jié)期間上映啦!本文首先聲明絕無(wú)推銷該電影之嫌,因?yàn)樗麤]給錢,也絕無(wú)褒貶該電影之意,只是探討其中的科學(xué)問題。

《流浪地球》講述了“太陽(yáng)將要成為紅巨星膨脹而亡,地球?qū)⒁惶?yáng)大氣膨脹淹沒”的生死關(guān)頭,人類聯(lián)合政府決定將地球作為一個(gè)飛船駛離現(xiàn)有軌道,駛向距離4.2光年的“半人馬座比鄰星”。如此宏偉的決定,需要經(jīng)歷五個(gè)階段:1.剎車階段:利用赤道上行星發(fā)動(dòng)機(jī)的巨大推力,使地球停止自轉(zhuǎn)。2.逃逸階段:全功率開啟行星發(fā)動(dòng)機(jī),使地球加速駛出太陽(yáng)系。3.先流浪階段:利用太陽(yáng)和木星完成最后的加速,使地球駛向比鄰星。4.后流浪階段:全功率開啟行星發(fā)動(dòng)機(jī),利用500年將地球加速到0.5%光速,然后滑行1300年;然后掉轉(zhuǎn)發(fā)動(dòng)機(jī),利用700年進(jìn)行減速。5.新太陽(yáng)時(shí)代:地球泊入比鄰星軌道,成為“半人馬座比鄰星”的衛(wèi)星。

現(xiàn)在站在娛樂和研究的角度,利用MATLAB模擬地球的減速旋轉(zhuǎn)(剎車階段),加速旋轉(zhuǎn),順時(shí)針旋轉(zhuǎn)和逆時(shí)針旋轉(zhuǎn)等過程。整個(gè)模擬特別簡(jiǎn)單,M文件沒有寫太多代碼,只是追求視覺上的感受而已。

第一,創(chuàng)建名為DrawEarth的函數(shù)文件繪制3D地球,具體代碼和相應(yīng)注釋見下圖(該函數(shù)在“航天派”微信公眾號(hào)2019年2月5日“模擬衛(wèi)星發(fā)射”的文章中也有介紹)。

MATLAB模擬地球加速旋轉(zhuǎn)、減速旋轉(zhuǎn)、順時(shí)針旋轉(zhuǎn)、逆時(shí)針旋轉(zhuǎn)的圖1

第二,創(chuàng)建腳本,編寫主程序,具體代碼和相應(yīng)注釋如下圖。其中,E=DrawEarth(R)為調(diào)用DrawEarth( )函數(shù)繪制半徑為6730km的3D地球,rotate(E, direction, j)函數(shù)為圍繞z軸旋轉(zhuǎn)圖像對(duì)象(3D地球),j控制旋轉(zhuǎn)步進(jìn)(度),j的絕對(duì)值增大旋轉(zhuǎn)加快,j為正時(shí)自西向東(逆時(shí)針)旋轉(zhuǎn),j為負(fù)時(shí)自東向西(順時(shí)針)旋轉(zhuǎn)。

MATLAB模擬地球加速旋轉(zhuǎn)、減速旋轉(zhuǎn)、順時(shí)針旋轉(zhuǎn)、逆時(shí)針旋轉(zhuǎn)的圖2

第二,保存和運(yùn)行上述代碼,得到視頻中的旋轉(zhuǎn)地球。

MATLAB模擬地球加速旋轉(zhuǎn)、減速旋轉(zhuǎn)、順時(shí)針旋轉(zhuǎn)、逆時(shí)針旋轉(zhuǎn)的圖3

第三,將j的數(shù)值增大為j=50,pause(暫停時(shí)間)減小為pause(0.01),即暫停0.01秒,再次保存和運(yùn)行上述代碼,得到加速旋轉(zhuǎn)的地球。相反,將j的數(shù)值減小,pause暫停時(shí)間增大,就可以得到減速旋轉(zhuǎn)的地球。

第四,我們都知道地球是自西向東自轉(zhuǎn)的(從北極上空觀察為逆時(shí)針自轉(zhuǎn))。但是將j的數(shù)值改為負(fù)值,如j=-10,再次保存和運(yùn)行上述代碼,便得到自東向西(順時(shí)針)自轉(zhuǎn)的地球。

以上就完成了MATLAB模擬地球加速旋轉(zhuǎn)、減速旋轉(zhuǎn)、自西向東(逆時(shí)針)旋轉(zhuǎn)、自東向西(順時(shí)針)旋轉(zhuǎn)的工作。

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

2