投影変換(射影変換)

月曜日〜金曜日、日、時間の更新の午前7時北京時間 -

投影変換は、モデルビュー変換後に頂点に適用される。この投影は、実際に視聴ボリュームを定義し、(投影変換は行列、モデルビューポート変換の後に起こり、平面であるクリッピング錐台を規定する)面クリッピング確立します。クリッピング平面は、OpenGLジオメトリが視聴者によって見ることができるかどうかを決定するために使用する3次元空間における平面方程式(クリッピング平面が幾何学的オブジェクトを見ることができるかを決定するために、これらのクリッピング平面を使用して3D空間、OpenGLで定義されている)である。より具体的には、射影変換が終了シーンが(すべてのモデリングが行われた後)、画面上の最終画像に投影される方法を指定する(より正確には、投影変換は、3Dシーンの2D投影スクリーンなる方法を決定する)。あなたがより多くを学びます正射影、及び視点の約二種類(もし2つの投影行列について詳しく説明します - 正射影と透視投影)。正字、または平行投影では、すべてのポリゴンがS上に描画されています 指定された正確相対寸法のcreen(直交射影において、ポリゴンの全ては変わりません)。ラインとポリゴンが何かがどれだけ離れているかに関係なく意味の平行線を使用して、2D画面に直接マッピングされている、まだ、それは関係なく、オブジェクトが観測者からどれだけ離れているか、ではありません(ただ画面に対して平坦化し、同じサイズを描かれていますオブジェクトの大きさ)が変わらない。投射のこのタイプは、典型的には、(例えば、そのような青写真又はメニューテキストとして、または画面上の2次元グラフィックスで正面、上面、及び側面の上昇のような2次元画像をレンダリングするために使用されます2Dモードでは、彼らが実際の生活の中ではなく、(透視投影)は、あなたの生活シーンに見られるように、はるかに小さい効果の近くに生成された設計図として表示される。透視投影は、より多くのシーンを示して)絵を行うことが特に適しています。透視投影の特徴は遠くのオブジェクトは、同じサイズの近くの物体よりも小さく見せるれ、フォアショートニングれる。並列であるかもしれない3D空間内の線が常に見る人に平行に表示されません(透視投影、ラインもともと3Dの世界でルックスはなり平行であるが、鉄道線路で。)平行ではなく、例えば、レールは平行であるが、透視投影を使用して、彼らは(ここでの例を与えるために何が平行透視投影で本来平行ではなく、何であったかスペード)いくつかの離れた点に収束するように見える。の恩恵透視投影は、すべてを行う必要が使用してシーンを指定している。(給付の透視投影は、あなたがどのくらいの最後に、これらのことを気にする必要はないということです)あなたはラインが収束またはどのくらいの小さい遠くどこ把握する必要がないということですモデルビュー変換して、透視投影行列を適用する(あなたは何をする必要があるモデルのビューポート行列がそれをTransformオブジェクトしようとし、その後、透視行列に対処するためである、線形代数では、すべての問題に対処するのに役立ちます)。リニア代数は、あなたのためのすべての魔法を動作します。あなたは、上に示される正投影で見ることができるように(図4.12は、視点と投影の2つの異なるシナリオに直交の効果を示す)4.12は、2つの異なるシーンに正射と遠近投影を比較する図左、キューブは表示されません。彼らは、視聴者から遠く移動するとサイズに変更する(あなたが左に見ることができるようにすることは直交投影で、より多くの遠いキューブ、同じサイズ)。しかし、

投影変換(射影変換)
正射投影が2Dは、あなたがピクセルと描画ユニット間の正確な対応をしたい目的を描画するために最も頻繁に使用されている。あなたは模式的なレイアウト、テキスト、またはおそらく2次元グラフ作成アプリケーションのためにそれらを使用する場合があります。あなたはまた、3Dレンダリングのための正投影を使用することができますレンダリングの深さは、視点からの距離に比べて非常に小さい深さを有している場合(一般2D用途に適した直交射影、言えば、時には変化の深さの一部を行うために取得することは、3Dシーンの非常に明白なレンダリングではありません)。透視投影は短縮が適用されている必要があり、広いオープンスペース又はオブジェクトを含むシーンをレンダリングするために使用されている。大部分は、透視投影は、3Dグラフィックスのために典型的である。実際には、正射投影で3Dオブジェクトを見ることができあなたは、3Dシーンを表示するには、正射影を使用している場合は、多少不安になる。(透視投影は、3D製品を作るために使用され、この製品は明らかに機能がはるかに小さい効果の近くに持っている必要があり、実際には、あなたが感じるだろう 卵の痛み)

