※ ChatGPTを利用し、要約された質問です(原文:OpenglでのRotation(glRotatef)について)
OpenglでのRotation(glRotatef)について
このQ&Aのポイント
OpenglのglRotatef()を使用して回転を行う際、表示画面の縦横の比が1でない場合、正方形が変形する問題が発生します。
回転をすると頂点情報の基準の長さが変わるため、正方形が崩れてしまいます。90度であればglScalefで補正できますが、任意の角度ではうまくいきません。
正方形を正方形のまま回転させるためには、縦横のスケールを適切に変える必要があります。
OpenglでのRotation(glRotatef)について
OpenglでのRotation(glRotatef)について
Openglで回転を行うとき、glRotatef()を使っているのですが、
表示画面の縦横の比が1でない場合、たとえばx-y平面に描画した正方形をz軸を中心に90度回転すると
形が正方形になりません。(X-Y平面をまっすぐに見ているので、2Dになっています。)
おそらく、頂点情報は、あくまで画面の縦や横の長さを1とした小数点比で
記載するため、回転をすると、基準の長さが変わってしまって変形するのだと思います。
90度であれば、glScalefなどで、縦横のスケールを変えて正方形に戻すことは出来るのですが、
任意の角度にした場合は、Scalefなどでの補正がうまくいきません。
正方形を正方形のまま回転するにはどうすればよいのでしょうか?
お礼
>qwertfkさん まさに私が知りたかったのがこのことです。 的確なアドバイス誠にありがとうございました。