999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種高質量實時渲染黑洞的方法

2021-09-23 07:33:26梁瑞堯,張蕓禎
電腦知識與技術 2021年21期

梁瑞堯,張蕓禎

摘要:黑洞是1915年愛因斯坦廣義相對論預言存在的一種天體,它具有的超強引力,使得光也無法逃脫它的勢力范圍。黑洞可以用愛因斯坦場方程[1]來描述,但愛因斯坦場方程是一組復雜的二階非線性微分方程,并沒有通解。傳統渲染黑洞的方法一般是使用離線渲染的方法,例如在電影《星際穿越》中的卡岡圖雅黑洞,特效實現就由30個人,數千臺計算機耗時一年才完成[2]。本文描述一種高質量實時渲染黑洞的方法,用光線追蹤和引力方程,模擬黑洞的空間彎曲效果,用柏林噪聲模擬吸積盤,并給出一種簡單而美觀的相對論噴流模擬方法。這些模擬方法易于實現,可以在PC或移動設備上以較高的幀率運行。

關鍵詞:黑洞;渲染;光纖追蹤

中圖分類號:TP311? ? ?文獻標識碼:A

文章編號:1009-3044(2021)21-0165-03

開放科學(資源服務)標識碼(OSID):

1 黑洞簡介

黑洞由四個部分組成:

1) 奇點,位于黑洞的最中心,體積無限小,質量無限大的點,這兩種特性使得奇點的密度無限大,具有很強大的引力,以至于所有掉入黑洞的物質和能量最終都會坍縮和終結于這里。

2) 事件視界,以奇點為中心某一特定半徑的球形區域,物質和能量一旦跨越該邊界將被黑洞引力吸入奇點,一去不復返。

3) 吸積盤,事件視界之外的氣體、星塵在黑洞強大的引力作用下,會朝向黑洞下落。這個過程被稱作“黑洞吸積”。由于氣體具有一定的角動量,這些氣體在下落過程中會形成一個圍繞黑洞高速旋轉的盤狀結構,如同太陽系的各大行星軌道平面一樣,這就是黑洞吸積盤。

4) 相對論噴流,吸積盤上的氣體、星塵有部分會跨越事件視界落入黑洞,從而產生粒子,能量等從黑洞的兩極接近光速噴射而出,形成相對論噴流。

2 傳統黑洞的渲染方法

傳統渲染黑洞的核心思想是模擬光線在強引力下的傳播,計算出光線在傳播路徑中與場景中的各個點交互產生的顏色值,一般使用光線追蹤算法來實現。但在引力作用下,光線不再沿直線傳播,而會因為引力透鏡效應而產生彎曲,光線的路徑可以用愛因斯坦的場方程來描述 :

盡管愛因斯坦方程的形式看起來很簡單,但求解比較復雜,并沒有通解。但對于一些比較特殊的情況,比如史瓦西解(度規),所對應的幾何是一個是靜止不旋轉、不帶電荷之黑洞。 有了史瓦西度規,我們可以對時空距離 積分,算出光子在球坐標系下的路徑,例如這篇文章[3]。但這樣的方法需要在運行通過數值方法來求解偏微分方程,耗時較高。因此本文提了另 一種比較簡單的方法,與傳統的黑洞渲染有兩個主要的區別:

1) 用Ray Marching方法來替代光線追蹤算法,其優點是不在限制光線以直線傳播,我們可以選擇適當的步長,累積光線路徑與場景交互的不同點的顏色;

2) 使用萬有引力計算加速度以模擬光線路徑彎曲,雖然違背光速不變原則物理規律,但相對于求解愛因斯坦場方程,其計算量較小,只涉及簡單乘法和除法。

3 Ray Marching簡介

光線步進(Ray Marching)是光線追蹤(Ray Tracing)的一種數值實現方法,在屏幕后放置一個相機,從相機發出一條與(下圖中藍色的線)屏幕連上像素點連接的射線。用該射線與場景中的物體作相交檢測。 沿著這條射線一步一步往前進,直到光線與場景中的物體相交或者達到最大步數。如果光線與物體相交,則將屏幕上的該像素點設置為交點的顏色。如圖1所示,屏幕上該點發出的射線往前走了6步,最終于綠色小球相交,固將該點的顏色設置為綠色。算法偽代碼如下:

