問題タブ [rotational-matrices]

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 に答える
876 参照

math - 点と線の間の単位ベクトルを見つけるにはどうすればよいですか?

、、およびの3 つの既知の 3 次元点があります。ABC

さらに、4 番目のポイントがありXます。

Xは、ベクトルがベクトルに対して垂直になるようにベクトル上ABにあります。そうCXABAB · CX = 0

CX の単位ベクトルを求めるにはどうすればよいですか?


ここでの使用例は、原点が A、z 軸が B を通過し、xz 平面が C を通過し、軸が直交している (変換された) 回転行列を構築していることです。

また、自由にドットおよびクロス積関数を提供するベクトル オブジェクトもあります。

0 投票する
3 に答える
8805 参照

android - Android: 関数 remapCoordinateSystem を理解する

私はこれらの2行のコードを理解しようとしています

のドキュメントremapCoordinateSystem()を読みましたが、道に迷っています。

誰かが私に正確に何を説明し、何をすることができますgetRotationMatrixremapCoordinateSystem? 特にSensorManager.AXIS_X, SensorManager.AXIS_MINUS_Z?

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

iphone - Roll、pitch、Yaw、Quaternion、または Rotation Matrix を使用して、CMAttitude から高度と方位角を計算します。

問題が発生しました。iPhoneのCMAttitude情報をAltitude(0~90度)とAzimuth(0~360度)に変換したい。私はグーグルで検索して、それについて議論しているいくつかのスレッドを見つけましたが、肯定的な答えが得られるスレッドはなく、クォータニオンとオイラー角について議論している記事のほとんどは、私の脳に詰め込むには数学が多すぎます!

この作業を簡単にするオープンソースの資料はありますか? または、誰かがこの変換を実行するコードを書いていますか?

編集:まず、抽象的で申し訳ありません!

方位角は、デバイスが向いている地球の表面上の方向です。北 = 0 度、北東 = 45 度、東 = 90 度、南 = 180 度などです。0 度から 360 度までの範囲:

ここに画像の説明を入力

高度は、地球の平面から空のオブジェクトまでの角度です。 ここに画像の説明を入力

ありがとう、

ラージ

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

math - 原点変更前後のカメラの回転/平行移動に基づくポイント位置の決定

これがばかげた質問である場合はお詫びします。私は3Dでの作業に非常に慣れていません。

3x3の回転行列と原点(0,0,0)に基づく平行移動ベクトルを備えたピンホールカメラがいくつかあります。

私が使用しているシステムは、原点を移動してカメラを回転させることができます(ただし、すべてが相互に相対的です)。その結果、各カメラの新しい回転行列と平行移動ベクトルが生成され、アクセスできます。

私の質問は、元の空間に3D位置がある点が与えられた場合、同じカメラ(または複数のカメラ)の新しい回転/移動を使用して、新しい空間にある同じ点の3D位置をどのように計算するのですか?

そして、私が質問している間、そうするためのより効率的な手段はありますか?

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

iphone - glsl シェーダーの Z 軸回転マトリックスの問題

私は最近、OpenGL ES 1.1/2.0 2D パイプラインをゼロからまとめ始めました (iPhone のみ)。このパイプラインは、3D 数学の経験がないエンジニアが使用することを目的としています。

コメント アウトされているのは、正確な結果を生成する X 軸と Y 軸の回転マトリックスです。Z 回転行列は何もしないようです。

頂点シェーダー

これは 2D レンダリング用であり、3D の経験のないエンジニアに渡されるため、MVP マトリックスを渡すことは避けて、基本的なスケール、回転、および移動変数をプッシュすることをお勧めします (10 回目の部分的なマトリックス ライブラリの作成はスキップします)。 )。

マトリックス演算とシェーダーに悩まされるのは久しぶりなので、小さなエラーであることを願っています。

ご協力いただきありがとうございます!

編集/更新:

後処理パスが角度を壊していることに気付きました。

Z 回転がクワッドをスケーリングしているように見えることがわかりました。これは n00b の問題であることを覚えており、調査中です...

安価な一時投影マトリックスがあることを忘れていました

安価なハックですが、Z 回転が硬くなるかどうかはわかりません。

編集#2:

