我想創建一個圓環圖,其中有不同寬度的不同彩色段(取決於數據大小),基本上看起來更好的餅圖。使用三個j創建圓環圖
是否可以使用圓環幾何來做到這一點,或者最好是將這些段創建爲形狀並使用exctrudegeometry?
在枯萎的情況下,這樣做的最好方法是什麼?
編輯
我已經通過環面的幾何形狀等來實現的:
var prevAngle = 0;
for(var i = 0; i < data.length; i++){
var mat = new THREE.MeshPhongmaterial({materialOptions});
var angle = 2* Math.PI * data[i].size //size is decimal
var geo = new THREE.TorusGeometry(500, 200, 8, 6, angle);
var mesh = new THREE.Mesh(geo, mat);
mesh.rotation.z = prevAngle;
scene.add(mesh);
prevAngle = angle;
}
但是,當我使這個(與數據4個對象與大小0.25)我只得到的上半部分圓環(半圓環?)。
是否正確?
所以說我非常的各25%4段,我需要創建4個網格與圓環形狀,並設置每個幾何到pi/2,PI,3 * pi的圓弧/ 2,2pi? – matts1189
你將不得不創建4段pi/2的圓弧並適當旋轉網格(第1個0度,第2個pi/2度,第3個pi度和第4個3 * pi/2度)以使它們落在正確的地方。 – gaitat
在你的代碼中你應該這樣做:'prevAngle + = angle;'否則所有的幾何子部分將會相互重疊。 – gaitat