我想實現一個物理光線追蹤器(即使用具有給定波長的實際光子),將我自己限制在小場景(如兩個球體和一個封閉盒子)中進行實驗。這並不意味着速度很快,但我會在稍後優化它。我正在收集我所知道的關於光子如何與表面相互作用的所有知識,即它們要麼反射(吸收,然後再發射),要麼折射的概率是基於表面的吸收光譜和反射率/折射率指數,以及折射是依賴於波長(這自然導致色散)等...光線追蹤和光線
我明白如何從發射材料(如「燈」)射出光子,並使它們在場景中反彈,直到它們碰巧進入相機產生一個準確的結果,但是速度慢得不能接受,因此需要做反向拍攝(從相機拍攝光子)
但是我有無法理解如何將「表面相互作用」建模爲「向後」 - 例如,如果來自相機的光子碰到紅色盒子的一側,如果光子具有與紅色相對應的波長,則它將被反射,並且所有其他波長將被吸收,這會產生紅色。但是,通過拍攝很多非常接近的光子樣本來確定顏色的強度,然後檢查哪一個最終與光線發生碰撞,哪些不會?因爲最終,無論是光子碰到光還是光(沒有經過給定次數的反彈),都沒有局部碰撞的概念。
所以基本上我的問題是 - 一個像素接收的光的強度是該像素的光子樣本的數量的函數,它實際上是光源,還是還有其他一些參與?
這是不是非常有幫助你的實際問題(對不起),但您可能希望使用[康奈爾箱(http://en.wikipedia.org/wiki/Cornell_Box)(或變種)測試:) – Hybrid 2011-12-16 17:57:58