2014-08-27 74 views
0

修改属性绘制直线“线”在画布我创建了一个小提琴其中显示了长度和直径气缸在three.js所

我能位置长度的行的准则。

但不知道如何改变线的属性,以便它绘制一条直线,显示直径,如显示下面的示例中:

// 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); 

enter image description here

我的问题用这个代码得到的是,当我改变圆柱体对象的六边时,“线”的位置移动。线条的位置显示当对象较小时,例如:50 x 40,但如果将尺寸更改为“123x123”,线条位置移动。

下面是相同的小提琴:http://jsfiddle.net/b9ge6fr6/7/

让我知道如果你需要的任何其他信息。

请建议。

回答

1

的直径的坐标是

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)); 

fiddle