Javascript 使用three.js绘制开放圆弧

Javascript 使用three.js绘制开放圆弧,javascript,three.js,Javascript,Three.js,我试图使用three.js文档中的示例代码,用three.js绘制一个打开的弧 此代码的问题在于,它从圆弧的端点回起点绘制了一条直线。我想知道是否有办法画一条开放的弧线 我在THREE.Path上尝试了各种方法,比如THREE.Path.eliple,但它们似乎都做了相同的事情 var curve = new THREE.EllipseCurve( 0, 0, // ax, aY 7, 15, // xRadius, yRadius 0,

我试图使用three.js文档中的示例代码,用three.js绘制一个打开的

此代码的问题在于,它从圆弧的端点回起点绘制了一条直线。我想知道是否有办法画一条开放的弧线

我在
THREE.Path
上尝试了各种方法,比如
THREE.Path.eliple
,但它们似乎都做了相同的事情

var curve = new THREE.EllipseCurve(
  0, 0,             // ax, aY
  7, 15,            // xRadius, yRadius
  0, 3/2 * Math.PI, // aStartAngle, aEndAngle
  false             // aClockwise
);
var path = new THREE.Path(curve.getPoints(50));
var geometry = path.createPointsGeometry(50);
var material = new THREE.LineBasicMaterial({color: 0x0000ff});
var ellipse = new THREE.Line(geometry, material);
this.scene.add(ellipse);

如果要在three.js中创建开放的圆弧(或直线),可以使用如下模式:

var curve = new THREE.EllipseCurve(
    0, 0,             // ax, aY
    7, 15,            // xRadius, yRadius
    0, 3/2 * Math.PI, // aStartAngle, aEndAngle
    false             // aClockwise
);

var points = curve.getSpacedPoints( 20 );

var path = new THREE.Path();
var geometry = path.createGeometry( points );

var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );

var line = new THREE.Line( geometry, material );

scene.add( line );

three.js r.71

我知道这有点旧,但three.RingGeometry将是一个很好的解决方案

只需使用thetaLength参数来调整曲线长度。 虽然实际上绘制的是圆环的一部分而不是真正的圆弧,但可以非常轻松地添加厚度

请在此处查看文档和交互式演示:

如果您创建了一个说明您的问题的or,您将更有可能获得帮助。