1. ホーム
  2. math

[解決済み] 矩形を回転させる最も簡単な方法

2022-02-14 14:50:14

質問

x y 座標とその幅と高さで定義される矩形を使っています。座標の観点から回転させる方法を見つけました ( x = cos(deg) * x - sin(deg) * y y = sin(deg) * x + cos(deg) * y ) しかし、高さと幅で行き詰っています。きっと私が見逃している明白な解決策があるのでしょう。もしそれが重要なら、私はPythonを使用しています。

編集 わかりにくい記述で申し訳ありません。私が意図しているのは、角度が何であれ、幅と高さを反転させるか、あるいは否定させることです。例えば、90度回転させると値が入れ替わります。180度回転させると幅がマイナスになります。また、私のスクリプトでは90の倍数のみを使用するつもりです。I できる を使うだけです。 if という文がありますが、もっとエレガントな方法があるのではと思いました。

どのように解決するのですか?

90度だけ回転するという表現と、幅と高さの定義の仕方から、おそらく次のようなものを探しているのでしょう。

direction = 1     // counter-clockwise degrees
// or
direction = -1    // clockwise 90 degrees

new_height = width * direction
new_width = -height * direction
width = new_width
height = new_height

そうでなければ、90度回転するたびに幅と高さが入れ替わるだけだからです。