問題タブ [camera-matrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - OpenGLカメラの回転がちらつく
しばらくしてから、OpenGLでのカメラの回転の問題で立ち往生しています。
マウスを動かしてカメラを回転させようとしましたが、カメラがちらつくだけです(カメラが見つけた物体がちらつきます)。
次のようにカメラを初期化します。
ここで、変換は変換行列です。OpenGLは列メジャーなので、正しいはずです。
次のパートでは、フレームを描画する前に何が起こっているかを説明します。
最初に、マウスの動きでカメラを更新します。最後のマウスポインター位置のデルタxとyに応じて、動きの値は正または負になります。
次のステップでは、シーン内のカメラを調整します。マウスがx軸またはy軸に沿って移動した場合、カメラを回転させたいと思います。
y軸を中心とした回転は、回転行列と変換行列を使用した行列の乗算です。
OpenGLは列メジャーであることを念頭に置いて、乗算関数は次のように作成されます。
この時点で、マトリックスは正常で、OpenGLにロードされているはずです。setViewメソッドはadjust()で呼び出されました。
関数は、次のように完全なシーンで呼び出されます。
int DrawGLScene(GLvoid){//ここですべての描画を行います
}
ここでは、Modelviewマトリックスを選択してから、IDマトリックスをロードします。マトリックスのプッシュとポップの間に、カメラの更新と調整(setViewを含む)があります。次に、描画するオブジェクトの変換を設定してから、オブジェクトを描画します。
それで全部です。マトリックスのプッシュとポップを何度か試し、フリップコードカメラのチュートリアル(http://www.flipcode.com/archives/OpenGL_Camera.shtml)を確認しましたが、ちらつきはまだ残っています。誰かが何が間違っている可能性があるかについて何か考えを持っていますか?
matlab - MATLAB でのカメラ マトリックスの設定
MATLAB でカメラ ビューと射影行列を設定することは可能ですか? 「ビューマトリックス」とは、空間内のカメラの位置と向きを指し(実際には、その逆ですが、これは単なる詳細です)、「投影マトリックス」は、3Dポイントを2Dスクリーンに投影するマトリックスを指します座標 (正投影または遠近法のいずれか)。MATLAB では、「低レベルのカメラ プロパティ」を使用することによってのみカメラを制御できるようです: http://www.mathworks.com/help/techdoc/visualize/f4-44406.html これは十分ではありませんOpenGL / DirectX / etcで行われているように、自分で行列を設定したいので.
c++ - OpenGL-一人称カメラマトリックスの問題
一人称カメラのスタイルを模倣したカメラを作るために最善を尽くしました。古いOpenGLレンダリング方法から切り替えたばかりで、カメラマトリックスに取り組む準備ができました。これが私のカメラアップデートのコードです。
最後の3行は、変換の反対でカメラを更新すると想定したものです(yとzは、使用している形式に切り替えられます)。私はそれらを間違った順序で行いましたか?
これが私の非常に単純なシェーダーです。
これは単に赤い三角形を作ります。カメラは三角形の周りを回転しますが、これは私が望んでいることではありません。カメラを回転させたい。カメラマトリックスに各頂点を掛けると、カメラ空間でのレンダリングが得られると思いました。それとも、それを射影行列で乗算する必要がありますか?
w、a、s、またはdを移動すると、一度にズームインし、ビュー全体が歪んで、どこにでも赤い断片が表示されます。
camera - 2D画像から3Dモデルへ
2D 画像と 3D CAD モデルがあります。P=k[R -RC] のカメラ行列 P があります。カメラがピクセル座標 [uv] で見るビューから 3D モデル [XYZ] を再計算するにはどうすればよいですか? よろしくお願いします。
camera - キャリブレーション コードを実行せずに、カメラ マトリックスを見つけることができますか?
カメラキャリブレーションを使用せずに、仕様を知るだけで、とにかくカメラキャリブレーションマトリックスを知ることができるかどうかを知りたいですか???
image-processing - 2D-3D ホモグラフィ行列推定
Kinect を使用して 2D 3D 画像処理を行っています。ここに私の問題があります:平面上にある3D(x、y、z)の点があります。RGB画像(x、y)上の点の座標も知っています。ここで、2D-3D ホモグラフィ行列を推定して、(x1,y1,z1) 座標をランダムな (x1,y1) 点に推定したいと考えています。それは可能だと思いますが、どこから始めればよいかわかりません。
ありがとう!
graphics - カメラの相対回転行列はありますか?
2台のカメラがあるとします。この 2 台のカメラのポーズが正確にはわかりません。そのため、それぞれR1およびR2として表される回転行列は不明です。しかし、私はこれらのカメラの 3 つの軸に沿った相対角度を知っています。2 つのカメラの 3 つの軸に沿った角度が (alpha1, betta1, gamma1) と (alpha2, betta2, gamma2) である場合、これらのカメラの相対角度 (deltaX, deltaY, deltaZ)=(alpha2-alpha1, betta2) -betta1、gamma2-gamma1) が知られています。
私の質問は、 R2=R12*R1となるように「相対」回転行列R12を形成できるかということです。
回転行列を構築する方法はたくさんあるからです。そして、これらの方法の結果は異なります (カメラが異なる回転行列を持つことができる理由はまだわかりません)。この場合、3 つの軸に沿って 3 つの回転行列を乗算して回転行列を作成します。より具体的には、R=RzRyRxである。
Matlab のコードでテストすると、
R(α2, 0, 0)*R(α1, 0, 0)=R(α1+α2, 0, 0)。
しかし
R(アルファ 2、ベッタ 2、ガンマ 2)*R(アルファ 1、ベッタ 1、ガンマ 1) != R(アルファ 1 + アルファ 2、ベッタ 1 + ベッタ 2、ガンマ 1 + ガンマ 2)。
ありがとう!