Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#11

AW: Ellipsenalgo aus Formelsammlung kreieren

  Alt 9. Jul 2025, 08:39
Danke an Euch alle! So wird meine Ellipse gezeichnet. Mit 4096 Schritten passiert das lückenlos.
Genau, das ist generell die Problematik bei diesen parametriesierten Methoden.
Man will die Schrittlänge, oder "Punktdichte" ja nicht jedes Mal von Hand optimieren und vorgeben.
Bei kleinen Ellipsen sind 4096 vielleicht totaler Overhead, bei großen Ellipsen kommt es vielleicht gerade mal so hin.

Die Frage wäre deshalb, wie berechne ich die Schritte immer optimal, z.B. anhand einer gewünschten "Punktdichte" für alle Zeichenelemente auf dem Canvas ?

Dazu fallen mir mindestens 3 Alternativen ein, die aber alle nicht ideal sind, weil sie sqrt und trigonometrische Funktionen nutzen können.

Grundsätzlich denke ich, gibt es:
A.) Entweder vor dem eigentlichen Zeichen berechen/abschätzen

Delphi-Quellcode:

    function CalcNumSteps(a, b, stAngleDeg, endAngleDeg: Extended; dMax: Integer): Integer;
Das kann spitze Enden aber womöglich nicht dicht genug abbilden.

oder

B.) iterativ innerhalb der Zeichenschleife anhand der Teilstücke berechnen.
Damit könnte zumindest die "Punktdichte" auch variieren, z.B. bei extrem unsymmetrischen Ellipsen.

Vielleicht gibt es dafür ja auch eine möglichst effiziente Methode, die ich nicht kenne?
  Mit Zitat antworten Zitat