three.js - 管道几何体的缩放/变换

3
我有一个174个点、12个半径段、100个半径和174个线段的管道几何体。当我双击管道的任何部分时,会显示+/- 8个点的缩放部分。问题在于,当我点击管道的弯曲部分时,缩放部分看起来不如点击直管部分的效果好。
请查看以下两个图片: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;

有没有什么方法可以将其正确缩放或将那弯曲部分转换成圆柱,使其看起来像管道的直线部分?

1个回答

0

我认为你所做的缩放是不合适的。因为你尝试缩放的部分可能没有沿着y轴的轴线,仅缩放x和z参数将导致扭曲。是否可以知道该部分的轴线?然后有两种方法 -

1)旋转该部分,使轴与y轴对齐,缩放x和z坐标,然后将该部分旋转回来。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接