用Python繪制一個(gè)仿黑洞圖像
簡(jiǎn)介
黑洞圖像大家都知道,畢竟前幾年剛發(fā)布的時(shí)候曾火遍全網(wǎng),甚至都做成表情包了。

問題在于,憑什么認(rèn)為這就是黑洞的照片,而不是一個(gè)甜甜圈啥的給整模糊了得到的呢?有什么理論依據(jù)嗎?
單位制
利用einsteinpy模塊中的Shadow類,可以實(shí)現(xiàn)黑洞吸積盤的發(fā)射強(qiáng)度,換言之,用理論模擬一下黑洞的照片應(yīng)該是什么樣子的。
22年5月份發(fā)布的是人馬座A*的照片,這個(gè)"黑洞"的質(zhì)量為8.26×1036kg,距離地球26673光年。
根據(jù)源碼推測(cè),einstenipy中采用幾何單位制,光速和萬有引力常數(shù)設(shè)為1, 即c=G=1?,F(xiàn)設(shè)幾何單位制下的時(shí)間、距離以及質(zhì)量單位為S,M,KG,國(guó)際制單位為s,m,kg,若以時(shí)間單位秒為基本單位,即1s=1S,由于幾何單位制下光速Sc=1M/S,則可得到距離單位的換算關(guān)系

同理,根據(jù)萬有引力常數(shù)可得到質(zhì)量單位的換算關(guān)系

所以質(zhì)量和距離可以分別表示為

觀測(cè)繪圖
盡管我們?cè)诘厍蛏嫌^測(cè)這個(gè)黑洞,但由于相機(jī)鏡頭等因素,實(shí)際上肯定不能用這么大的尺度來觀測(cè),所以稍微選一個(gè)差不多的距離就好
import astropy.units as u from einsteinpy.rays import Shadow mass = 1.98 * u.kg fov = 100 * u.km shadow = Shadow(mass=mass, fov=fov, n_rays=1000)
shadow就是其發(fā)射模型,其內(nèi)部用于繪圖的主要成員有
- fb1 x xx負(fù)半軸
- fb2 x xx正半軸
- intensity 發(fā)射強(qiáng)度
下面繪制一下不同距離處的發(fā)射強(qiáng)度
import matplotlib.pyplot as plt
plt.plot(shadow.fb1, shadow.intensity, "r")
plt.plot(shadow.fb2, shadow.intensity, "r")
plt.xlabel("Impact Paramter (b)")
plt.ylabel("Intensity (Emissivity)")
plt.title("Intensity Plot")
plt.grid()
plt.show()
結(jié)果如下圖所示,果然中間凹了下去

einsteinpy內(nèi)嵌了繪圖函數(shù),通過ShadowPlotter(shadow, is_line_plot=True)可以更加方便地繪制上述圖像,如果將is_line_plot設(shè)為False,則可得到強(qiáng)度分布圖
from einsteinpy.plotting import ShadowPlotter obj = ShadowPlotter(shadow=shadow, is_line_plot=False) obj.plot() obj.show() plt.show()

這樣一看是不是覺得和前面的那個(gè)甜甜圈確有相似之處。
這個(gè)模型是根據(jù)Cosimo Bambi的文章編寫的,論文地址在這:Cosimo Bambi, 10.1103/PhysRevD.87.107501。本來合計(jì)著把這篇文章的公式啥的粘過來解讀一下,但考慮到貼在這也沒人看,想想還是算了。
到此這篇關(guān)于用Python繪制一個(gè)仿黑洞圖像的文章就介紹到這了,更多相關(guān)Python仿黑洞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Python下進(jìn)行UDP網(wǎng)絡(luò)編程的教程
這篇文章主要介紹了在Python下進(jìn)行UDP網(wǎng)絡(luò)編程的教程,UDP編程是Python網(wǎng)絡(luò)編程部分的基礎(chǔ)知識(shí),示例代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04
基于keras中import keras.backend as K的含義說明
這篇文章主要介紹了keras中import keras.backend as K的含義說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
淺談Tensorflow由于版本問題出現(xiàn)的幾種錯(cuò)誤及解決方法
今天小編就為大家分享一篇淺談Tensorflow由于版本問題出現(xiàn)的幾種錯(cuò)誤及解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python實(shí)現(xiàn)簡(jiǎn)單反彈球游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單反彈球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
Python OpenCV調(diào)用攝像頭檢測(cè)人臉并截圖
這篇文章主要為大家詳細(xì)介紹了Python OpenCV調(diào)用攝像頭檢測(cè)人臉并截圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
python實(shí)現(xiàn)拉普拉斯特征圖降維示例
今天小編就為大家分享一篇python實(shí)現(xiàn)拉普拉斯特征圖降維示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python文件轉(zhuǎn)為exe文件的方法及用法詳解
py2exe是一個(gè)將python腳本轉(zhuǎn)換成windows上的可獨(dú)立執(zhí)行的可執(zhí)行程序(*.exe)的工具,這樣,你就可以不用裝python而在windows系統(tǒng)上運(yùn)行這個(gè)可執(zhí)行程序。本文重點(diǎn)給大家介紹python文件轉(zhuǎn)為exe文件的方法,感興趣的朋友跟隨小編一起看看吧2019-07-07
python爬蟲基礎(chǔ)教程:requests庫(kù)(二)代碼實(shí)例
這篇文章主要介紹了python爬蟲基礎(chǔ)教程:requests庫(kù)(二),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

