問題タブ [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.
javascript - Three.jsの矢印キーを使用して、オブジェクトの周りでカメラを回転させます
各面にいくつかのオブジェクトがある大きな立方体があるとします(Googleマップの立方体http://www.playmapscube.com/に少し似ています)。すべてのオブジェクトを個別に回転させるのではなく、矢印キーを使用してカメラを立方体の周りで回転できるようにしたいと思います。
したがって、左矢印はカメラを左に移動し、立方体は右に曲がります。
全体を見渡してみましたが、キーボードでそれを行うことについては何も見つかりませんでした。
android - 位置単位に関する libgdx の混乱
前日にlibgdxの作業を開始しました。2 つの角が左下と右下にあり、1 つの点が画面の中央上部にあるような三角形を作成したかったのです。遠近法カメラを使用しています。私のコード例は次のとおりです。
OpenGL には単位がないことを読んでいたので、幅を 45 単位にし、それに応じて高さを設定することにしました。アプリケーションを実行すると、三角形が期待どおりに表示されません。画面の幅と高さよりも小さいです。3D の経験はありません。どこが間違っているのか教えてください。スクリーンショットは次のとおりです。
opengl - 透視投影行列: 水平方向の FoV とアスペクト比だけから垂直方向の FoV を計算する方法は?
呼び出し元によって指定された垂直視野とアスペクト比だけで (完全に問題なく) 動作する次の透視投影マトリックスを考えてみましょう。
これをサポートするためにこの関数の本体を拡張するにはどうすればよいでしょうか: 呼び出し元は、垂直 (fovY) または水平 (fovX) の視野を指定できますが、両方とアスペクト比を指定することはできません。この関数は、指定されたアスペクト比と fovX だけから不足している fovY をどのように計算できますか?
math - ルックアット ターゲットに対する OpenGL FPS カメラの動き
私は OpenGL のカメラを持っています。FPS コントローラを追加するまで問題はありませんでした。問題は、基本的な FPS の動作に問題がないことです。カメラは前後左右に移動し、マウス入力によって指定された方向に向かって回転します。問題は、カメラがターゲット位置の横または後ろに移動したときに始まります。このような場合、カメラはローカルの前方、後方、左、右に移動します。方向は現在の前方の視線に基づいて更新されませんが、ターゲットの真正面にある場合と同じままです。例: ターゲット オブジェクトの位置が (0,0,0) で、カメラの位置が (-50) の場合,0,0) (ターゲットの左側) で、カメラがターゲットを見ている場合、前後に移動するにはキーを使用して左右に移動し、後方/前方キーでカメラを横に移動します。カメラの位置を計算するために使用するコードは次のとおりです。
次に、レンダリング ループでカメラの変換を設定します。
lookAt() メソッドはGLM math lib から来ています。いくつかのベクトル (目、中心など) を回転行列で乗算する必要があることは確かですが、どのベクトルかはわかりません。_viewMatrix を _rotationMatrix で乗算しようとしましたが、混乱が生じます。回転計算はここから取得されますが、実際のレンダリングにはプログラム可能なパイプラインを使用します。
更新: lookAtを使用してカメラマトリックスを計算するのではなく、通常の基本的なアプローチを使用する別の方法を追加することで、問題を解決しました。
問題は解決しましたが、ここで紹介した lookAt() メソッドで動作させる方法を知りたいです。
android - LibGDX - OpenGL ES 2.0 を使用した透視カメラ
LibGDX(OpenGL ES 2.0)でパースペクティブ カメラを使用する例は見つかりませんでした。それを開始してrenderメソッドで使用する方法は? どんな助けでも大歓迎です!
wpf - 下向きのPerspectiveCameraWPF
私はWPFのパースペクティブカメラに本当に不満を感じています。それはあらゆる種類の奇妙なことを行い、インターネットで見つけることができるすべてのソリューションが私のために機能していません。
現在私はこのコードを持っています:
三角形があり、下から見ています...でも上から見たいので、カメラのYパラメータの位置を0より大きい値に変更しましたが、突然できなくなりました何でも見る。たとえば、Position = "-500 -1 300"は機能しますが、Position = "-5001300"は機能しなくなります。updirection変数でたくさん遊んだのですが、これを修正できませんでした。
three.js - Three.jsを使用してCombinedCamera.jsを使用しているときに正投影が正確に機能しないのはなぜですか?
私は、CombinedCameraの実際の動作例を見て、インスピレーションを得て、combinedcamera を自分の作品に組み込みました。
しかし、パースペクティブ カメラを使用している間、私のアプリケーションは正常に動作します。
しかし、正投影を使用している同じアプリケーションはまったく機能せず、非常に奇妙に見えます。
私のコードの問題は何ですか? オブジェクトのすべての x、y、z 方向に正投影が必要です。どうやってするか?
javascript - カメラマトリックスワールドを更新するthree.js
カメラに立方体を立方体の画像に投影させようとしています。カメラの内部パラメータと外部パラメータを計算します。射影行列を手動で変更して、カメラの内部行列を更新します。コードは次のとおりです。
しかし、camera.matrixWorldまたはcamera.matrixWorldInverseのいずれかを更新しても、外部パラメーターを更新したい場合は、何らかの理由で何も起こりません。私はこのコードを使用します:
両方を更新しても何も起こりません。私は何を間違っていますか?カメラの外部パラメータを更新するにはどうすればよいですか?
image-processing - 歪んだ画像から取得したピクセルの元の座標を取得する
sourceImageから抽出された4つのコーナーがあります:
これらの4つのコーナーは、次のようにdestinationImageにワープされます。
今私の質問は:
destinationImageから取得したポイントp(x、y)があります。元のsourceImageでこのポイントの座標を取得するにはどうすればよいですか。
つまり、warpPerspectiveMatrixを使用して、getPerspectiveTransformの反対の作業を実行したいと思います。
c++ - 顔画像を形成するための 3D 頭部の透視投影と Z バッファリング
入力: 53490 の 3D ポイントと各ポイント (xyz) と頭の色 (rgb)
出力:特定の位置・方向から見た2D顔画像
プラットフォーム: Matlab C/C++
調査後、実装する手順がわかりました
- 透視投影http://en.wikipedia.org/wiki/3D_projection
- Z-バッファリングhttp://en.wikipedia.org/wiki/Z-buffering
- フォン反射モデルhttp://en.wikipedia.org/wiki/Phong_reflection_model
上記の3つのステップをMatlabで実装しました。ただし、実行には 8 分かかります。2D レンダリングは私のプロジェクトの一部です。5000回後に2Dレンダリング部分を呼び出します。実行時間を1秒以内にしたい。
時間の大部分 (99.9%) が z バッファリングにかかっています。実装は wiki リンクに従って行われます。
Matlab での時間を短縮したり、他のプラットフォームを提案したりできる人はいますか? 上記の手順を理解するためのチュートリアル/デモ リファレンスは役に立ちます。
前もって感謝します