Javascript 笔直画&x201C;行”;在画布中,通过修改Three.JS中的属性

Javascript 笔直画&x201C;行”;在画布中,通过修改Three.JS中的属性,javascript,3d,three.js,line,Javascript,3d,Three.js,Line,我已经创建了一个小提琴,它显示了圆柱体长度和直径的指南 我能够确定这条线的长度 但我不确定如何更改直线的属性,以便它绘制一条直线来显示直径,如下图所示: // Diameter line var diameterLineGeometry = new THREE.Geometry(); var diameterVertArray = diameterLineGeometry.vertices; diameterVertArray.push(new THREE.Vector3(1, 0.5,

我已经创建了一个小提琴,它显示了圆柱体长度和直径的指南

我能够确定这条线的长度

但我不确定如何更改直线的属性,以便它绘制一条直线来显示直径,如下图所示:

// Diameter line    
var diameterLineGeometry = new THREE.Geometry();
var diameterVertArray = diameterLineGeometry.vertices;
diameterVertArray.push(new THREE.Vector3(1, 0.5, 0), new THREE.Vector3(-0.3, 0.7, 1));
diameterLineGeometry.computeLineDistances();
var diameterLineMaterial = new THREE.LineBasicMaterial({
    color: 0xcc0000
});
var diameterLine = new THREE.Line(diameterLineGeometry, diameterLineMaterial);
cylinder.add(diameterLine);

这段代码的问题是,当我更改圆柱体对象的六倍时,“线”的位置会移动。当对象小到例如50 x 40时,线的位置会显示find,但如果我将尺寸更改为类似“123x123”的值,则线的位置会移动

这是同样的小提琴:

如果您需要任何其他信息,请告诉我


请建议。

直径的坐标为

diameterVertArray.push(new THREE.Vector3(-1, 0.5, 0), new THREE.Vector3(1, 0.5, 0));
一个长度是

lengthVertArray.push(new THREE.Vector3(-1, 0.51, 0), new THREE.Vector3(-1, -0.51, 0));
另一个是

alengthVertArray.push(new THREE.Vector3(0, 0.5, 1), new THREE.Vector3(0, -0.5, 1));