問題タブ [perspective]

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.

0 投票する
1 に答える
208 参照

opengl - パースペクティブ ピクセル データを取得する OpenGL

さまざまなオブジェクトを含む大きなフィールドの 3D レンダリングを行っています。私のプログラムは、この分野を高い視点から見ています。

上から見たフィールド内の (のみ) 長方形のピクセル データにアクセスする必要があります。フィールドにこの長方形の座標があり、次のことを行いたいと考えています。(a) 目的の長方形に対応するピクセルを見つけます。(b) (理想的には) 対応するピクセル マトリックスをファイルに書き込みます。

これを行う簡単な方法を知っている人はいますか?

0 投票する
4 に答える
17685 参照

java - Eclipseの複数のタブで複数のコンソールを開く方法は?

Java アプリケーションに Eclipse バージョン: Helios Release を使用しています。同じアプリケーションの複数のインスタンスを実行する必要があり、複数のコンソールを簡単に表示できるようにしたいと考えています。

それはできますか?はいの場合、どのように?

0 投票する
1 に答える
4545 参照

3d - 透視投影 - 「カメラ」の背後にあるポイントを投影するにはどうすればよいですか?

Java で独自のソフトウェア ラスタライザーを作成していますが、問題が発生しました...サンプル画像を見てください。

画像

このサンプルは、単純な正方形のグリッドを平面上に描画するだけです。いくつかのポイントが背後に移動するのに十分なほどカメラを近づけるまで、すべてが正常に機能します。その後、ご覧のとおり、それらは正しく投影されなくなります (垂直線 - カメラの後ろにあるはずの点が画面の上に投影されます)。

私の変換行列とベクトルは、DirectX が使用しているものと同じです (投影には PerspectiveFovLH、カメラには LookAtLH)。

次の変換方​​法を使用して、3D ポイントを投影しています。

  1. 変換する 3D ベクトルが作成されます。
  2. ベクトルに ViewProjection 行列を掛けます。
  3. その後、次のメソッドを使用してポイントをスクリーンに変換します。

    /li>

先に言ったように、ポイントがカメラの後ろに移動するまでは問題なく動作します。実際には、ポイントがカメラの後ろにあるときを把握できます (最終的な変換後に Z 値をテストすることにより) が、線やその他の線ベースのオブジェクトを描画しているため、そのポイントをスキップすることはできません。

次に、MSDNの The Direct3D Transformation Pipeline の記事に従って、変換パイプラインを設定してみました。

残念ながら、私もそれで運が良かったわけではありません(同じ結果)。

ありがとうございました。

よろしく、アレックス

0 投票する
2 に答える
1630 参照

opengl - OpenGLでのトランプの「3D」回転 - パースペクティブ?

(Mac OS X、Cocoa、C/C++、OpenGL、多少数学的に難しい。)

Project は、2D ビューのリアルタイム (30fps) ポーカー ゲームです。OpenGL ビューは、glOrtho を使用して正投影用に設定されています。カメラは常にカード/テーブルを直接見下ろしています。これまで、基本的には 2D 画像合成エンジンでした。

私のトランプは事前に構築されたテクスチャ (アルファ付き) であり、次のようにレンダリングされます。

これはうまく機能し、1:1 のピクセル マッピングを提供して高画質を実現します。

質問: OpenGL を使用してカードを (安価に、すばやく) 「反転」または歪ませるにはどうすればよいですか? 回転部分は難しくないのですが、遠近感が苦手です。

具体的には、iPhone アプリケーション (音楽など) での UIView の水平反転アクションを念頭に置いています。UIView は、水平方向に縮小して反転するように見え、遠近感があります(ビューの「後方」座標は垂直方向に縮小します)。

助けやヒントをありがとう。

0 投票する
1 に答える
3755 参照

php - GDによる透視変換

PHP GDライブラリのみを使用して画像に遠近法変換を適用するにはどうすればよい ですか?

他の人が作った機能を使いたくない何が起こっているのか理解したい

0 投票する
1 に答える
984 参照

opencv - 画像内の実際の正方形を認識する方法

画像の正方形の検出にOpenCVを使用しています。squares.cの例は非常に役立ちますが、私の問題は、90度に近い4つの角を持つほとんどすべてを認識することです。

