2012-02-14 93 views
3

我正在研究光線跟蹤器,並且想出了一些我認爲可能相當新穎的東西,但是我正努力將Vector3映射到相應的2D屏幕座標。我已經搜索並發現了一些關於這個主題的不同看法,但他們總是最終給我錯誤的結果。轉換3D - >二維座標

鑑於:

的立體相機(包括用於位置矢量的,上,右和左) 表示在空間中的3D點欲回映射到屏幕

有一個矢量:

我會採取(X,Y)座標和Camera對象的功能,它給我回一個向量(X,Y,Z)

旺旺: 函數做反 - 即tak e 3D世界座標和相機,並給我回(x,y)座標作爲回報...

我試過幾種方法來做到這一點,他們都返回不正確的數據。

謝謝!

+0

貴'Camera'對象給你一個投影矩陣,或FOV和縱橫比? – cmannett85 2012-02-14 21:53:17

回答

0

你在找什麼叫做投影矩陣。你用這個矩陣乘以一些3D點將它投影到一些2D觀看表面上,在我們的例子中是計算機屏幕。

我知道你沒有使用OpenGL,但這個環節概述OpenGL的究竟是如何構造這樣一個矩陣:

http://www.songho.ca/opengl/gl_projectionmatrix.html