Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Bezier-Kurven berechnen

  Alt 25. Okt 2006, 16:12
Ich würde ebenfalls zu De Casteljau raten, den ich auch hier eingesetzt habe (sogar ebenfalls C# ). Dessen Teilungsverfahren könntest du aber auch mit der Parameterfunktion selbst nachbauen:
Man wähle t = 0,5 und halbiere diesen Wert [1], bis der errechnete Punkt nah genug am Anfangspunkt liegt. Dann wird die Strecke gezeichnet und der nächste Teilabschnitt errechnet.

[1] Hier gäbe es wahrscheinlich noch Raum zur Optimierung, beispielsweise könnte man statt 0,5 den erwarteten Wert für eine lineare Bézierkurve wählen. Ist die Strecke zwischen Anfangs- und Endpunkt also 50 Pixel lang und es sollen maximal 5 Pixel-lange Linien gezeichnet werden, werde ich t = 0,1 wählen. Das kann zuviel oder zu wenig geschätzt sein, aber wohl immer noch besser als 0,5.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat