2013-01-10 69 views
3

的縮放/變換我有個管的幾何形狀與174分,12半徑段,100米半徑和174段。 當我雙擊管的任何部分時,將顯示具有+/- 8分的管的縮放部分。 現在的問題是當我點擊一個管的彎曲部分時,縮放部分看起來不如我點擊一個管的直線部分時好。three.js所 - 管幾何

請在下方找到2張圖片。 3d full piipeportion selected at bend

請在這裏找到jsfiddle

請找到縮放下面的代碼。

tube = new THREE.TubeGeometry(extrudePath, segments, 100, radiusSegments, closed, debug);   
      tube.dynamic = true; 

      tube.computeBoundingBox(); 
      console.log(tube);   
      tube.scale.x = tube.boundingBox.max.x; 
      tube.scale.z = tube.boundingBox.max.z; 

反正是有適當縮放或變換彎曲部到氣缸,使得其看起來像一個管的直線部分?

回答

0

我認爲你正在做的比例是不正確的。由於您試圖縮放的部分可能沒有沿着y軸的軸,因此僅縮放x和z參數會導致失真。是否有可能知道該部分的軸?然後有2種方式 -

1),以使軸線與y軸刻度x和z座標的對準和旋轉部背面旋轉部。

2)拿出一個公式是按比例的,在任意方向軸的圓柱體。

因爲這是一個很古老的問題,你可能有答案了。請讓我知道,如果我錯了,什麼對你有用。