2017-10-11 102 views
-1

正如標題所說,我只是想通過webgl將我的2D多邊形更改爲3d。就像我地圖上的酒店的2D多邊形。我想通過webgl以3d的形式展示它。並有一些問題。 1.如何將我的多邊形的座標轉換爲3d。 2.如何獲取將在webgl Vshadersource中使用的垂直和索引。 我只需要你的幫助。很感謝 !!我想通過webgl將我的2d geoJSON多邊形更改爲3D,以及如何更改Verticle?

+2

你有什麼試過嗎?你能展示一些代碼示例嗎? – noel

+0

emmm .. like this .let temp = [[[107.02986508564898,33.087273294576725],[107.02990045258538,33.08733097982315],[107.02990283204645,33.08734811194239] .........這些是座標。我想通過webgl – Jeffrey

回答

0

這取決於您想要在平面地圖(即Google地圖)還是球體(即Google地球)上顯示多邊形。

在第一種情況下,您可以選擇一個projection並將測地座標從GeoJSON轉換爲某個平面上的座標。在這裏,我會爲你簡化XY平面。其中最常用的是Mercator projection。它會給出3d點的X和Y分量,Z應該只是0.之後,您需要將多邊形分解爲三角形(因爲WebGL只能處理三角形)。爲此,您可以使用現有的開源庫,即mapbox-earcut

但是,不同的地圖API可以呈現GeoJSON開箱即用,即Mapbox。所以你最好使用其中的一種。

在地球上顯示地理多邊形的問題非常複雜,您最好使用像Cesium這樣的引擎。

+0

將此多邊形制作爲3D,首先感謝您。現在,我可以在我的地圖上顯示一些多邊形,Leaflet。現在我只想將我的2D多邊形更改爲3D,然後將其顯示在我的地圖上。現在我只想知道如何更改它。 – Jeffrey

+0

另一個問題,我改變我的座標到墨卡託投影。儘管我有x,y和z,但它仍然是一個2D多邊形。我只是對它進行分解。它只有一張臉。如何獲得其他臉? – Jeffrey

相關問題