Erstellen einer Spline-Kurve zwischen zwei Punkten in Three.js

8

Ich versuche, Punkte mit einem Spline zu verknüpfen, indem ich Three.js für eine Visualisierung verwende, die ich versuche zu machen.

Soweit ich das beurteilen kann, füge ich Punkte zu einem Array hinzu, übergebe das an THREE.SplineCurve3, gehe durch die Spline-Punkte, um die Geom-Coords zu erhalten und rendere. Es funktioniert, wenn ich nur die Start- / Endpunkte zum Array hinzufüge, aber wenn ich versuche, einen Mittelpunkt hinzuzufügen, erhalte ich einen Fehler.

Beispiel ist hier:

Ссылка

Ich bin sicher, es ist etwas Einfaches, aber ich kann es nicht erkennen - kann mir jemand helfen?

Letztendlich werden die Punkte auf der Oberfläche einer Kugel liegen und die Splines zwischen zwei Punkten werden den Weg nehmen, den ein Flugzeug nehmen würde - I.E. eine Art Großkreis, aber weiter entfernt vom Mittelpunkt der Kugel in der Mitte des Splines.

Vielen Dank im Voraus.

    
speedwell 23.06.2012, 00:01
quelle

3 Antworten

9

Meine Lösung zum Erstellen von Kurven zwischen zwei Punkten in der 3D-Szene, besonders auf dem Globus:

%Vor%

dann rufe es an:

%Vor%

note Quadratische oder kubische Methode zur Erstellung von Kurven

    
ijavid 03.06.2013 16:38
quelle
7

Ich denke, Sie müssen angeben, wie viele Punkte der Spline mit der Kurve interpolieren soll, obwohl Sie control -Punkte angeben, die Kurve weiß nicht, wie glatt Sie diese Kurve haben möchten.

Versuchen Sie etwas wie folgt:

%Vor%

Dann, wie in @juan Mellado beantwortet, können Sie eine Position auf der Linie mit spline.getPoint(t) erhalten, wobei t der Wert zwischen 0-1 , Start- und Endpunkten des Splines ist.

Nebenstehend finden Sie eine aktuelle Frage , die für mich beantwortet wurde, enthält das obige Beispiel.

    
Neil 25.06.2012 08:29
quelle
3

Der Parameter von getPoint muss im Bereich [0..1]:

liegen %Vor%     
Juan Mellado 24.06.2012 09:16
quelle

Tags und Links