2015-12-07 31 views
0

我有一個分成許多高度段的圓柱體(數量取決於數據)。對於每個高度段,我都有一個值,我希望將該高度處的整個圓圈擠出。如何在three.js中從圓柱體中拉伸高度段?

所以基本上我最終會得到一個有很尖的邊緣的圓柱體。

我打算通過手動移動頂點或面來做到這一點,但我似乎無法訪問給定片段的頂點/面。

所以基本上我需要在N高度處縮放段。

關於我採取哪個方向的任何建議?現在已經有了一些失敗的嘗試,並且已經沒有想法。

回答

1

查看GitHub上CylinderGeometry.js的源代碼。

您可以複製這整個方法,並稱之爲不同的東西,例如

THREE.CylinderGeometry2 = function (... 

然後根據您擁有的高度段的數量更改頂點的生成。

+0

感謝您的回答。我正在考慮這個,但是想知道我是否錯過了一個簡單的函數或者在高度段選擇面部的方法(這看起來相當有用)。只是爲了節省時間,但如果沒有其他更快捷的建議,就會放棄這一點。 –

+0

我最終將數據作爲參數傳遞給我稱爲THREE.SpinPlot的重複方法。重要的是改變半徑(https://github.com/mrdoob/three.js/blob/master/src/extras/geometries/CylinderGeometry.js#L43)以匹配數據。我還修改了面孔(https://github.com/mrdoob/three.js/blob/master/src/extras/geometries/CylinderGeometry.js#L103),以便我可以使顏色與數據匹配。 –

+0

這些鏈接都是原始源文件,然後我相應地進行了更改。 –