問題タブ [perspectivecamera]
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.
c++ - OpenGLで頂点が描画されない
変換と回転のための入力を伴うシェーダーを使用して、単純な頂点指定 (ボックスのような) ティーポット モデルを描画するのに問題がありました。gl コードとマトリックス (-z 上のオブジェクトの位置、原点にあるカメラなど) を何度もチェックしましたが、まだ空白の画面が表示される理由がわかりません。コードを短くするために、モデルの基本的な立方体のコードを挿入しました (少なくともそれが理解できれば問題ありません)。
}
頂点シェーダー
フラグメントシェーダー
3d - Ogre/Mogre: カメラ 2 点透視図法
いくつかの立方体を含むシーンを表示しています。カメラは遠近法を使用しています。すべてうまく機能しますが、垂直線を平行にしたいと思います (2 点遠近法: http://en.wikipedia.org/wiki/Perspective_(graphical)#Two-point_perspective )。
立方体を正面から見た場合:
私が欲しいもの:
私が得ているもの(誇張):
カメラのFOVをいじってみましたが、役に立ちませんでした。
これまでの私の試み:
c# - 透視投影
数日前、私は 3D プログラミングを始めようと決心し、透視投影に出会いました。次のコードを使用して行列を取得します。
カメラには次のコードを使用します。
ただし、モデルまたはワールド マトリックスの取得方法がわかりません。また、前のコードに何か問題がありますか?
c++ - ビュースペースの深さの値とndc xyを指定してビュースペースの位置を回復する方法
私は遅延シェーダーを作成しており、gbuffer をより密にパックしようとしています。ただし、ビュー空間の深さを正しく指定すると、ビューの位置を計算できないようです
計算された位置が間違っています。私はまだgbufferに正しい位置を保存していて、それを使ってテストしているので、これを知っています。
input - ターゲットまでの距離に基づく 3D カメラのパン/ズームのスケーリング
Maya、Blender などと同様に、マウスで移動できる 3D ビューポートを備えた DCC のようなツールに取り組んでいます。
数学の一部について助けが必要です。
私が突き止めようとしているポイントは2つあります。1 つ目は、ターゲットまでの距離に基づくドリー速度です。小さいスケール (dist=10^-3 など) ではドリーが速すぎ、大きなスケール (dist=10^6 など) ではドリーが遅すぎます。エフェクト全体をスケーリングするフラットな「カメラ速度」入力が欲しいのですが、すべてのスケールでカメラは同じように感じられるはずです。0.1 ユニット離れているか 1000 ユニット離れているかは関係ありません。特定のマウス デルタに対して同じ速度でターゲットに近づいているように感じられるはずです。
もう 1 つはカメラのパンニングで、これもカメラの距離に基づいています。事実上、カメラのターゲットがマウス カーソルを、カメラとdistance_to_target
離れた単位に位置合わせされた平面に沿って完全に追跡するようにします。遠近法の歪みがこれに影響するかどうかはわかりませんか?
入力は次のとおりです。
通常、私は経験的にこのようなことを行い、好きなものが見つかるまでさまざまな値を試しますが、そのためには理論を試す時が来たと思います.
matlab - ポーズ推定
あなたの助けを借りて、私はCvPositを使用してカメラのポーズを推定することができました(このリンクhttp://www.aforgenet.com/articles/posit/を使用)。私はMATLABコードを使用しています。
今、私は画像座標に3Dポイントを投影することによって、そのポーズを確認しようとしています。詳細は以下のとおりです。
キューブのイメージポイントとワールドポイントは次のとおりです。
/li>得られたポーズは次のとおりです。
私の例では、焦点距離として640を使用しました。このポーズから、3Dポイントを使用して投影し直して、2Dイメージポイントを取得します。理想的には、私は同じ点を取得する必要があります。しかし、私はそれを得ることができません。私はMATLABで次の方法を使用しています。
まあ言ってみれば
P = [28;28;28;28;1] % 4 X 1 matrix for a 3D point
取得
x = 15251
しy = 27447
ます。ここで何が間違っているのかわかりません。私を助けてください!!
c - OpenCV の 2 点間の距離
道路上で前に車がある場合のように、2 点間の実際の距離を測定したいのですが、私と車の間の距離は?
私はこのように進めました:
1)上面図を取得するための透視変換を見つけました。
2) 次に、距離を見つけようとしました。
問題は、適切な上面図を取得できないことです。
代わりの方法があれば教えてください。
webgl - three.js を使用して、近距離場と遠距離場の間のシーンにビューポートを配置できますか
three.jsを使用して達成しようとしていることが可能かどうかはわかりません
私が目指しているのは、ビューポートを錐台内に配置することです。ビューポートとカメラの間にオブジェクトが表示される 3D 環境を作成したいと考えています。したがって、カメラを動かすと、オブジェクトが画面の前で 3D でレンダリングされているように見えます。つまり、生成された視差により、物が動くと画面から投影されたような印象を与えます。
私はそれを行う方法を見つけることができません。何年も前にフラッシュでやったと確信しています。three.jsとwebGLを試してみようと思いました。
c - 透視図の座標系を設定しますか?
錐台表示システムの背後にある概念を理解しています。ピラミッドのような形をしており、オブジェクトが中央に近づくにつれて、最終的に切り取られるまで小さくなります。ただし、OpenGL(ヘッドアップ:非推奨の機能は使用しません)などの表示投影を使用する場合は、次のように座標系を設定します。
オルソ例(左、右、下、上、近く、遠く);
それはすべて問題ありませんが、視点に関して言えば、物事は少し奇妙になります。
PerspectiveExample(field_of_view_y、aspect、near、far);
このような機能で座標系を設定するにはどうすればよいですか?!?左、右、下、上などを指定することはできません。遠近法は錐台投影のバリエーションにすぎないことを私は知っています...
c - Z 座標 (OpenGL) を変更するとオブジェクトが表示されませんか?
OpenGL でレンダリングするときに問題が発生します。すべて正常に表示されますが、Z 座標を変更するまでは、クリップされて表示されなくなります。それが起こっていることですか?透視投影マトリックスの設定が間違っていますか? 私は困惑しています...
私のレンダリング コードの関連ビット (mat4_
関数は外部ライブラリであり、GL の友人に似ています)。
また、正方向と負方向の両方で翻訳を試みたことにも注意してください。