0

私がやりたいのは、平らな正方形の3D地形を2D遠近法にマッピングするビューポートを作成することだけです。

完全に平らなフィールドを見渡すと想像してみてください。遠く離れた地形のブロックは、地平線に向かってさらに内側に傾斜しているように見え、また短く見えます。

私はこれを科学的に正しく行う方法についてたくさんの研究を行い、これに出くわしました:

http://en.wikipedia.org/wiki/Visual_angle

(この記事が2Dである場合を除きます。ビューポートの「高さ」、つまりz次元も考慮に入れたいと思います)

プログラムするよりも、これを実行して真の知覚を生み出すためのより簡単な方法はありますか?

-3D光線/球の交差

-球上の点から点への距離

私が求めているのは、遠近法のワーピングに忠実でありながら、3Dワールドの頂点を2D平面にマッピングする簡単な方法があるかどうかです。

役立つ記事やアドバイスをいただければ幸いです。

ありがとう!

4

1 に答える 1

2

これを行う標準的な方法は、同次座標透視投影行列を使用することです。これには、距離の計算はまったく必要ありません。頂点ごとに、最終的な 2D ポイントをスケーリングするために 4x4 行列の乗算と除算が必要です。

そして、はい、それは科学的および幾何学的に正しいですが、平らなカメラのような投影スクリーンと理想的なピンホールのようなレンズを想定していることに注意する必要があります. 「視角」ベースの魚眼ビューが必要な場合、最適なオプションは、後処理としてバレル歪みを追加することです....

おそらく、Alan Watt による3D Computer Graphicsのような入門的なコンピューター グラフィックス テキストから始める必要があります。古い「古典的な」作品は、Foley、van Dam などによるComputer Graphics: Principles and Practiceです。

于 2012-03-29T22:07:07.980 に答える