Einzelnen Beitrag anzeigen

Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#2

Re: Frage zu Winkelberechnungen...

  Alt 28. Nov 2005, 12:32
Hab das mal so gelöst, ist aber schon länger her !
Delphi-Quellcode:
function AngleOfPoint (Pt :TPoint) : double;
begin
  Result := 0;
  if ((Pt.X = 0) and (Pt.Y < 0)) then Result := 270 else
  if ((Pt.X = 0) and (Pt.Y > 0)) then Result := 90 else
  if ((Pt.X > 0) and (Pt.Y >= 0)) then Result := ArcTan(Pt.Y / Pt.X) * RadToDeg else
  if ((Pt.X < 0) and (Pt.Y > 0)) then Result := 180 + ArcTan(Pt.Y / Pt.X) * RadToDeg else
  if ((Pt.X < 0) and (Pt.Y <= 0)) then Result := 180 + ArcTan(Pt.Y / Pt.X) * RadToDeg else
  if ((Pt.X > 0) and (Pt.Y < 0)) then Result := 360 + ArcTan(Pt.Y / Pt.X) * RadToDeg else
  Result := 0;
end;

function PointOfAngAndDist (Angle,Distance : Double) : TPoint;
var Radians : Double;
begin
  Radians := Angle * DegToRad;
  Result.X := Round(Distance * Cos(Radians));
  Result.Y := Round(Distance * Sin(Radians));
end;
Musst immer den Punkt angeben, auf den "gezeigt" werden soll, der Winkel wird zurückgegeben.

Vielleicht kannst Du da was mit anfangen !



//EDIT : Sry, hatte die 2. Funktion vergessen !!!
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat