2015-05-16 181 views
2

我想用three.js文檔中的示例代碼繪製一個帶有three.js的open arc。用three.js繪製一條開放圓弧

該代碼的問題在於,它從弧的終點繪製直線回到起點。我想知道是否有辦法畫出一條開放弧線。

我試過THREE.Path上的各種方法,如THREE.Path.ellipse,但他們似乎都做同樣的事情。

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

你」如果你創建一個[plunker](http://plnkr.co/edit/?p=catalogue)或[jsfiddle](https://jsfiddle.net/)來說明你的問題,那麼你將更有可能獲得幫助。 –

回答

1

如果你想創建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