2016-07-10 3 views
0

Ich habe ein Rechteck, das (in diesem Fall 45 Grad) gedreht wird, und sieht wie folgt aus:Get gedrehtes Rechteck Punkte von x, y, Breite, Höhe und Rotation

My rectangle

Und ich weiß, dass X ist von der oberen linken Ecke des Rechtecks ​​(wenn es nicht gedreht wurde, in diesem Fall der Punkt an der Spitze des Bildes). Y ist auch von der oberen linken Ecke. Ich habe die Breite und die Höhe und die Bounding Box. Ich möchte herausfinden, was die anderen Punkte dieses Rechtecks ​​sind. Oben links (in diesem Fall technisch die X-Position), oben rechts, unten rechts und unten links. Ich habe versucht, eine Transformationsmatrix zu verwenden, aber ich kann mich nicht darum kümmern.

Wie würde man die anderen Punkte dieses Rechtecks ​​finden? Technisch arbeite ich in JavaScript, aber jede Sprache sollte in der Lage sein, mit diesem Problem umzugehen.

Antwort

0

Die Rotationsmatrix kann helfen, ihre aktuelle Position basierend auf der vorherigen Position zu berechnen. Wenn es im Uhrzeigersinn ist dreht, wird die 2D-Rotationsmatrix wie folgt:

enter image description here

die macht

enter image description here enter image description here

+0

So 'ist die Original-x x'' oder 'X' das Original x? – Johnston

+0

@ Johnston Ehemalige Koordinaten (x, y). Neue Koordinaten (x ', y'). Beachten Sie, dass diese Formel für die Drehung um den Koordinatenursprung (0,0) gilt. – MBo

+0

@MBo ist korrekt, (x ', y') ist die neue Koordinate, die aus (x, y) transformiert wurde. Entschuldigung für die Verwirrung. – Gracegotlost

Verwandte Themen