Einzelnen Beitrag anzeigen

w4rheart

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

Re: Dreieck um Punkt auf der Hypotenuse drehen

  Alt 16. Mär 2010, 21:49
Also das mit dem löschen hab ich jetzt über Image1.Canvas.Pen.Mode:=pmnotxor; hinbekommen.

Allerdings das mit dem verschieben... Es ist zum Haare ausreissen^^
Es springt einfach immer in die falsche richtung! Bzw je nachdem was ich einstelle um 90° bzw. 180° in die falsche richtung.
und wenn ich dann erneut auf drehen klicke, rotiert das rechteck wieder um den mittelpunkt
Ich bekomme nicht heraus woran es liegt.
Blatt Papier und Stift hab nix gnützt... =(

Bitte schau sich das noch einmal einer an.
MfG

//Edit: das mit dem drehen ist mir jetzt klar, ich hab die xpos und ypos nicht verändert. Ist nur noch die Frage um welchen wert ich die jeweils bei welcher drehung verändern muss...

//Edit2:
Delphi-Quellcode:
ypos:= ypos + round(cos(degtorad(winkel)) * strtoint(Edit1.text));
xpos:= xpos + round(sin(degtorad(winkel)) * strtoint(Edit1.text));
tuts leider nicht, weiss jemand wieso?

//Edit3: doch tuts wohl ... letztes Problem (diesmal wirklich): der geht immernoch in die falsche richtung. immer nach unten rechts...
Delphi-Quellcode:
  Ax := round(cos(degtorad(winkel)) * strtoint(edit1.Text) + A.x);
  Ay := round(sin(degtorad(winkel)) * strtoint(edit1.Text) + A.y);
  A:=Point(Ax,Ay);

  Bx := round(cos(degtorad(winkel)) * strtoint(edit1.Text) + B.x);
  By := round(sin(degtorad(winkel)) * strtoint(edit1.Text) + B.y);
  B:=Point(Bx,By);

  Cx := round(cos(degtorad(winkel)) * strtoint(edit1.Text) + C.x);
  Cy := round(sin(degtorad(winkel)) * strtoint(edit1.Text) + C.y);
  C:=Point(Cx,Cy);
hierran muss irgendetwas nicht stimmen...
Komischerweise: bei 3*45 Drehung (135)+ vorwärts, funktionierts !? warum...?
Angehängte Dateien
Dateityp: zip dreiecksrotation_510.zip (211,0 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat