警告:內含大量詭異圖片,膽小人士與使用流量上網的人士請謹慎檢視。
再次更新,更正在球心時看到影像的錯誤,在回答後方回應了章佳傑先生的質疑。
更新:回答一下質疑
在這個答案下面,和知乎微博的評論、轉發裏面,有人質疑說球裏面根本沒有光源,所以看上去應該是漆黑一片。其實在原文裏,已經寫了:
對於人物,給她設定為「自發光」材質,即可表現出類似「全身塗足夠亮的熒光粉」效果,「熒光粉」的顏色就是材質的顏色。場景裏不擺放除人物外其他任何光源。由於人物是自發光材質,所以人物是不接受自己本身的投影的。並且,假設光線在球壁之間反射和透過球內空間時沒有衰減。
給人物設定自發光材質,目的就是為了讓裏面的人能看到自己的影像。因此,實際上,場景裏面還是有光源的,光源就是人物本身。
另一個比較多的質疑點是,由於模擬場景是由多邊形面片組成的(包括球體和人物),那麽能不能真實地反映在實際世界中的情況?實際上,在電腦中是不可能完全模擬、仿真真實世界的情況。原因就是在於,真實世界,從人類日常生活的尺度看,是連續的。而電腦模擬的世界只能是離散數學模型的方式存在。因此,使用電腦模擬一定有其局限性。
在這個實驗裏,電腦模擬的局限性包括光路的反射次數是有限的、鏡面並不是一個完美的平滑曲面、人物也是有三角面片所組成的,並且渲染器是基於光路追蹤技術,只能表現出光的粒子性,不能模擬光的波動性、眼睛(攝影機)也不可能完全不吸收任何光線、光路追蹤取樣率也不可能無限大,等等。因此,這個實驗實際上是以
不可能完全真實的方式模擬一個不可能的場景
,因此,別把這個當科研論文來對待,看看就好。
既然電腦不可能完全模擬實際世界,那麽電腦模擬的意義在哪裏?模擬的意義是在於解決問題。因此,模擬的精度細化到能夠解決問題就可以了,再精確地模擬只是消耗時間、能源、計算量等。如本實驗中,雖然模擬的結果很粗糙,但能看出大概的樣子,比如重復的畫面很可能在無限細化後變成顏色條帶,等等。這就足夠了。正如鱷魚洗澡中模擬水的流動,不需要細化到模擬單個水分子,還要模擬水分子的布朗運動。只需模擬一個個大團的水就夠了。模擬遊戲中的物理現象,時間也不可能細分到普朗克時間。模擬機翼的空氣動力學效果,也不需要模擬出單個空氣分子。因此,模擬的精細度取決於待解決的問題,如同樣是流體模擬,鱷魚洗澡的復雜度就不需要達到模擬機翼的空氣動力學那樣的水平。
------ 原答案:------
很有趣的一個問題。對此,我也很好奇結果到底是什麽。很遺憾,當前本問題下大多數答案都不太令人滿意。當前排名第一的給的是一個平面在球面裏的模擬效果,跟三維物體在球面裏的效果差別還是很大的。
所以,昨天和今天在自己的電腦上,用 3D 軟體模擬了一下,得到了一些有趣的結果。雖然,由於電腦的局限性,模擬出的結果肯定會跟真實看到的有一些差別。但我認為這些結果,在一定程度上已經可以說明了問題。
在此,我認為題主的描述已經足夠清楚了。我們在這裏不考慮細節問題,如在真空中,人會不會死啊什麽的,只考慮最後我們能夠看到什麽。於是,在 3D 軟體裏,設定了這樣的場景:放一個直徑 5 米的球體,球體的球心在原點,在裏面放一個人物的模型。人物的眼睛附近放一個攝影機,模擬眼睛,來檢視場景。給人物設定一個動畫,讓人物從距離球心 1.5 米的地方,穿過球心,移動至球心對面距離球心 1.5 米的地方。在人物移動的過程中,眼睛(攝影機)正好穿過球心。