Matrix Klasse



  • Hallo,

    kann mir mal einer sagen warum mein Rechteck nach unten verschoben wird.

    Beim Translate ist die y Verschiebung doch immer 0 .

    Pen myPen2 = new Pen(Color.Red, 1);
    
                Matrix myMatrix = new Matrix();
                myMatrix.Translate(0, 0);
                myMatrix.Rotate(45);
                myMatrix.Translate(10, 0);
    
                e.Graphics.Transform = myMatrix;
                e.Graphics.DrawRectangle(myPen2, 0, 0, 100, 100);
    


  • das 2. Translate bewirkt scheinbar eine Verschiebung nach unten was ich gar nicht versteh ­čś×



  • blurry333 schrieb:

    das 2. Translate bewirkt scheinbar eine Verschiebung nach unten was ich gar nicht versteh ­čś×

    Was verstehst Du denn daran nicht?



  • na ich verschieb doch nur den x Wert( ist 10 ) und y ist 0 !



  • Und vorher hast du ein Rotate durchgef├╝hrt... beziehst du das gar nicht in deine ├ťberlegungen mit ein?!



  • ja schon.

    Aber da ist die Ecke immer noch ganz oben.



  • ja gr├Â├čer ich das x mache umso weiter rutscht es nach unten .



  • Zeichne dir mal ein normales Koordinatensystem auf ein Blatt Papier mit einer horizontalen x-Achse und einer vertikalen y-Achse.

    Dann drehst du das Koordinatensystem um 45┬░. Und dann schau mal wohin die x-Achse des gedrehten zeigt im Vergleich zum anderen.

    Dann ├╝berlege dir was passiert, wenn du das gedrehte Koordinatensystem auf deinen Bildschirm legst (der kein gedrehtes Koordinatensystem hat) und ├╝berlege dir, warum der Wert nach unten geht ­čśë



  • Warum verschwindet mir mein Zeiger hier komplett , obwohl ich doch nur rotate sage ??

    Pen myPen2 = new Pen(Color.Red, 1);
    
                int wert = 0;
    
                Matrix myMatrix = new Matrix();
    
                myMatrix.Rotate(wert);
    
                wert += 6;
    
                e.Graphics.Transform = myMatrix;
                e.Graphics.DrawLine(myPen2, Width/2, Height/2, 100, 100);
    


  • aso ich versteh der koordinatenursprung ist die linke obere Ecke.



  • blurry333 schrieb:

    aso ich versteh der koordinatenursprung ist die linke obere Ecke.

    Genau ­čśë

    Ich hatte mich ewig nicht daran gew├Âhnt ^^



  • Kann man eigentlich die Form selber auch irgendwie drehen ?



  • blurry333 schrieb:

    Kann man eigentlich die Form selber auch irgendwie drehen ?

    Du meinst das ganze GUI Element drehen? Nicht das ich w├╝sste.


Log in to reply