2017-05-08 6 views
-1

Wie lösche ich diese Zeile in dieser fugure http://joxi.ru/gmvl7YwT7Eg3Aa? Ich brauche nur KonturKreiskontur im Raum (threejs) (3D)

const intersection = (a, b, c, heightC) => { 
    return (u, v) => { 
     const height = heightC || c; 
     const size = 5; 

     u = u * height; 
     v = 2 * v * Math.PI; 

     const x = a * size * Math.sqrt(u) * Math.cos(v); 
     const y = c; 
     const z = b * size * Math.sqrt(u) * Math.sin(v); 

     return new Three.Vector3(x, y, z); 
    } 
} 

export const projectionIntersection = (a, b, heightC) => { 
    const geom = new Three.ParametricGeometry(intersection(a, b, 1, heightC), 1, 25); 
    const math = new Three.MeshPhongMaterial({ color: 0x00FF00, wireframe: true }); 
    const mesh = new Three.Mesh(geom, math); 

    return mesh; 
} 

Wer kann mir helfen?

Antwort

1

Die parametrische Geometrie als Gitter erzeugt Flächen, dh Verbindungen zwischen der Mitte und jedem Punkt entlang der Kante. Wenn Sie nur einen Linienstreifen zum Zeichnen eines Kreises wünschen, werfen Sie einen Blick auf Line Object. Es sieht so aus, als könntest du das tun, was du bereits tust, indem du einfach den Vektor3, den du erstellst, an die Ecken der Geometrie schiebst und daraus eine Linie machst.

+0

Dank, ich morgen versuchen – Daxik

+0

ich diese Ergebnisse erhielt: joxi.ru/Dr8PN3kUxg8zr6: DI nächstes tue (es ist ein hotfix): gist.github.com/DimaDaxDadeco/25b1cb4a9012b8721cebd939a6ab8b 81 Wie kann ich nur einen Kreis zeichnen?) – Daxik

+0

du schiebst die Scheitelpunkte falsch. Tun Sie einfach für (var theta = 0; Theta OtterFamily

0

Günstige und grobe Lösung mit einem Kreis:

var circleGeom = new THREE.CircleGeometry(1, 32); 
circleGeom.vertices.shift(); 
circleGeom.vertices.push(circleGeom.vertices[0].clone()); 
var circle = new THREE.Line(circleGeom, new THREE.LineBasicMaterial({color: "yellow"})); 

jsfiddle Beispiel R85