問題タブ [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.
android - Xを中心に回転すると、ロールに影響します。これを排除する方法は?
私はAndroidのTYPE_ROTATION_VECTORセンサーを使用して、x、y、zの周りの回転を決定し、アプリケーションでこれらの測定値を特定の方法で使用しています。しかし、電話をX軸を中心に回転させると、ロール値(Yを中心とした回転)も変化します。そして、私はそれを望んでいません。Xを中心に回転するときのロールの変化を無視するにはどうすればよいですか?これが私のコードの一部です
matlab - MATLAB 適合線を中心とした軸の回転
現在、次の問題に悩まされています。
私は軌道データ(つまり、経度と緯度のデータ)を持っています。これを補間して線形フィッティングを見つけます(matlabでpolyfitとpolyvalを使用)。
私がやりたいのは、x 軸 (経度軸) が最適な線上にあるように軸を回転させることです。したがって、データはこの (回転された) 軸上にあるはずです。
私が試したのは、適合線の傾きから回転行列を評価することです (1 年生の多項式の式の m y=mx+q
) 。
[cos(m) -sin(m);sin(m) cos(m)]
そして、元のデータにこの行列を掛けます...無駄に!
データが期待される x 軸上ではなく、中央にあるプロットを取得し続けます。
私は何が欠けていますか?
助けてくれてありがとう!
よろしくお願いします、
ウィンターミュート
android - 反転回転行列はピッチとロールを交換します
TYPE_ROTATION_VECTORベクトル値から回転行列を取得しました。それを使ってアプリ内のオブジェクトを回転させようとしました。うまくいきました。しかし、私が本当に望んでいるのは、デバイスの移動方向と反対にオブジェクトを回転させることです。たとえば、デバイスがx軸を中心に30度回転しているとします。オブジェクトを、x軸を中心に-30度回転させる必要があります。デバイスの動きに関係なく、オブジェクトがその場所にとどまっているような効果が必要です。そのために、回転ベクトルを反転(転置)しました。これで、x軸とy軸を中心とした回転が完全に正しくなくなり、交換されたように見えます。デバイスをxを中心に回転させると、オブジェクトはyを中心に回転し、その逆も同様です。私のコードの一部:
mObjectGroupは、デバイスが回転したときに回転することになっているモデルです
..。
編集:デバイスをY軸に沿って回転させると、オブジェクトはZ軸を中心に回転し、デバイスをX軸に沿って回転させると、オブジェクトはY軸を中心に回転します
vector - 特定のポイントを中心にD3DXVECTOR3を回転させる
これはおそらく非常に単純なことですが、Direct Xに関する私の知識は、私が達成しようとしていることと同等ではありません。
今のところ、私は地形を動き回る乗り物を作ろうとしています。車両の周囲に正方形(4 D3DXVECTOR3ポイント)を作成して、車両に地形を認識させようとしています。各ポイントは、地形の高さを検出し、それに応じて車両を調整します。
車両は、Microsoftのサンプルコードから派生した単純なオブジェクトです。ワールドマトリックス、座標、回転などがあります。
私が達成しようとしているのは、これらのポイントを車両と一緒に動かし、そのときに回転して、高さの違いを検出できるようにすることです。これには、車両が移動するたびにポイントを更新する必要がありますが、ポイントを適切に回転させる方法を一生理解することはできません。
要約すると、原点(私の車両の座標)を中心にベクトルを回転させる簡単な方法を探しています。
これらのポイントは車両の車輪の近くにあるため、機能した場合は、車両のy軸の回転に関係なくそこに留まります。
これが私が試したことです:
その結果、ポイントが狂ったように回転して制御不能になり、マップを離れました。
BoxPointは、回転しようとしているベクトルを指します。車両はもちろん回転の原点です。RotationYは回転した量です。
これは、この正方形の4つのベクトルのうちの1つのコードですが、1つの書き込みを取得すると、残りはコピーアンドペーストであると想定します。
私が何を試しても、ポイントが動かないか、マップを完全に離れたままスパイラルが制御不能になります。
これが私のオブジェクトクラスのスニペットです
D3DXVec3TransformCoordを使用してこれを行うことが可能かもしれないと思っていました
complexity-theory - 回転する行列の分割統治
この演習の2番目の問題bおよびdのサブ問題を解決しようとしました:http://courses.engr.illinois.edu/cs473/sp2010/homework/hw1.pdf
私はbを次のように解決しました:
私の最初の質問はそれです:私の解決策は問題2 / bに対して正しいですか?私の2番目の質問は、問題2 /dで何をすべきかということです。これは私にとって少し奇妙です。
お手数をおかけしますが、よろしくお願いいたします。
rotation - 3D ポイントを回転させる方法
これはばかげた質問かもしれません。しかし、私は確認したいだけです。3D 点 p (x,y,z) と回転行列 R が与えられた場合、回転 R 後の p の座標は何ですか? R*Pですか?実験を行ったところ、期待どおりの結果が得られないことがわかりました。ありがとう。
python - 3D 剛体の移動と回転の Python 実装
Pythonを使用して次の問題を解決する方法を考え出そうとしています:
- 剛体を形成する点a、b、c、dがあります
- 不明な3D移動と回転がリジッド ボディに適用されています
- a、b、cの座標がわかった
- d の座標を計算したい
私がこれまでに知っていること:
- 「単純な」オイラー角計算でこれを行おうとすることは、ジンバル ロックなどのために悪い考えのように思えます。
したがって、ステップ 4 には変換行列が含まれます。回転行列と平行移動行列がわかれば、次のいずれかを使用すると、この手順は簡単に行えるようになります。
私が解決できないのは、a、b、c の「新しい」座標が与えられた場合に、回転行列と並進行列を計算する方法です。
一般的なケース (非剛体) では、これの回転部分はWahba の問題であることがわかりますが、剛体の場合は、次を使用して一連の直交単位ベクトルを計算することにより、直接計算するより高速な方法があるはずです。ポイント。
java - Java Tetris - 回転行列を使用した回転
私は Java で Tetris を構築しており、線形代数を使用して 4 つのタイルで構成されるピースを回転させようとしています。
私の友人は、その方法を次のように説明していました。
彼は言った:
「明確にするために、各ポイントを回転させる必要があります。つまり、ピース内の各タイルに対して 1 つのポイントを回転させる必要があります。ただし、ピース内の各タイルの 4 つの角ではありません。原点は、一枚の紙と鉛筆をぐるぐる回す..鉛筆がある場所が原点です。」
「つまり、(7,9) (8,9) (9,9), (8,10) にタイルがあるボードに T があり、その原点が (8,9).. である場合。」
だから私は座標 (1, 3) (1, 2) (1, 1) (2, 2)… 原点 (1, 2) でそれをやっています
それから彼は言った:
「タイルを原点に相対的に変換します。つまり、この回転の新しい (0, 0) として原点を扱います。これは、各座標から原点を差し引くだけで簡単で、(7-8, 9-9)、(8-8、9-9)、(9-8、9-9)、(8-8、10-9) または (-1、0) (0、0) (1、0) ) (0, 1)"
各座標から原点 (1, 2) を引きます
(1-1, 3-2) (1-1, 2-2) (1-1, 1-2) (2-1, 2-2) =
(0, 1) (0, 0) (0, -1) (1, 0)
それから彼は言った:
「これまで話してきたように、回転行列の乗算を使用してこれら 4 つの座標を回転させます。」
最後に彼は言った:
「次に、結果の各座標に原点座標を追加すると、4 つの回転したタイル座標が得られます。」
上記の行列から、私は (0, -1) (0, 0) (0, 1) (-1, 0) を持っています. (1+0, 2+0) (1+0, 1+1) (2-1, 2+0) =
回転座標: (0, 3) (1, 2) (1, 2) (1, 2)
しかし、回転した形状を見ると...完全に間違っています:
なぜ何か考えはありますか?
ありがとう!