ただし、私の目標は、ビデオフィードからの画像内の実際の正方形のみを認識することです。これは、オブジェクト自体が同じ長さと4、90度の角度を持つ4つのエッジを持っていることを意味します。これは最初はかなり簡単に聞こえますが、画像内でオブジェクトが傾いている可能性があるため、角度は45度から135度の間で変化する可能性があり、エッジの長さは異なります。正方形ではない長方形をまだ認識しているのに、これらの属性をチェックすると。

私は数日間だけ実際の正方形を認識するための良い解決策を考えていましたが、私が思いついたものはすべてまだ欠陥があります。角の角度とエッジの長さの正確な関係を知っている人はいないでしょうか。これまでの推測では、かなり遠くまで来ましたが、認識したくないランダムな正方形がポップアップすることがあります。数学的な関係があると思いますが、透視図では正方形の公式を見つけることができません。

どんな助けでも本当にありがたいです!

0 投票する
2 に答える
10203 参照

3d - 遠近法カメラ マトリックスを使用して 3D ポイントを 2D スクリーン スペースに投影する

遠近法カメラ マトリックスを使用して、一連の 3D ポイントを画面に投影しようとしています。私はワールド空間を持っていません (またはそれを恒等行列と見なします)、私のカメラにはカメラ空間がありません (またはそれを恒等行列と見なします)。私はオブジェクト空間に 4x4 行列を持っています。

オブジェクト マトリックスを取得し、次のメソッドで生成されたカメラ パースペクティブ マトリックスを掛けています。

次に、ポイント [x, y, z, 1] を取得し、それを遠近行列とオブジェクト行列の結果の乗算で乗算します。

次の部分は私が混乱している場所です.-1と1、または0と1の範囲内でこれらのポイントを取得する必要があると確信しています.最初の値のセットがある場合、次に、画面座標の x 値と y 値の画面の幅と高さをそれぞれポイントに掛けるか、値に画面の高さ/2 と幅/2 を掛けて、同じ値をそれぞれのポイントに追加します。

これがどのように達成されるか、またはこれのどこで間違っている可能性があるかを段階的に教えていただければ、非常に高く評価されます!! :D

皆さん、よろしくお願いします!

PS恒等/変換マトリックスの例では、私のモデルのマトリックス形式は次のとおりです。

0 投票する
1 に答える
557 参照

3d - ワールド行列とカメラ行列が両方とも恒等行列である場合、それらを省略できますか?

これは、それぞれが恒等行列である場合、ワールドおよびカメラ空間行列の必要性に関する基本的な質問です。2D 投影を計算するときに省略できますか? できると確信していますが、いくつかの 3D ポイントを省略して投影しようとすると奇妙な結果が得られるようですが、これは別の質問に直接リンクしている可能性があるため、質問します。

遠近法カメラ マトリックスを使用して 3D ポイントを 2D スクリーン スペースに投影する

0 投票する
2 に答える
813 参照

opengl - OpenGlボックスフルスクリーン

OpenGLを使用して、ボックスの内側をフルスクリーンで描画したい(つまり、ビューポートを完全に埋める必要があります)。ボックスには遠近法が必要です。

ビューポートのサイズに応じてボックスのサイズを変更する必要があると思いますが、どうすればよいかわかりません。

この画像の部屋のようなものを実現しようとしています

私の質問は、どうすればこれを達成できるかということです。

0 投票する
1 に答える
818 参照

qt - QTを使用して動的ウィジェットパースペクティブを構築するための最良のアプローチは?

テレメトリプロジェクト用に、EclipseIDEと同様の機能のインターフェイスを構築しています。さまざまなウィジェットを表示しますが、それぞれがEclipseIDEの「パースペクティブ」のようにサイズ変更/移動可能/popped_out /popped_in/非表示/「フルスクリーン可能」などである必要があります。

QTを使用する最良のアプローチは何でしょうか?どのクラスを使用しますか?QTのQMainWindow/QDockWidgets / LayoutManagerを使用するか、任意のウィジェットをどこにでも移動できるため、すべてを手動でコーディングするのが最善でしょうか?