Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
three.js-管几何体的缩放/变换_Three.js - Fatal编程技术网

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

three.js-管几何体的缩放/变换,three.js,Three.js,我有一个174个点,12个半径段,100个半径和174个段的管状几何体。 当我双击管的任何部分时,将显示具有+/-8个点的管的缩放部分。 现在的问题是,当我单击管的弯曲部分时,缩放部分看起来不如单击管的直部分 请找到下面的两张图片 请在这里找到 请在下面找到缩放代码 tube = new THREE.TubeGeometry(extrudePath, segments, 100, radiusSegments, closed, debug); tub

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

请找到下面的两张图片

请在这里找到

请在下面找到缩放代码

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;

是否有适当的缩放或将弯曲部分转换为圆柱体,使其看起来像管子的直部分?我认为您所做的缩放不正确。由于尝试缩放的截面可能没有沿y轴的轴,因此仅缩放x和z参数将导致失真。有可能知道截面的轴线吗?那么有两种方法-

1) 旋转剖面,使轴与y轴对齐,缩放x和z坐标,然后将剖面向后旋转

2) 提出一个公式来缩放轴为任意方向的圆柱体

因为这是一个非常古老的问题,你可能已经有了答案。请让我知道,如果我错了,什么工作为你