3

我有一个具有 174 个点、12 个半径段、100 个半径和 174 个段的管几何结构。当我双击管的任何部分时,将显示具有 +/- 8 点的管的缩放部分。现在的问题是当我点击管子的弯曲部分时,缩放部分看起来不如我点击管子的直线部分。

请在下面的 2 张图片中找到。3d 全管在折弯处选择的部分

请在此处找到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;

无论如何要适当地缩放它或将弯曲部分转换成圆柱体,使其看起来像管子的直线部分?

4

1 回答 1

0

我认为你正在做的缩放是不合适的。由于您尝试缩放的部分可能没有沿 y 轴的轴,因此仅缩放 x 和 z 参数会导致失真。是否可以知道截面的轴?然后有2种方法-

1) 旋转截面,使轴与 y 轴对齐,缩放 x 和 z 坐标并将截面旋转回来。

2)想出一个公式来缩放具有任意方向的轴的圆柱体。

由于这是一个非常古老的问题,您可能已经有了答案。如果我错了,请告诉我什么对你有用。

于 2014-11-05T05:39:26.743 回答