Ich muss die Mitte einer Bezier-Kurve finden, um sie zu drehen. Ich habe eine Liste aller Punkte (Kontrollpunkte, Anfang und Ende, alle Punkte auf der Kurve selbst). Wie würde ich vorgehen, um das Zentrum zu finden?
algorithm
bezier-curve
user4656
quelle
quelle
t=0.5
Punkt. und zwei ist der geometrische Mittelpunkt bezüglich der kartesischen Reiseentfernung entlang der Linie.Antworten:
Bézier-Kurven sind mathematische Einheiten und haben keinen klar definierten Mittelpunkt. Man kann tatsächlich viele verschiedene Dinge als Zentrum der Bézier-Kurve definieren. Ich habe versucht, einige der möglichen Zentren in Bild 1 darzustellen. Mehr als das gibt es.
Bild 1 : Einige der möglichen Zentren einer Bézier-Kurve mit einer Spannweite
In der Praxis verwenden fast alle zum Zeichnen ausgerichteten Grafikanwendungen die Mitte des lokalen Begrenzungsrahmens (BB) als Mittelpunkt. Animationssoftware verfügt normalerweise über ein zusätzliches Pivot-Konzept, sodass sie den Ask-User-Ansatz verwenden. Wenn keine Eingabe erfolgt, kehren sie häufig zum BB-Zentrum oder einfach zum lokalen Koordinatenzentrum zurück. Dies liegt wahrscheinlich daran, dass der BB ohnehin berechnet werden muss und es ziemlich einfach ist, sein Zentrum zu ermitteln (siehe A Primer on Bézier Curves ).
Die Schwerpunktmetriken sind auch etwas natürlich, insbesondere in einem Animationskontext, obwohl sie schwieriger zu berechnen sind. Am einfachsten ist es, die Daten zu diskretisieren und die Berechnung für die diskrete Eingabe durchzuführen. Dies besagt, dass einige geschlossene Lösungen für den Kurvenschwerpunkt möglich sind, aber es ist keine sehr schöne Gleichung, um sie zu formulieren und zu vereinfachen.
Dann haben wir die Punkte auf der Kurve: den Mittelpunkt nach Bogenlänge und den Punkt, an dem der Parameter 0,5 beträgt. In meinen Augen ist der Parameter oft problematisch, obwohl er leicht zu berechnen ist, und er verliert an Bedeutung, wenn Sie mehrere Béziers nacheinander für ein Polybézier verketten. Der Längenmittelpunkt ist natürlich nur natürlich, solange die Kurve nicht geschlossen ist.t t
Wir definieren auch andere mögliche Zentren, die Mitte könnte im Kurvenschwerpunkt des Rumpfes, im Durchschnitt der Kontrollpunkte oder im Kontrollkäfig-BB-Zentrum liegen. Obwohl diese in der Praxis nicht sehr gut zu funktionieren scheinen.
Bitte beachten Sie : Obwohl die Kurve in Bild 1 das BB-Zentrum ziemlich nahe an einigen natürlichen Zentren zeigt, ist dies bei komplexeren Kurven und insbesondere bei Polybéziers nicht immer der Fall.
quelle
quelle