問題タブ [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.
wpf - WPF 3D - Fit ModelVisual3D into the camera's field of view?
I have a cuboid who's dimensions are imported from XML so i need to be sure that no matter what the size of the model, the camera can always see all of it. This is for preview purposes. I'll likely render a caption over the top showing the scale for clarity.
I think i need some function which will tell me whether the ModelVisual3D fits inside the bounds of the FieldOfView
of the camera or maybe the ViewPort3D itself.
So far i have the static callback (the dimension properties are DependencyProperty
s) when dimensions properties change define as below. It's pretty crude at the moment but you get the idea I'm looking at. The commented out section shows roughly what kind of logic I'm looking for
If anyone knows what should go where the commented-out section is I'd be eternally grateful.
Thanks in advance.
actionscript-3 - ステージセンターを歪めることなくZ軸を中心に回転するフラッシュCS4は可能ですか?
それぞれZ軸を中心に回転する3つのボックスがあります。私がやろうとしているのは、ステージの中心から離しても歪むことなく、それぞれのZ軸を中心に回転させ続けることです。
ここの例http://www.hupcapstudios.com/tween1.swf
次のような組み込みパラメータはありますか...
x軸を中心に回転する方が目立ちます
3d - 透視投影に使用されるカメラの回転
それぞれが複数のポイントを含む複数の 3D ポリゴン (異なる z) として定義された、さまざまな 3D 構造の単純な透視投影を実行しようとしています。構造は、私が定義したさまざまなカメラで見ることができます。これらのカメラは、私のワールド座標の (0,0,z) にワールド カメラ (目) を配置し、look(0,0,0) と up(0,1,0) で定義し、ワールド軸をアルファ ( x 軸について)、ベータ (y について)、およびガンマ (z について)、それによってその特定のカメラのローカル座標系を作成します。[OpenGL でこれを実行できることはわかっていますが、ブラック ボックスを使用するのではなく、自分で実行して理解したいと思います]
グローバル カメラのベースは、ベクトル u、v および w を使用して定義されます。w=(eye-look).normalized =(0,0,1); u=up.cross(w)=(1,0,0) および v=w.cross(u)=(0,1,0)
私は同次座標で作業しているので、u_dashed、v_dashed、w_dashed の変換行列は次のようになります。
T(px,py,pz) = [1,0,0,px;0,1,0,py;0,0,1,pz;0,0,0,1] および R = [u,0; v,0;w,0;0,0,0,1]
すべてをまとめると、
Tr=T(eye-look) x R' x R_zyx x R x T(-(eye-look)) ここで、R' は R の転置であり、R_zyx は結合された順方向回転行列 (ワールド => ローカル座標) です。直交投影行列 (O) に透視変換行列 (P) ( http://www.cs.uu.nl/docs/vakken/gr/Slides/06-projection.pdf ) を掛けて、組み合わせた変換を決定します。
C=O×P×Tr
最後に、proj=(C x 4Dpoint) を実行し、透視分割 (proj.x/proj.w, proj.y,pro.w) を実行します。
または、各カメラの座標、つまり R_zyx x [0;0;z;1] と Rzyx x [ux,vx,wx,0;uy,vy,wy,0; uz,vz,wz,0;0,0,0,0]?
opengl - レイキャスティング:射影行列を適切に適用する方法は?
私は現在、正常に動作する GLSL でのレイキャスティングに取り組んでいます。とにかく、正射影から透視投影に移行したいのですが、適切に行う方法がわかりません。レイキャスティングで射影マトリックスを使用する方法に関する良いリンクはありますか? マトリックスを何に適用する必要があるのか さえわかりません(おそらく、何らかの形でレイの方向に?)。今、私はこのようにしています(疑似コード):
しかし今は、gluPerspective 関数と同様に機能する projMatrix を使用して、アスペクト比、fov、近距離および遠距離の平面を簡単に定義できるようにしたいと考えています。基本的に、誰かが私に同様のプロジェクトマトリックスを設定するためのコードのチャンクを提供できgluProjection
ますか? 次に、それを rayDirection で乗算するのが正しいかどうか教えてください。
xna - 一人称カメラを使用したXNAのテクスチャプリミティブ
そこで、XNAアプリケーションをセットアップしました。カメラは一人称モードであり、ユーザーはキーボードを使用して動き回ったり、マウスでカメラターゲットの位置を変更したりできます。3Dモデルをうまくロードできましたが、画面に問題なく表示されます。プリミティブ(テクスチャ化されているかどうかに関係なく)を描画しようとすると、カメラをどのように配置しても、画面のどこにも表示されません。
Initialize()には、次のものがあります。
LoadContent()には、次のものがあります。
そしてDraw()で私は持っています:
quadEffectプロパティで何か問題が発生していると思いますが、何が原因かよくわかりません。
opengl-es - 半分レンダリングされた正投影シーンの上でOpenGLを遠近法モードに切り替えますか?
正投影モードで実行されるほとんどの2Dゲームがありますが、一部には、他の2Dオブジェクトの間にレンダリングされる3Dモデルが表示されます。遠近法モードに切り替えてそのモデルをレンダリングしてから、元に戻して他のオブジェクトを正投影モードでレンダリングするにはどうすればよいですか?
OpenGLESでどのように行われるかを示すことができれば称賛に値します。
opengl - gluLookAt は glFrustum と一緒にレンダリングを歪めていますか?
gluLookAt
一緒glFrustum
にレンダリングされた画像を歪ませているのではないかと思います。
シーンのレンダリング方法は次のとおりです。
そして、それをレンダリングしたコードがこれです。
InitCamera
一度呼び出され、今理解しているように、原点の2単位上、3単位前の位置から原点に向かって見たかのように、マトリックスを設定する必要があります。またglFrustum
、パースペクティブを作成するためにも使用されます`.
次にTheScene
、実際に絵を描くのは次のとおりです。
赤いボールは、原点とその周囲の赤い円の中心に描画する必要があります。しかし、それを見ると奇妙な感じがし、緑色のボールがまったく中心にないような印象を受けます.
また、ピンクのボールは、楕円としてではなく、完全な円として描画する必要があります。
それで、私は間違っていますか、そして絵は正しく描かれていますか、それとも何か間違った設定をしていますか?
wpf - Viewport3Dでのアニメーション中にWPFがちらつく
作成しているWPFアプリ内で奇妙な動作が発生しています。カメラの位置(PerspectiveCamera.PositionPropertyのPoint3DAnimation)でアニメーションを実行すると、アプリケーション内で非常にひどいちらつきアーティファクトが発生します。3Dレンダリングされたオブジェクトは、特定のフレームで消えるように見え、ウィンドウの背景が透けて見えるようになります。
私のマシンの問題を示すために、以下に非常に簡単なサンプルアプリケーションを作成しました。使用するには、コンパイルし、上下の矢印キーを使用してズームインおよびズームアウトします。この問題は私のマシンでは非常に再現性があります。ズームインまたはズームアウトしようとするたびに、アニメーション中にオブジェクトがちらつき、アニメーションが完了すると再び「ソリッド」になります。
私はWindows732ビットを実行しており、NVIDIAGeForce8600GTを使用しています。ここにいくつかの興味深い詳細があります:
1)ハードウェアに関連しているようです。私はWPFフォーラムに投稿しましたが、1人のユーザーがすべてがうまくいったと答えました。数人の友人に試してもらいましたが、1人は私が経験したのとまったく同じちらつきを報告し、もう1人はすべてがうまくいったと言いました。
2)NVIDIAコントロールパネルを介して垂直同期を強制し、トリプルバッファリングを有効にしても、問題は解決しません。
3)アニメーションの目的のFPSを下げると、問題が大幅に改善されます。必要なフレームレートが低い場合(たとえば、5FPS)、ちらつきは消えます...しかし、アニメーションはひどく見えます。以下に示すサンプルアプリケーションは、クワッドにマッピングされた単一の画像のみを示しているため、処理能力の問題になるとは思われません。
4)この問題は、表示可能なウィンドウの外側にあるポリゴンの頂点に直接関係しているようです。プログラムのcloseDist値を4に設定すると(「ズームイン」した場合でも、オブジェクトがウィンドウ内に完全に収まるように)、ちらつきはありません。ただし、closeDistを大きくすると、「ズームイン」状態で頂点がウィンドウの外側に出る値に到達するとすぐに、ちらつきが発生します。closeDistを大きくすると、ちらつきが徐々に悪化するように見えます。値が9.8の場合(カメラのNearPlaneDistanceがオブジェクトを完全に切断する直前)、ちらつきは最悪です。
面倒なことはありませんが、ここにサンプルコードがあります!
MainWindow.xaml:
MainWindow.xaml.cs:
c# - C#XNA-Matrix.CreatePerspectiveFieldOfView-カメラが認識できる範囲を拡張します
次のコードを使用してカメラをセットアップしています。約100fsの範囲の元素を見ることができます。カメラをもっと遠くに見てほしい。
どうやってするの ?
android - Android 拡張現実 Cameraview が画面座標に変換
現在、独自の拡張現実アプリを開発しています。これまでに見たすべてのフレームワークは GPS データで使用できるため、独自の AR エンジンを作成しようとしています。屋内で使用する予定で、別のシステムから位置データを取得しています。
私がこれまでに持っているものは次のとおりです。
私はその醜いコードを知っていますが、オブジェクト「ベクトル」を取得しようとしているだけで、今のところ私の位置は (0,0,0) です。私の画面サイズは、マトリックス S と B (800x480) にハードコーディングされています。
結果は「変換された」状態で保存され、変換された = {x,y,z,w} のような形式である必要があります。計算には、次のリンクを使用しました: http://www.inf.fu-berlin.de /lehre/WS06/19605_Computergrafik/doku/rossbach_siewert/camera.html
グラフィックがペイントされることがありますが、ジャンプして正しい位置にありません。SensorManager.getOrientation でローリングをログに記録しましたが、問題なく安定しているようです。
だから私は数学を間違ってやっていると思いますが、データを変換するための数学に関するより良い情報源を見つけることができませんでした. 誰か助けてくれませんか?前もって感謝します
マーティン