2013-01-10 55 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)拿出一个公式是按比例的,在任意方向轴的圆柱体。

因为这是一个很古老的问题,你可能有答案了。请让我知道,如果我错了,什么对你有用。