なぜOpenGLを使用度の代わりにラジアン?
質問
OpenGLのデザイナーが開かれたことはない恐れの数学知識の線形代数学は必須の全てが最も簡単なOpenGL願います。だと思っているので、事実とOpenGLプログラマには馴染みの角度ラジアン.
数学的には、ラジアンにはよりエレガントによ度おります。また実践的なメリット:
- C標準ライブラリ用ラジアン.
- ほとんどその他の図書館が利用ラジアンです。
- ラジアンでより便利に計算例の長円形の。
なぜ、その後、たOpenGLデザイナー決定機能 glRotatef
や gluPerspective
使いて
(この実践的な重要性はこれらのゲームを置くことが、今後どこへ向かおうとしている。んでも興味のある人、ない"の回答OpenGL.org.)
解決
で普通の人より使用を算定度--OpenGLするために設計されたシンプルです。すべての機能で動作する度"高レベル"。
OpenGLそのものでないかどうかを受け角度はそれらは内部で変換される変換行列かな計算が得用の。
ではなぜこんな複雑なもの人々ができることを許しを用いて誰でも符号化を深刻に受け止めOpenGLを自らの行列computatedから,四元数。
同じ気持ちさせることができるなど、 glRotatef
や gluPerspective
とにかくから行列がより上品で、高いグレード制御を実現します。
点:
- Elegancy-行列は優雅なあらゆる面で
- Cライブラリ-Cライブラリとして使用すための計算上の理由で、GLの機能を角度をなするために設計された計算重作用行列を直接、その実施は、ルックアップテーブル位ます。
- その他の図書館-以下のCライブラリと同様の主旨のもとにClibも、虚偽の--多くのC++ライブラリを選択は、使用後
- 計算conviniency-関係ありません--内部表現は行列計算probablyeを使ってルックアップテーブルの場合は効率的な直接操作角度で表現されない
にも注:すべての機能を利用度は現在の標準(3.2)推奨されていません。 glRotatef
は のみ 機能を、としている角度です。 glu ユーティリティの図書館まうわけではありません、当時、ヘビーデューティな展開するものにカスタマイズ可読性、 gluPerspective(... 60.0f..)
は読みやすくするためには、"標準"の供給を視野に比 gluPerspective( ... M_PI / 3.0f ... )
となってしまいます。
最終注
他のヒント
私は、OpenGLを念頭に置いて、エンドユーザーに設計されて以来1は整数のみとの重要な角度(90
、180
、270
を...)を指定することができ、そのための必要がないので、度が使用されたことを言うだろう浮動小数点GL_PI
定数。
私はあなたが90または180度のような特定の角度の正確な回転行列を得ることができる必要がありますので、それはあると思います。あなたは、π/ 2の代わりに、90度を使用する場合は、ここで他の人と同様のエラーがのほとんどの90度回転を実行することを。
変換行列につながる可能性が丸め、指定しましたコードが読みやすくなり、それは初心者のための学習曲線を容易かつ迅速にハッキングすることができます。
すでに述べたように - 度は利点を持っている - 人間は、より良い度に使用され、比較する:例えば0.78539816339744830961566084581988 ... 45度:/を。
のOpenGLの高度な使い方のためにあなたはとにかく自分自身の行列を提供します。
さて、どのようなほとんどのケースで起こることは、あなたがラジアンから度とバックにラジアンに変換するために、数学ライブラリを使用することです。私は、以前の素晴らしいポスター言われたことのほとんどに同意ます。
これは、より多くの人間が読めるのです。