我正在尋找將3D座標(x0,y0,z0)
轉換爲半徑爲R
的curvilinear perspective中的2D (x1,y1)
座標的數學表達式,其中x1和y1的值是視角{-90° .. + 90°}的原點。曲線透視:將3D轉換爲2D
image http://www.ntua.gr/arch/geometry/mbk/images/curv159.gif
(通過http://www.ntua.gr/arch/geometry/mbk/histor.htm圖像)
謝謝!
我正在尋找將3D座標(x0,y0,z0)
轉換爲半徑爲R
的curvilinear perspective中的2D (x1,y1)
座標的數學表達式,其中x1和y1的值是視角{-90° .. + 90°}的原點。曲線透視:將3D轉換爲2D
image http://www.ntua.gr/arch/geometry/mbk/images/curv159.gif
(通過http://www.ntua.gr/arch/geometry/mbk/histor.htm圖像)
謝謝!
大約一年後,解決方案非常簡單。 對於點具有座標:
(x1,y1,z1)
然後,半徑ř的曲線圖中,以變換這一點:
dist=sqrt(x1^2 + y1^2 + z1^2)
x= R*(1+x/dist)
y= R*(1+y/dist)
我現在可以生成自己的附圖(通過維基百科圖像) :-)
您可能首先需要使用轉換矩陣將3D對象投影到2D平面上。 http://en.wikipedia.org/wiki/Graphical_projection,選擇一個最適合您的需求。
第二步,您將要使用一般轉換將座標帶入歐幾里德空間。 http://en.wikipedia.org/wiki/Curvilinear_coordinates
感謝但這並沒有太大的幫助。維基百科頁面充滿了數學功能。我應該選擇哪一個? – Pierre 2009-08-03 19:23:21