Ich versuche ein paar Tutorials von http://nehe.gamedev.net, um OpenGL-Programmierung zu lernen, möchte ich Kugeln entlang einer Bezier-Kurve positionieren, so dass sie als eine Perlenkette erscheinen. Wie kann ich solche Kugeln entlang der Kurve positionieren? Ich zeichne die Kurve mit de Casteljaus Algorithmus und kann daher die XYZ-Punkte auf der Kurve erhalten.Position Kugeln entlang einer Bezier-Kurve
Antwort
Wenn Ihre Kugeln relativ zur Gesamtlänge der Bezier-Kurve klein genug sind, können Sie Ihre Kugeln in gleichmäßigen Abständen positionieren, um ein Aussehen zu erhalten, das einer Perlenkette ähnelt. (Wenn die Kugeln relativ groß sind, müssen Sie sich mehr Gedanken über Kugelüberlappung machen - kein einfaches Problem und wahrscheinlich nicht sehr lehrreich für das Erlernen von OpenGL.)
Der Parameterwert t
einer Bezier-Kurve variiert von 0
bis 1
. Um zu bewerten, Ihre Bezier-Kurve an 10 Standorten (den Enden und acht inneren Punkte) können Sie etwas tun:
for(int i = 0; i <= 9; ++i)
{
double t = i/9.0;
double x, y;
EvalBezier(t, x, y);
DrawSphere(x, y, radius);
}
Wo EvalBezier(t, x, y)
für eine gegebene t
in (x,y)
füllt. Wählen Sie einfach radius
, um ein angenehmes Ergebnis zu erzielen. Wenn Sie versuchen möchten, radius
automatisch auszuwählen, verwenden Sie als grobe Schätzung nur den halben Mindestabstand vom Punkt i
zu den Punkten i-1
und i+1
. Wenn Sie dies tun, denken Sie daran, die Endpunkte speziell zu behandeln, indem Sie nur die nächsten oder vorherigen Punkte verwenden (je nachdem, was Sie haben).
- 1. Berechnen der Position einzelner Kugeln, um eine Sphäre aus Kugeln zu erzeugen
- 2. wie Sprite machen folgen Bezierkurve
- 3. Zeichnen einer Reihe von Kugeln funktioniert nicht
- 4. Zeichnen einer Bezierkurve zwischen einem Satz von vorgegebenen Punkten
- 5. Bestelldatenbankabfrage führt entlang einer Kurve
- 6. Berechnen der Bounding Box der kubischen Bezierkurve
- 7. feste Position div benötigen ein Stück entlang der Seite
- 8. Wie plotten Positionen entlang einer Chromosom-Grafik
- 9. Einstellung einer Scrollbar-Position
- 10. mehrere PDF (Wahrscheinlichkeitsdichtefunktion) Kurven entlang einer Achse innerhalb einer Parzelle
- 11. List verlor seine Kugeln
- 12. Anhalten einer UIScrollView an einer bestimmten Position
- 13. Strukturierte Kugeln ohne starke Verzerrung
- 14. Schreibe Text entlang einer Kurve in Java
- 15. Zeichnen von Text entlang einer Linienfolge
- 16. TensorFlow: Max eines Tensors entlang einer Achse
- 17. Drag & Drop entlang einer diagonalen Linie?
- 18. Boxplots entlang einer kontinuierlichen Achse in ggplot2
- 19. Verschieben einer Bildansicht entlang eines Pfades
- 20. verketten numpy String-Array entlang einer Achse?
- 21. Slicing numpy Array entlang einer beliebigen Dimension
- 22. 3D skew Transformationsmatrix entlang einer Koordinatenachse
- 23. Slide Menü letzten 2 Kugeln funktioniert nicht
- 24. Sortierung nur erste Zeichen, entlang einer bestimmten Reihenfolge
- 25. Viele Kugeln in OpenGL zeichnen
- 26. Flexslider ausblenden Kugeln unten Diashow
- 27. Anzeigen von Kugeln in ul
- 28. Grenzen der animierten Kugeln festlegen
- 29. Mehrere Kugeln in gnuplot aus einer Datei plotten
- 30. Zentrieren einer UL-Liste und ihrer Aufzählungszeichen MIT quadratischen Kugeln