また、オルソの代わりに錐台を使用して、シェーダーの外部で行列を計算しようとしても、どこにも行きませんでした。

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

java - LWJGL - 四元数と変換行列を使用して 6DOF カメラで「ロール」を実装する際の問題

この問題に数週間費やしましたが、適切な解決策が見つからないようで、アドバイスが必要です.

LWJGL/Java を使用して Camera クラスの作成に取り組んでおり、クォータニオンを使用してベアリング (ヨー)、ピッチ、ロールの回転を処理しています。このカメラが 3D 空間で 6 度の動きすべてを処理し、ロールすることを望みます。ベアリング、ピッチ、ロールはすべてクォータニオンです。それらを「変更」四元数に乗算し、そこから変換行列を作成します。それを float バッファーに入れ、モデルビュー マトリックスに回転マトリックスを含むバッファーを掛けます。

ベアリングとピッチの回転は正しく機能しますが、ロールを実装すると問題が発生します。主にZ軸周りの回転(ローリング)がうまくいかないようです。カメラを「回転」させると、ローカル カメラの方向軸ではなく、グローバル Z 軸を中心に回転しているように見えます。通常、クォータニオンを乗算する順序に応じて、3 つのうち 2 つを機能させることができますが、それらを一緒に機能させることはできません。

それらはすべて独立して動作するため、それらを組み合わせて回転行列を構築する方向方法に何か問題があると思います。クラス全体を貼り付けるのに問題があるため、回転に関連するメソッドと宣言を次に示します。

...

Vector3f、Quaternion、Matrix4f はすべて LWJGL クラスであり、カスタムメイドではありません。

私の質問は、ベアリング、ピッチ、ロールを表す 3 つのクォータニオンが与えられた場合、ModelView マトリックスを変更してこれらの回転を正確に表すにはどうすればよいですか?

編集:これは非常に近いと思います。RiverC のコメントの Gist リンクを参照してください。非常に多くの角度で回転した後、回転すると通常の状態に戻る前に、ビューが大きくジャンプします。要点はそこにありますが、まだ少しずれています。

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

android - ROTATION_VECTOR センサーを使用する前に Android センサー値を複製するのはなぜですか?

回転ベクトル センサーを使用するためのいくつかのチュートリアルで、getRotationMatrix で使用する前に mag と accel の値が複製されていることに気付きました。

たとえば、質問のコード: Using getRotationMatrix and getOrientation in Android 2.1

ただし、getRotationMatrix は mag および accel ベクトルを変更しません。したがって、それらを複製するポイントは何ですか? ありがとう

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

opengl - 同じマーカー位置、異なる回転および平行移動行列-OpenCV

私はOpenCVを使用して拡張現実マーカー検出プログラムに取り組んでおり、同じマーカーに対して2つの異なる回転値と平行移動値を取得しています。

3Dモデルは、カメラを少し動かすと、制御なしでこれらの状態を自動的に切り替えます。上記の2つの状況のスクリーンショットを以下に追加します。Image#1を正しいものにしたいと思います。これを修正する方法と場所は?

AndroidのOpenGLESでOpenCVの回転と平行移動のベクトルを使用する方法をフォローしましたか?OpenGLのプロジェクションマトリックスを作成します。元:

画像#1 ここに画像の説明を入力してください

画像#2 ここに画像の説明を入力してください

追加

ティーポットをマーカー面に置く方法を誰かが提案してくれたら嬉しいです。回転行列を編集する必要があることはわかっています。しかし、それを行うための最良の方法は何ですか?

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

wolfram-mathematica - Mathematica で 2 つの積分の和のコードを作成する方法

次の問題をすばやく解決しようとしています。

このコードですぐに答えを得ることができます:

しかし、a と b が既知の定数である次の問題を解決する必要がある場合、このコードをどのように管理すればよいでしょうか?

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

3d - 3D ゲーム エンジン、絶対変換を取得

エンジンに親シーン ノードと子があります。子の変換 (位置、回転、およびスケール) は、親に対して相対的です。
今、私は子供の絶対変換を知りたいです。メイン座標に対する子の相対的な変換を意味します。
何か案は?
編集:問題は、シーン ノードに行列を保存しないことです。私は3つのベクトルしか持っていません。位置、回転、およびスケール。