Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: prüfen ob punkt sich im kreis befindet

  Alt 15. Sep 2004, 16:37
Delphi-Quellcode:
function IsPointInCircle(point, center : TPoint; radius:double): boolean;
var
   distance2 : double;
begin
   // Berechnung des Abstands des Punktes vom Mittelpunkt nach Pythagoras
   distance2 := Sqr(point.x-center.x) + Sqr(point.y-center.y);
   // das Wurzelziehen sparen wir uns, stattdessen wird der Radius ebenfalls quadriert

   result := (distance2 <= Sqr(radius));
end;
Und jetzt das Ganze als Einzeiler (zwecks Performance und Vermeidung von Rundungsfehlern):
Delphi-Quellcode:
function IsPointInCircle(point, center : TPoint; radius:double): boolean;
begin
   // Berechnung des Abstands des Punktes vom Mittelpunkt nach Pythagoras
   // das Wurzelziehen sparen wir uns, stattdessen wird der Radius ebenfalls quadriert
   result := ((Sqr(point.x-center.x) + Sqr(point.y-center.y)) <= Sqr(radius));
end;
Andreas
  Mit Zitat antworten Zitat