Einzelnen Beitrag anzeigen

Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Auf einem Canvas ein Dreieck zeichnen und drehen können

  Alt 10. Okt 2004, 16:22
hier liegt der Fehler:
Delphi-Quellcode:
  B.x:=trunc(A.x-(Seitenlaenge)*sin(Winkel/180*PI));
   B.y:=trunc(A.y-(Seitenlaenge)*cos(Winkel/180*PI));

   C.x:=trunc(A.x+(Seitenlaenge)*sin(Winkel/180*PI));
   C.y:=trunc(A.y+(Seitenlaenge)*cos(Winkel/180*PI));
Du benutzt für C und B den gleichen Winkel. Bei deiner Berechnung Spiegelst du B an A und erhällst so C. Um C zu errechnen musst du vor der C.x... Berechnung den Winkel zwischen AC und AB von Winkel abziehen.

Versuchs mal so:
Delphi-Quellcode:
 B.x:=trunc(A.x-(Seitenlaenge)*sin(Winkel/180*PI));
   B.y:=trunc(A.y-(Seitenlaenge)*cos(Winkel/180*PI));

   winkel:=winkel-30; // Musst du dir selbst errechnen, nur mal als Bsp.
   C.x:=trunc(A.x+(Seitenlaenge)*sin(Winkel/180*PI));
   C.y:=trunc(A.y+(Seitenlaenge)*cos(Winkel/180*PI));
// [Delphi ]-Tags nicht [Code ]-Tags
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat