私は拡張現実アプリケーションを構築しており、カメラのヨー、ピッチ、ロールがあります。3D 環境にオブジェクトを配置したいと考えています。ユーザーがクリックすると、カメラが向いている場所 (2D 画面の中心) に 3D ポイントがポップアップし、ユーザーが移動すると、それに応じてポイントが 3D 空間で移動するようにしたいと考えています。カメラの位置は変わらず、向きだけが変わります。この点の 3D 位置を復元する適切な方法はありますか? すべての点がカメラの位置から等距離にあると仮定できます。
これは、2 つの軸 (OpenGL のデフォルトの向き) に対して個別に実行できます。これは、垂直軸の変化に対して機能します。
x = -sin(pitch)
y = cos(pitch)
z = 0
これは、横軸の変更にも機能します。
x = 0
y = -sin(yaw)
z = cos(yaw)
コンバインを次のようにする必要があると考えていました。
x = -sin(pitch)
y = sin(yaw) * cos(pitch)
z = cos(yaw)
それは近いようですが、正確には正しくありません。どんな提案でも大歓迎です!