for(int i = 0;i

{

vec3 p = eye + ray_dir * step;

float hit = HitTest(p); //hit表示距物體的最小距離

step += hit; //ray marhing 光線步進

if(hit < 0.01){

col = vec3(0.);

break;

}

}

4 引力透鏡下的Ray Marching

在第三節的Ray Marching的基礎上,每次光線步進時都使用萬有引力來計算光線的加速度,以使用光線產生彎曲。

可以把屏幕上發出的射線步進想象為由星球發出向前運動的光子,在黑洞的引力作用下,光子的運動軌跡由于加速度不在以直線運動,而是以曲線的軌跡到達相機位置,如圖2所示。

· 讓光子產生彎曲的引力公式:

· 光子引力加速度

核心代碼如下:

for(int i = 0;i

{

p += v * dt;

vec3 relP = p - black_hole_pos; //黑洞相對原點的位置

float r2 = dot(relP,relP);

vec3 a = GM/r2 * normalize(-relP); //加速度方向朝向黑洞,為-relP

v += a * dt;

float hit = HitTest(relP); //hit表示距物體的最小距離

主站蜘蛛池模板: 欧美中文一区| 人妻中文久热无码丝袜| 精品無碼一區在線觀看 | 免费久久一级欧美特大黄| 亚洲视频三级| 成人欧美在线观看| 黄色网站不卡无码| V一区无码内射国产| 国产视频 第一页| 欧美a级在线| 国产福利一区视频| 亚洲日韩欧美在线观看| 国产在线麻豆波多野结衣| 91黄视频在线观看| 高清欧美性猛交XXXX黑人猛交 | 美女无遮挡免费视频网站| 久久久久久久久亚洲精品| 国产麻豆福利av在线播放| 777午夜精品电影免费看| 特级精品毛片免费观看| 熟妇丰满人妻av无码区| 国产成人综合网| 噜噜噜综合亚洲| 人妻精品全国免费视频| 91亚洲精品第一| 成人噜噜噜视频在线观看| 日本www色视频| 国产主播喷水| 国产视频 第一页| 国产成人AV男人的天堂| 国产免费福利网站| 国产精品一区二区久久精品无码| 91小视频在线观看免费版高清 | 欧美成一级| 亚洲最大福利视频网| 国产成熟女人性满足视频| 亚洲激情区| 国产18在线播放| 日韩在线视频网站| 国产一区二区三区免费| 中文国产成人久久精品小说| 在线观看av永久| 国产尤物视频网址导航| 正在播放久久| 欧美成人第一页| 久久青草免费91观看| 国产青榴视频| 欧美视频在线第一页| 国产综合色在线视频播放线视 | 亚洲国产成人自拍| 国产欧美日韩资源在线观看| 欧美成人在线免费| 亚亚洲乱码一二三四区| 亚洲第一福利视频导航| 亚洲男人天堂2018| 国产精品xxx| 国产精品亚洲αv天堂无码| 五月激激激综合网色播免费| 欧美国产菊爆免费观看| 日韩欧美国产中文| 国产精品美女网站| 久久99国产精品成人欧美| 欧美一区日韩一区中文字幕页| 1769国产精品免费视频| 精品视频在线观看你懂的一区| 亚洲一区二区在线无码| 亚洲欧美另类中文字幕| 一本一道波多野结衣av黑人在线| 嫩草国产在线| 一级毛片在线播放免费观看| 99热在线只有精品| 久久不卡精品| 91综合色区亚洲熟妇p| 亚洲天堂免费在线视频| www.狠狠| 亚洲综合色吧| 亚洲一区二区约美女探花| 国产精品55夜色66夜色| 黑人巨大精品欧美一区二区区| 亚洲人成网站色7799在线播放| 天堂岛国av无码免费无禁网站| 亚洲国内精品自在自线官|