2

これはよくある質問であり、Webにはたくさんのリソースがあり、この領域を扱ういくつかの質問がありますが、必要なものを正確に見つけることができません。ですから、事前にお詫び申し上げます。

2Dポイントに変換する必要がある3Dポイントがあります

利用できるもの:
ポイントの場所(Px、Py、Pz)
カメラの場所(Cx、Cy、Cz)
カメラの向き(これは制御できますが、表現方法がわかりません)

私はこれについてウィキペディアガイドに従おうとしていました-http ://en.wikipedia.org/wiki/3D_projection#Perspective_projection

私の質問は次のとおり
です。カメラの向きをどのように表現する必要がありますか?
ウィキペディアガイドの「表示面に対する視聴者の位置」からEx、Ey、Ezの値を計算するにはどうすれ
ばよいですか?他に知っておくべきことはありますか?

4

2 に答える 2

0

古いチュートリアルは、ハードウェアレンダリングの前であっても、主にT&Lとシェーダーの前の日から素晴らしいものです。それらの理解から始めます。つまり、/technical/math-and-physics/3d-matrix-math-demystified-r695"> http://www.gamedev.net/page/resources//technical/math-and-physics /3d-matrix-math-demystified-r695。次に、カメラのアプリケーションに進みます:http: //www.codeguru.com/cpp/misc/misc/graphics/article.php/c10123/Deriving-Projection-Matrices。 htm

基本的に、カメラの周りで「宇宙」全体を平行移動してから回転させます。つまり、あなたはあなたのポイントを持っています:あなたはカメラの平行移動(動き)を定義し、次に回転行列を定義します。あなたはそれらをあらゆる「世界のコンテンツ」、すなわちあなたのポイントに適用します。次に、「チート」し、x値とy値をzで割って、2D平面に投影することができますが、実際には、視野を適切に修正する計算を行う必要があります。

于 2012-04-04T01:14:42.707 に答える
0

Javaバインディングを使用してOpencvをコンパイルする場合は、[Calib3dモジュール](http://docs.opencv.org/java/2.4.4/org/opencv/calib3d/Calib3d.html#projectPoints(org。 opencv.core.MatOfPoint3f、org.opencv.core.Mat、org.opencv.core.Mat、org.opencv.core.Mat、org.opencv.core.MatOfDouble、org.opencv.core.MatOfPoint2f))

于 2017-05-11T05:31:57.590 に答える