Einzelnen Beitrag anzeigen

w4rheart

Registriert seit: 16. Mär 2010
53 Beiträge
 
#7

Re: Dreieck um Punkt auf der Hypotenuse drehen

  Alt 16. Mär 2010, 20:54
Hey, ja so hab ich das jetzt auch gemacht =) :
Delphi-Quellcode:
winkel:=strtoint(Edit1.Text);//(45)

Ax := round(cos(degtorad(winkel)) * (A.x-xpos) - sin(degtorad(winkel)) * (A.y-ypos));
Ay := round(sin(degtorad(winkel)) * (A.x-xpos) + cos(degtorad(winkel)) * (A.y-ypos));
A:=Point(xpos+Ax,ypos+Ay);

Bx := round(cos(degtorad(winkel)) * (B.x-xpos) - sin(degtorad(winkel)) * (B.y-ypos));
By := round(sin(degtorad(winkel)) * (B.x-xpos) + cos(degtorad(winkel)) * (B.y-ypos));
B:=Point(xpos+Bx,ypos+By);

Cx := round(cos(degtorad(winkel)) * (C.x-xpos) - sin(degtorad(winkel)) * (C.y-ypos));
Cy := round(sin(degtorad(winkel)) * (C.x-xpos) + cos(degtorad(winkel)) * (C.y-ypos));
C:=Point(xpos+Cx,ypos+Cy);

Image1.Canvas.Polygon([A,B,C]);
Jetzt bleiben nur noch 2 Probleme:
1. Wie kann ich das alte Dreieck vorher löschen? Also ich will das nicht mit z.B. weiss nochmal übermalen (falls das überhaupt geht),
sondern einfach löschen, so dass immer n ur 1 Dreieck angezeigt wird, geht das?
2. Wenn ich auf vorwärts gehen klicke, dann soll das dreieck um 10 nach vorne springen, allerdings in die jeweilige richtung in der es gedreht ist.
Z.B. 90 drehen, dann 10 vorwärts -> 10 schritte nach rechts.

Hast du da evtl. auch eine Lösung für mich parat? =)
Übrigens echt super wie einem hier in diesem Forum geholfen wird, lobt sich sowas

MfG
  Mit Zitat antworten Zitat