Minimalen Radius aus Bezierkurve berechnen
-
Hiho,
Ist einem von euch eine Bib bekannt die den (minimalen) Radius einer Bezierkurve berechnet?
Grüße
Shark
-
Ganz grob ins Blaue: Nullstellen der dritten Ableitung betrachten und Maximum finden? Du suchst ja immerhin die maximale Krümmung.
-
Und, um auf deine Frage zu antworten: Welche Sprache? Wieso, weshalb, warum?
-
JFB schrieb:
Ganz grob ins Blaue: Nullstellen der dritten Ableitung betrachten und Maximum finden?
Nee, die Krümmung geht ein bisschen anders.
http://de.wikipedia.org/wiki/Krümmungsradius#Kr.C3.BCmmungsradius_eines_Funktionsgraphen
Obs da was cleveres für Bezierkurven gibt weiß ich nicht, aber da die stückweise polynomial sind, ist die Ableitung nicht weiter schwierig.
-
@Bashar: Ich bin oben von einer Weglängenparametrisierung ausgegangen, bei der die Krümmung durch den Betrag der zweiten Ableitung (nach der Bogenlänge, dementsprechend) gegeben ist. Hätte ich erwähnen sollen. Für den allgemeinen Fall hast du aber Recht.
Bézierkurven sind übrigens nicht im üblichen Sinne stückweise polynomial, sondern bestehen aus gerade einem Stück (innerhalb der konvexen Hülle des Kontrollpolygons).
-
Moin ihr beiden,
Sprache ist C++.
Was das Warum angeht: Aufgabe ist es den minimalen Radius einer Bezierkurve anzuzeigen :>Die Formel für die Berechnung den Krümmungsradius an sich habe ich vorliegen, bevor ich aber das Rad neu erfinde (und dabei unweigerlich Tonnen von Fehlern einbauen würde) wollt ich fragen ob es dazu eine getestete Bib gibt.
Mehr Aussagen kann ich dazu nicht machen, weil ich bisher noch nie mit Bezierkurven zu tun hatte und mein Codeguru im Urlaub ist, heißt ich kann mit seinem Code noch nicht wirklich was anfangen.
-
Aufgabe ist es den minimalen Radius einer Bezierkurve anzuzeigen
Das hängt dann u.a. stark davon ab, wie du eine Darstellung deiner Kurve gegeben hast. Ein bisschen mehr Information wäre nützlich. Du hast vermutlich nur die Stützpunkte gegeben?
bevor ich aber das Rad neu erfinde (und dabei unweigerlich Tonnen von Fehlern einbauen würde) wollt ich fragen ob es dazu eine getestete Bib gibt.
Je nach Darstellung ist das nicht so kompliziert. Bevor du eine riesige Spline-Bibliothek einfrickelst und dann so eine simple Funktion verwendest hast du das dreimal selbst implementiert.
Eine Formel für die Krümmung, die auch für nicht-natürliche Parametrisierungen gilt, ist gegeben durch
Wie du nun an die Ableitungen kommst häng ganz von der Darstellung ab, in der die Kurve gegeben ist.