問題タブ [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.
opengl - OpenGL カスタム レンダリング パイプライン: 遠近法マトリックス
LWJGL で作業して、独自のマトリックスを使用して単純なクワッドを表示しようとしています。私はしばらく探し回っていて、いくつかのパースペクティブ マトリックスの実装を見つけました。特に次の 2 つです。
と:
予想どおり、これらは両方とも同じ効果を提供します(こことここから取得しました、 それぞれ)。問題は、これにモデルビュー行列、次に頂点を掛けてから、x、y、z の各値をその w の値で割ると画面座標が得られることを理解していることです。より具体的には、これらのいずれかにモデルビュー マトリックスを掛けてから頂点 (10, 10, 0, 1) を掛けると、aw=0 になります。それ自体が大きな打撃です。行列が間違っているか、何かが完全に欠落していると結論付けます。私の実際のテスト プログラムでは、カメラの位置が (0,0,0) にあり、回転がない場合でも、頂点が画面に表示されません。正と負の多くの異なる z 値を試して、それが単なるクリッピング プレーンであるかどうかを確認しました。ここで何か不足していますか?
編集: 何度もチェックした後、直面している問題を絞り込みました。最大の問題は、z 軸が指定した範囲 (n から f) に再マッピングされていないように見えることです。オブジェクトを z 軸に沿って移動すると、オブジェクトが少しズームインまたはズームアウトし、範囲 [-1, 1] を超えると存在しなくなります。これも私をより混乱させていると思います。ファー プレーンを 100 に設定し、ニア プレーンを 0.1 に設定すると、それ以外のように動作します。
.net - WPF、3D カメラが正しく回転しない
編集
あ、それともう一つ、ロングティチュートはいいけど、ラティチュートが1.57くらいになったらひっくり返る…
編集作業!
あ、あと一回転すると回転数だけがたまり始めます。各回転後にtempMouseをリセットする必要があると思います。
javascript - three.js 平面内でカメラを回転
アプリにカメラがあります:
関数内のこれらのコードはrender
、キーを押している間、カメラを回転させる必要があります。
カメラは回転しますが、必要な方法ではありません。飛行機の FPS (ファースト パーソン シューティング ゲーム) のようにカメラが回転するようにしてほしい。私が欲しいものを理解するために写真を見てください...
私は使用しようとしてsin(1)
いますが、cos(1)
どのように機能するか理解できません.機能は魅力のように機能し、彼女が見ている方向にカメラを動かします. PSこれはおそらくそれが役立つ
ドキュメントです。
キーボード イベントを処理するには、KeyboardJS を使用
します。関数は次のとおりです。 rotateOnAxis
translate
three.js
degInRad
JSFiddle のリンク
O
- カメラの位置
O-O1
- 現在のカメラの方向
R1
- 現在の回転方向
R
- 望む方向良い写真
で申し訳ありません。
javascript - three.jsでオブジェクトを投影面に平行に移動
マウスを使用して、投影面に平行な平面に沿ってオブジェクトを移動したいと考えています。これは、移動中、選択したオブジェクトとカメラの投影平面 (カメラの位置ではない) の間の距離が一定に保たれなければならないことを意味します。同様の質問がされています: Mouse / Canvas X, Y to Three.js World X, Y, Z、しかし、そことは異なり、 z=0 の平面だけでなく、任意のカメラ角度とカメラ/オブジェクトの位置に対して機能するソリューションが必要です. また、正投影でも機能する必要があります。今、私はフィドルを作成しました
mousemove イベント ハンドラーのコード:
円はマウスの位置に追従していますが、カメラの位置までの距離は一定であるため、実際には球状の動きをしています。正投影カメラに切り替える (クリックする) ときも、期待どおりにマウスの位置に追従しません。
java - AffineTransformで四角形から四角形に変形?
AffineTransform
ある凸四角形から別の凸四角形への変換を保持するにはJavaが不十分ですか?
凸四角形間の変換は、透視変換で完全にカバーされるというのは本当ですか?
透視行列には 8 つの要素がありますが、Java には 6 つの要素があります。これは、ここでは係数が不十分であることを意味しますか?
これは、ユーザーが四角形の角をドラッグして、四角形のコンテンツをそれに応じて変換する GUI をコーディングできないことを意味しますか?
どうすればいいの?
java - Javaでの複雑な形状(円、ベジエ曲線、コントロール)の完全な変換(アフィン+パースペクティブ)?
9x9 マトリックスによる全範囲の変換をサポートする Java ライブラリはどれですか?つまり、最後の行も役割を果たしますか?
Swing
ではない。
Piccolo2D
ではない。
なぜ彼らは、さらに 2 つの double 値を処理することを嫌うのでしょうか?
JavaFX
効果として透視変換をサポートします。これは正しく機能しますか?
アップデート
複雑な形状や GUI コントロール (カスタムのものを含む) を簡単に変換できるベクター グラフィックスに興味があります。
graphics - ベジエ曲線に透視変換を適用するには?
ベジェ コントロール ポイントのみに変換を適用する必要がありますか? これは正しいでしょうか?
それとも修正を加える必要がありますか?
変換は 2D->2D with matrix です
rotation - three.js でのカメラの回転の問題
three.js を使用してチューブ ジオメトリを作成し、ラジオ ボタンをクリックしてカメラを特定の角度に回転させる機能を備えています。カメラを回転させるために、以下のコードを使用してみました:
効果はありません。しかし、最初に自動回転更新をfalseに設定して同じコードを使用すると、機能します
rotationAutoUpdate を false に設定する際の問題は、回転が設定されると、マウス イベントでチューブを回転させようとすると、回転機能全体が台無しになることです。そして、もう一度trueに設定しようとすると、上記の必要な回転効果が表示されません。
私が何か間違ったことをしている場合、または何かを見逃している場合は、提案してください。ありがとう