Thema: Delphi Normale Ellipse

Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#5

AW: Normale Ellipse

  Alt 7. Mär 2016, 17:16
Die Steigungsform der Geradengleichung versagt leider an den Winkeln 0° und 180° und wird ungenau im angrenzenden Bereich. Ich verwende deshalb gerne die Normalform A*x + B*y + C = 0 . Sei dann die Ellipse definiert durch (x/A)² + (y/B)² = 1 , dann kann man meine bereits vor Äonen geschriebene Funktion verwenden:

Delphi-Quellcode:
function TangEllipse(A, B, X, Y: Extended; out A1, B1, C1: Extended): Boolean;
{ berechnet die Werte für eine Tangente an die Ellipse (A,B) im Punkt P(X,Y)
  result : -1 für Fehler
  0 für OK }

begin
  if IsZero(A) or IsZero(B) then begin
    result := false
  end
  else begin
    A1 := X / Sqr(A);
    B1 := Y / Sqr(B);
    C1 := -1;
    result := true;
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat