du hast die position, also ich nehme mal an das linke obere Eck. Von dort gehst du ja direkt die x-Größe nach rechts und hast den nächsten Punkt.
Du hast dorhin den Vektor (1,0) (normiert).
den willst du jetzt rotieren um einen Winkel w gegen den Uhrzeigersinn.
Vielleicht erinnerst du dich noch an den Einheitskreis, denn jetzt hast du den neuen Vektor mit (cos(w), sin(w)) gegeben.
Diesen multiplizierst du mit der Breite und dein neuer Punkt ist position + (cos(w), sin(w)) * breite.
Bedenke wenn du ihn über 90° drehst wird aus Breite Höhe.
Der andere Vektor, welche früher nach unten ging, war (0,1). Diesen musst du auch drehen.
Da er nach unten zeigt, ist der Winkel um den du ihn drehst w, von diesem ziehst du 90° ab, da du den Einheitskreis sozusagen gedreht hast. Dann ist der neue Vektor (cos(w-90°), sin(w-90°))
Wieder mit der Höhe diesmal multiplizieren.
Und jetzt kannst du dir die Punkte einen nach dem anderen ausrechnen.
Sagen wir (cos(w), sin(w)) * breite sei Vektor a und (cos(w-90°), sin(w-90°)) * höhe sei Vektor b.
Dann rechnest du die Punkte so aus:
Punkt 1: Position
Punkt 2: Position + a
Punkt 3: Punkt 2 + b
Punkt 4: Punkt 3 - a
Ich hoffe das passt so.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »birdfreeyahoo« (15.07.2015, 19:50)