Ich arbeite an einem Spiel zeigt eine Route von einem bestimmten Startpunkt bis zum Cursor. Da das aktuelle System sehr alt ist (wahrscheinlich etwa 10 Jahre oder so ...) und teilweise kaputt ist, möchte ich diesen Code von Grund auf neu schreiben. Nehmen wir an, ich habe eine Reihe von Punkten auf meinem Bildschirm - der letzte Punkt ist mein Cursor -, und ein Graphics2D-Objekt. Wie würde ich eine Linie zeichnen, die auf dem kürzesten Weg durch all diese Punkte verläuft?Zeichnen Sie eine glatte Kurve durch eine Reihe von n Punkten
-1
A
Antwort
1
Wie würde ich eine Linie zeichnen den kürzesten Weg möglich
Diese Anforderung ein bisschen widersprüchlich geht glatt durch alle diese Punkte verwenden. Die kürzeste Kurve durch eine Liste von Punkten ist ein Polygon, aber ein Polygon ist im Allgemeinen nicht glatt.
Was Sie suchen, ist jedoch wahrscheinlich Spline-Interpolation. Dies ist nicht in den Standard-Java-Paketen verfügbar, aber Sie könnten SplineInterpolator
in Apache Commons Math verwenden.
Verwandte Themen
- 1. eine geschlossene Kurve auf eine Reihe von Punkten
- 2. Zeichnen Sie eine glatte Linie
- 3. Wie eine glatte Kurve, die durch einige Punkte
- 4. Eine glatte Kurve in ein Rohr einbringen
- 5. Zeichnen Sie eine Lorenz-Kurve in R
- 6. Zeichnen Sie eine mdskalierte Matrix von Punkten
- 7. RateOfCountsPerSecond32 ergibt eine gezackte statt glatte Kurve
- 8. Zeichnen Sie eine perfekte Kurve drei Punkte
- 9. Wie man glatte Cspline-Kurve als eine Datei ausgeben
- 10. Suchen Drehpunkt für eine Reihe von Punkten
- 11. Mit einer Bezier-Kurve eine Spirale zeichnen
- 12. sortieren eine Reihe von Punkten einen Umschlag in MATLAB
- 13. Zeichnen einer Bezierkurve zwischen einem Satz von vorgegebenen Punkten
- 14. Cubic/Kurve glatte Interpolation in C#
- 15. Iterativ eine Kurve glätten
- 16. Zeichnen von Linien zwischen den Punkten in Maple
- 17. Zeichnen Sie eine statische Google Map mit Punkten und Linien
- 18. Linkpunkte mit einer glatten Kurve
- 19. Algorithmus Umkreis um eine Reihe von 2D-Punkten
- 20. Wie zeichne ich eine Kurve durch Baumpunkte in Android?
- 21. Zeichnen einer Kurve mit äquidistanten (Bogenlängen-) Markern
- 22. Looping durch eine Reihe von Objekten
- 23. Wie passe ich eine Kurve an eine Reihe von segmentierten Linien in Matlab an?
- 24. Python-Schleife durch eine Reihe von Variablen
- 25. plotten Sie eine Kurve als kleinere Teile, Matlab
- 26. Wie glätten Sie eine Kurve
- 27. Wie erhalten Sie einen Mehrwert durch eine Reihe von Daten?
- 28. Eine andere Möglichkeit zum Zeichnen von Linien
- 29. Datenstruktur, die eine bestimmte Abfrage auf eine Reihe von 2D-Punkten
- 30. Wie CasperJS eine Schleife durch eine Reihe von Seiten
Ja, Spline-Interpolation ist, was ich suche ... Nein, der Spline-Interpolator benötigt einen steigenden x-Wert, damit es funktioniert. Da diese Linie eine Route auf einer Karte ist, könnte x mit der Option – RoiEX
@RoiEX erhöht und verringert werden: Sie können den Punktindex als steigenden X-Wert (Kurvenparameter) verwenden und dann zwei separate 'SplineInterpolator's für das aktuelle X und Y verwenden Koordinaten. –
Aber wie würde ich eine Kurve aus diesen beiden bekommen? – RoiEX