2基本光線跟蹤算法

2基本光線跟蹤算法

ID:21417202

大?。?98.50 KB

頁數(shù):7頁

時間:2018-10-21

2基本光線跟蹤算法_第1頁
2基本光線跟蹤算法_第2頁
2基本光線跟蹤算法_第3頁
2基本光線跟蹤算法_第4頁
2基本光線跟蹤算法_第5頁
資源描述:

《2基本光線跟蹤算法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、2基本光線跟蹤算法ERICHAINES1簡介任何光線跟蹤程序包的核心都是光線相交過程設(shè)置。不論何種光照模型,紋理映射,空間細(xì)分技術(shù),反走樣方案,還是其它光線跟蹤算法技巧,都需要找到物體與光線的交點。一旦光線進(jìn)入模擬環(huán)境,很少有各種關(guān)于光線的問題。所有需要的信息依賴于光線的目的。當(dāng)一個光線從眼睛發(fā)出,對象交點必須返回最近交點和表面法向量。當(dāng)光射向光源,需要知道是否交點比光源更近,如果是,則遮擋或者過濾光源。根據(jù)遮擋模式,濾波可能需要進(jìn)一步的信息。對于包圍盒測試,有時只需要一個簡單的碰撞與否的判斷。然而,更高效的光線跟蹤器還將利用光線的距離。光

2、線跟蹤中另一類有用的信息就是與表面參考坐標(biāo)系相關(guān)的焦點位置。這類位置信息一般用于紋理映射,以找到相應(yīng)點的表面屬性。[7]中有關(guān)于紋理映射的較好綜述。想要編寫光線跟蹤程序,光線/對象(相交)算法通常需要手工編寫。由于過程的教育性,許多程序員并不介意。另外,隨著針對不良算法的優(yōu)秀數(shù)學(xué)成果也使得算法效率不斷進(jìn)化。本文概述基本算法,用于執(zhí)行各種光線相交測試和重要數(shù)據(jù)檢索。除了抽象的方程式,還通過其后的例程展示細(xì)節(jié)。主旨在于提出高效的算法。本文僅涉及通過簡單數(shù)學(xué)方法可以得到的相交算法的對象。這限制了對二次曲面的討論,但平面和球體除外。因為球體是最簡單

3、常用的圖元,將被首先討論。隨后討論平面,并附帶多邊形相關(guān)算法。然后提出綁定盒相交算法。最后討論二次曲面。并談及關(guān)于反映射技術(shù)及其它主題。雖然用到的算法對其它渲染方案和交互圖形進(jìn)程也有用,比如hit-testing,但描述的重點在于光線跟蹤的研究。Raytracingshadowsoftransmitters,CSG樹,以及一些其他的應(yīng)用都需要找到光線的所有交點。算法的擴(kuò)展在文中直接說明,因此常識將不被討論。另一個沒被提及的光線跟蹤子集是有限長度光線跟蹤,用于動態(tài)測試,比如陰影測試中,光線的長度不能超過到達(dá)光源的距離。1.1符號以下約定將被使

4、用:*乘法abs(y)絕對值·點乘Accros(y)反余弦差乘XmodyX/y取余相等Sin(y)正弦加減Sqrt(y)平方根V矢量3.1415926M矩陣所有的角度都以弧度計算。大寫字母一般表示參數(shù),小寫字母則表示值。例如:是一個帶下標(biāo)的標(biāo)量=[1248],是一個帶下標(biāo)的四維向量是一個帶下標(biāo)的矩陣2光線/球體相交及映射球體是光線跟蹤中最常用到的圖元。在測試與光線相交時的易用性使它成為一個有用的包圍盒。因此,對其進(jìn)行了深入的研究。首先得到直接的代數(shù)解,然后檢查問題的特殊情況,得到更為有效的幾何結(jié)論。分析結(jié)果的比較顯示了兩種算法深層次的等價性

5、。對一個光線跟蹤中普通故障的研究得出一些結(jié)論。球體最普通的反向映射算法作為這一章的結(jié)束。2.1球體交點的代數(shù)結(jié)論定義一個光線:Where(i.e.noamalized)定義一個光線:直線上點的設(shè)置wheret>0(A1)當(dāng)t<0時,直線上的點在光源后面。“精度問題”章節(jié)解釋了為什么當(dāng)t=0時的點不包含在光線中。注意,光線的方向在這些計算中不必歸一化。但是推薦歸一化,否則t將代表方向向量中長度專業(yè)名詞中的距離。在相交測試前將光線方向向量歸一化可確保t在世界坐標(biāo)中與到光源的距離相等。等式(1)是參數(shù)式或顯式的光線方程。這意味著光線上所有的點可以

6、通過變換t的值得到。球的定義如下:(A2)。球表面用一個隱式方程表達(dá)。以這種方式,球面上的點不能直接得到。每個點能夠通過隱式方程檢驗;如果滿足方程條件,點就在球面。為了解決相交問題,光線方程被代入球面方程以得到t。光線方程(A1)用含t的方程組表示一個點:(A3)將方程組代入球面方程變量,我們得到:(A4)依據(jù)t,方程簡化成:(A5)其中系數(shù)A永遠(yuǎn)等于1,因為光線的方向向量已經(jīng)歸一化。在球面方程中,被事先計算。當(dāng)A=1時,這是一個二次方程,t的解是:(A6)當(dāng)判別式為負(fù)時,光線與球體不想交。更精確的公式可以得到和,見5.5[11].由于t>

7、0是光線定義的一部分,根和被檢驗。較小的正實根是光線上距離最近的交點。如果沒有這樣的跟,光線與球面不交。通過計算,一些計算能夠避免,檢測它是否大于0,如果否,則計算。一旦找到距離t,實際的交點是:(A7)球面單位法向量簡化為:(A8)如果光線起源于球體內(nèi)部(因此交于內(nèi)壁),將是負(fù)值,因此它反向指向光源。預(yù)先將乘以是合理的,因為除法比乘法更容易出錯??偨Y(jié)算法步驟如下:Step1:計算二次方程系數(shù)A,B,CStep2:計算判別式Step3:計算并比較Step4:可能計算并比較Step5:交點計算Step6:交點法向量計算假設(shè)最多的預(yù)算常量(比如

8、)和中間結(jié)果,每步的計算量如下:Step1:8次加或代入7次乘Step2:1次代入,2次乘,1次比較Step3:1次代入,1次乘,1次比較,1次平方根Step4:1次代入,1次乘

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。