2010-10-13 87 views
0

問題:我必須繪製一個簡單的三維圖形/圖表,給出一些點的x,y,z座標。 我的目標是將此3D圖表導出爲svg - >由於svg不能(但尚未)能夠處理3D,因此我必須進行投影。尋找簡單的3D Java庫

因此,我的輸入是一個帶有x,y,z座標的3D圖形,輸出是一個簡化爲x,y座標的2D視圖。

有沒有人知道一個(最喜歡的小)java庫像 this one for javascript

投影可能只是point3d到point2d。這就是我真正需要的。

謝謝!

回答

0

如果你需要的只是簡單的東西,那麼我可以說只是自己寫。如果你不需要移動相機,你可以假設有很多的計算無中生有,你可以做以下,以獲得二維座標任何3D點:

rect2d.x = rect3d.x/rect3d.z; 
rect2d.y = rect3d.y/rect3d.z; 

這樣做,你可以只簡單地取所有構成多邊形的3d點,並將2d點用作SVG基元。你將不得不處理的棘手部分是隱藏表面去除,但這並不難。陰影將成爲你真正的問題,但也許你可以玩漸變來模仿光線。

+0

謝謝。我還應該能夠使用另一個視角/相機位置旋轉整個圖形。底紋目前不重要。 – TMoo 2010-10-14 13:28:02

0

看一看JFreeChart。看看Batik將它保存到SVG

+0

謝謝,但它似乎只支持3D風格沒有真正的3D圖表。例如:我需要將酒吧放在地面上的前景,背景,左側或右側。 「地面」必須在三維空間中旋轉以向用戶提供更好的概覽。 – TMoo 2010-10-13 13:02:46