パースペクティブ行列(透視行列)

あなたの頂点はビュー空間になったら、私たちは、透視または正投影(またはいくつかの他の突起)を表すことができる私たちの射影行列を適用することによって、私たちはクリップ空間にそれらを取得する必要があります( あなたは、ビューで頂点データを取得すると下部開口スペースの後に、あなたはトリミング座標行き、投影変換)にそれらを再生する必要があります。一般的に使用される透視行列がある錐台行列。錐台行列が透視投影など、そのクリップを作成する射影行列であります空間が矩形錐台の形状をとる切頭四角錐である。そのパラメータは、近くおよび遠くの面までの距離と、ワールド空間左の座標であり、右、上、下のクリッピング平面は、錐台マトリックスがかかり以下のフォーム:(共通視錐台の斜視行列が行列、行列は、あなたがダウンしてこの行列を定義するために飛行機をクリッピング近くファークリッピングプレーンについて指定する必要が斜視の錐台の行列で、それが逆ピラミッドの形で提示されます次のショーは、生産します 錐台機能)
投影変換(射影変換)
静的インラインMAT4錐台は(フロートを残し
、フロート右
下のフロート、
フロートトップ、
フロートN-、
フロートF){...}
の指定に直接共通マトリックスの展望を構築するための別の方法は、おそらく度でAS AN視野の角度(、)、(一般的により導出アスペクト比ISその高さによって、ウィンドウの幅を分割 )、および近くと遠くのプレーンのビュー空間位置。これは、指定がやや単純であり、そして唯一の対称フラストラを生成すること。ただし、これはあなたがたいと思うものをほとんど常にある。vmath機能これはvmath ::斜視図である:(別の方法は、直接ビューポート可視角度、アスペクト比を指定する射影行列を指定することで、今のところ私たちの教育システムに平面使用クリッピングニアクリッピング面が第二の方法で行いますまた、数学.vmathは、以下にこれらのマトリックスインターフェイスの起源由来しながら)

静的インラインMAT4の観点(フロートfovy / /、
フロート態様、
フロートN、
フロートF){...}
正投影行列(正交矩阵)

あなたは正投影を使用したい場合は 、あなたのシーンのために、あなたは((やや単純)正投影行列を構築することができ、あなたのシーンを直交変換使用したい場合は、あなたが直交射影行列を構築することができます)。正字を射影行列は、単にスケーリング行列である直線(クリップ空間座標に座標をビュー・スペースをマップ直交射影行列は空間行くをクリップするビューポートマッピング空間における線形のものである)。パラメータが正射構築する突起マトリックスの左、右、上であり 、そしてビューシーンの境界の空間、及び遠近面の位置における底座標マトリックスの形態である( 構築ようなパラメータ行列である:上下、図中の飛行機をクリッピングに近い形、ファークリッピングプレーン、下記に示すマトリクス)。
投影変換(射影変換)
ここでも、するvmath機能があります 、あなたのために、この行列を構築するには、vmath ::オルト:( vMATHためのインタフェースライブラリを作成するための直交行列は、以下の:)

オーソMAT4インライン静的(フロートは左、
右、フロート
フロート底を、
フロートトップ、
近くに浮いて、
FARフロート){...}
この日の翻訳明日お会いし、ここで取得するには、さようなら〜

最新のプロットを初めて取得し、東漢アカデミーと公共グラフィック番の心に注意を払ってください。

ハン・カレッジ、あなたはああをプレイするのを待ちます

おすすめ

転載: blog.51cto.com/battlefire/2427933