問題タブ [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.
c# - 3Dオブジェクトの視点
古いアプリの1つをvb6からc#に更新していますが、その過程で、元のプログラマーが設計したカスタムコントロールを再作成する必要があります。コントロールは、長方形または円錐形のオブジェクトの寸法を取得し、オブジェクトのアウトラインスケッチを3D(技術的には2.5Dだと思います)に配置しました。もちろん、コントロールまたはアルゴリズムのコードはどこにもありません。
これについて前もって何も知らなかったので、視点を除いてほとんどすべてが複製されました。私はここで別の答えで見つけたこのコードを使用しています。
最後に助けが必要なのは、視点を左から右に約30度回転させることなので、真っ直ぐ見ているわけではありません。
助けてくれてありがとう。
c# - C# または VB.Net で 3D 変換 (パースペクティブ) を行うにはどうすればよいですか?
私がやろうとしていることは非常に単純に聞こえますが、インターネットのどこにも DotNet でこれを行う方法を見つけたことがなく、これを行うサードパーティのコンポーネントも見つかりませんでした (完全に不要な機能に何千ドルも費やすことなく)。ここに行きます:
チェッカーボード パターンを作成する床タイル (実際の写真) の jpeg があります。dotnet では、写真を回転させてつなぎ合わせ、最終的な画像を jpeg として保存するのは簡単です。
次に、最終的な写真を撮り、「タイル」が一般的な「部屋のシーン」の床に置かれているように見せたいと思います。基本的には 3D パースペクティブを追加して、実際に部屋のシーンにあるかのように見せます。
カーペットで似たようなことをしている Web サイトを次に示しますが、WinForms アプリケーションでこれを行う必要があります 。
基本的に、jpeg の 3D パースペクティブを作成し、それを新しい jpeg として保存する必要があります (その後、一般的な部屋のシーンのオーバーレイを配置できます)。
この一見単純なタスクを実行できるサードパーティの DotNet 画像処理モジュールをどこで入手できるか、誰にもわかりませんか?
eclipse - Eclipse でパースペクティブの名前を変更する
Eclipse でパースペクティブの名前を変更する方法はありますか? 同じプロジェクトで Eclipse の複数のインスタンスを開きたいのですが、タスクバーを見ることでどのインスタンスを使用しているかを正確に知ることができるので、これは役に立ちます。
java - ICustomPerspectiveLayoutでIFolderを最小化する方法
自分の視点で新しいフォルダを作成しました
これらのフォルダに複数のビューを追加しました
パースペクティブが表示されているときに、フォルダーがデフォルトで最小化されるように、作成されたフォルダーを最小化するにはどうすればよいですか?
javascript - ルービックキューブを描くための3Dの基礎
パースペクティブを使用して html キャンバス要素にルービック キューブを描画したいのですが、3D グラフィックスやパースペクティブなどの経験がないため、これを達成するために役立つリソースをすべて探しています。私が見つけた唯一の役立つリンクは、このデモ用です:
android - OpenGLESを使用した任意の解像度のビューポート境界
OpenGLパースペクティブビューについて理解するのに苦労しています。私はたくさんの情報を読みましたが、それは私が求めていることを達成しようとするのに役立ちませんでした。これは、私の3DシーンがすべてのAndroidデバイスの画面全体に表示されていることを確認しています。
これをテストするために、3D空間にクワッドを描画します。これは、最終的にはすべてのコーナーに接触し、デバイスの画面全体に表示されます。次に、このクワッド、または実際にはその座標を使用して、特定のZ距離にあるバウンディングボックスを指定します。これを使用して、ジオメトリを配置し、それらが画面全体に表示されるようにします。画面のサイズが変更されたとき、または別の画面解像度で実行する場合は、このバウンディングボックスとジオメトリを再計算します。静的ジオメトリについては話していませんが、たとえば、画面をボールで埋めたい場合、ボールの大きさや数は関係ありません。重要なのは、画面が塗りつぶされ、冗長性がないことだけです。目に見える錐台の外側のボール。
- ビューポートを指定するときに私が理解している限り、実際にはピクセル値を錐台の境界にバインドします。ウィンドウのピクセルが3Dジオメトリの位置と一致するように正投影ビューを実際に設定できることは知っていますが、これがパースビューでどのように機能するかはわかりません。
- ここでは、ビューポートの幅と高さがnearZにマッピングされると想定しています。したがって、ボールがZ = 1fにある場合、元のサイズになります。
- ボールを画面内にfarZの方向に移動すると、遠近法が機能するようにボールが縮小されます。したがって、たとえばZ = 51fのボールは画面上で小さく表示され、画面全体を埋めるにはより多くのボールが必要になります。
- 今そうするために、私は紫色の境界を探しています
- 実際には、さまざまな錐台サイズ(幅x高さ)で画面全体を埋めるためにこれらの境界が必要ですが、ボールの錐台角度とZ距離は常に同じです。
- これらの紫色の境界を計算するためにtrigを使用できると思います(青い三角形の注を参照)
- 錐台の頂角である錐台の角度を正しくマークしていますか?
- 私がそれについて何かを読んだように見えるので、誰かが緑の1fと-1fの値について詳しく説明できますか?錐台内のジオメトリのサイズを変更するために使用されるスカラーのように見えますか?
私は実際に、任意のAndroidデバイスの任意の解像度/ウィンドウで3D空間内のビューポート境界に対してジオメトリをプログラムで配置できるようにしたいと考えています。
注:私は、任意の解像度で既知の幅x高さのステージ(視覚野)を使用するフラッシュ背景を持っています。これにより、絶対測定またはパーセント測定のいずれかを使用してアセットを簡単に配置/スケーリングできます。このシステムがOpenGLのパースペクティブビューにどのように適用されるかを理解しようとしていると思います。
c# - 4点をxna行列に変換する方法
C#で独自のARライブラリを開発したいと思います。私の問題は次のとおりです。マーカーの4つのコーナーポイントがあり、マーカーに3Dキューブを表示したいのですが(マルチマーカーライブラリです)、xnaの行列を取得する方法がわかりません。
css - 原点から特定の距離にあるオブジェクトの視覚的なサイズを決定します(遠近法を使用)
幅50ピクセルの正方形があるとしましょう。そして、-webkit-perspectiveは1000px*
です。
視聴者から特定の距離で正方形がどのくらいの大きさに見えるか(実際に画面に表示される幅)を決定する式は何ですか?
*
これは、視聴者の位置がポイントから1000pxであることを意味しz=0
ます。
ios - OpenGL ES 2.0:このパースペクティブプロジェクションマトリックスが正しい結果をもたらさないのはなぜですか?
約2日前に、Model-View-Projection( "MVP")マトリックスを明示的に計算して、その動作を理解するためのコードを作成することにしました。それ以来、私が使用している射影行列のせいで、問題が発生しただけです。
iPhoneディスプレイを使用して、次の4つの角の頂点で表される画面中心の正方形を作成します。
OGLES 2.0を使用しているので、MVPをユニフォームとして頂点シェーダーに渡し、次に変換を現在の頂点位置に適用します。
今のところ、MVPを単純化してP行列にしました。以下に示すコードには、2つの射影行列がリストされています。1つ目は標準のパースペクティブ射影行列で、2つ目はオンラインで見つけた明示値射影行列です。
明示的な値マトリックスを使用する場合、正方形は画面の中央に正確な寸法で正確にレンダリングされます。透視投影行列を使用する場合、画面には何も表示されません。透視投影行列によって画面の中心に生成された位置の値を印刷しましたが(screenWidth/2, screenHeight/2, 0)
、それらは膨大です。明示的な値の行列は正しくゼロを生成します。
明示的な値行列は正射影行列だと思います-そうですか?私のフラストレーションは、パースペクティブプロジェクションマトリックスが機能しない理由を理解できないことです。
誰かがこの問題で私を助けてくれたら、私は非常に感謝しています。どうもありがとう。
クリスチャンラウの更新:
更新2
新しいMVPコード:
それでも画面の中心には何も表示されず、画面の中心の変換されたx、y座標はゼロではありません。
更新3
ts
上記のコードで代わりにの転置を使用すると機能します!しかし、正方形はもはや正方形に見えません。アスペクト比が設定されているように見えます。screenHeight/screenWidth
つまり、(短い)画面の幅に平行な長い寸法と、(長い)画面の高さに平行な短い寸法があります。
transpose(ts)
(a)転置が必要な理由と、それが有効な修正であるかどうか、(b)非正方形の次元を正しく修正する方法、および(c)使用するこの追加の行列がどのように適合するかを知りたいです。ビューポート*プロジェクション*ビュー*モデル*ポイントの変換チェーン。
(c)の場合:マトリックスが何をするか、つまり、範囲[-1、1]にどのように変換するかについてのChristianRauによる説明を理解しています。しかし、この追加の作業を別個の変換行列として含めるのは正しいですか、それともMVPチェーンの一部が代わりにこの作業を行う必要がありますか?
これまでの貴重な貢献をしてくれたChristianRauに心から感謝します。
更新4
「tsがどのように適合するか」についての私の質問はばかげていますね。要点は、頂点に画面座標を使用することを選択しているため、マトリックスが必要なだけです。最初から世界空間の座標を使用する場合、この作業は必要ありません。
すべてのあなたの助けをクリスチャンに感謝します、それはかけがえのないものでした:)問題は解決しました。
eclipse - Eclipse で Aptana Perspective が表示されない
Eclipse 13.7 (Indigo) に Aptana Studio 3 プラグイン バージョンをインストールした後、Aptana パースペクティブが表示されません。プラグインはインストールされていますが、Eclipse で aptana パースペクティブを選択できません... Aptana Studio 2 をインストールしているときはすべて問題ありません...