問題タブ [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.
objective-c - iOS でタッチ入力を使用して 3D オブジェクトを回転させる
私は、指をスワイプするだけで 3D マトリックス (3D オブジェクト) を回転させる必要がある ios アプリケーションに取り組んでいます。回転に使用する方法は
setRotationMatrix(float angle, float x, float y, float z, float *matrix);
ただし、3D マトリックスを正しく回転させるために、タッチの x および y 位置の値を使用する方法がわかりません。これが私が使用しているコードです
-(IBAction)handlePan:(UIPanGestureRecognizer *)認識機能 {
これにより、3D オブジェクトの回転が得られますが、本来あるべきほど自然ではありません。どんな助けでも大歓迎です。ありがとう。
opengl - 回転行列から軸角度を取得するには?
openGL 回転行列からデータを取得する必要があります。同等のオイラー角 (すでに実行済み)、同等の四元数 (実行済みですが、インターネットからコピーしただけ)、および同等の軸角度を取得する必要があります。
回転行列が、特定のベクトルを中心とした特定の角度の単一の回転として表現できるかどうかはわかりません。これらは同等ですか?そうである場合、どうすれば一方を他方から取得できますか?
また、クォータニオンの意味と回転行列の内部をよりよく理解したいと思います。これについて学ぶにはどこに行けばよいですか?
c# - ポイントを中心とした回転
誰かがこれを手伝ってくれますか
静止している3Dオブジェクトを中心に3Dオブジェクトを回転できるようにしたい。ゲームが開始されたらオブジェクトをその場所に描画したいので、動きはありません。その後、ゲームの残りの間、オブジェクトはそこに残ります。
たとえば、3D空間に静止しているオブジェクトXがあるとします。次に、Y1とY2の2つのオブジェクトがあります。これらのオブジェクトは両方とも静止しており、移動できません。3つのオブジェクトはすべて同じx軸とy軸上にあります。Xが(0,0,0)にあり、Y1が(0,0、-50)にあるとしましょう。Y1からY軸を中心に45度の角度でY2を描画したいのですが、Xから同じ距離を保ちます。
誰かがこれを行うための最良の方法を提案できますか?私は次のことを試しましたが、それはオブジェクトをその原点の周りで回転させるだけです。それで、私はそれを世界の起源の周りで回転させなければならないと思いますか?これはどのように行われますか?
math - 回転行列の角度を無効にする
3D モデルを回転させるために使用される Rotation Matrix があるとします。モデルに適用する前に、回転行列のヨーをゼロに設定することは可能ですか?
よろしく、アダム。
android - 磁場を使用して回転行列を計算する
回転行列の値を取得するには、public static boolean getRotationMatrix (float[] R, float[] I, float[] gravity, float[] geomagnetic)
ここに含まれていfloat[] gravity
ます。orientation
との両方Accelerometer
を使用して計算するコードのサンプルを見つけましたMagnetic field
私の質問は:
- 方向の値は回転行列の値ですか?
- いいえの場合、磁気を使用して回転行列の値を取得するためにこのコードを実装するにはどうすればよいですか?分野?
回転行列を取得するには、このコードを使用します
しかし、問題は、これgetRotationMatrixFromVector
がセンサーの未定義と言っていることです。何かアイデアはありますか?
matrix - 平坦化する方法 - 方向余弦行列の軸を無視しますか?
なぜこんにちはタール。3 軸に沿った開始角度がわかっている 3D モデルがあります。これらの角度は、このパターンを使用して方向余弦行列に変換されます (情報はここにあります)。
モデルの向きの更新に対応して、時間の経過とともに新しい角度値が取得されます。これらの新しい値を考慮するために、DCM を次のように更新します。
私が欲しいものと私がそれを行う方法:今、トリッキーな部分です。実際には、回転行列の Y コンポーネントのみが必要です。モデルにモーションを適用するには、モーション ベクトルが空中や地面に落ちないように、モデルを平らにする必要があります。そのためには、単純に回転行列から 3 つの角度を引き戻し、[0 Y 0] の角度で新しい角度を作成します。
私が抱えている問題:回転がモデルに適用されると、DCMが更新されます。モーションが検出されると、フラット化された DCM にモーション ベクトル [0 Yvalue 0] を乗算します (前の説明に従って)。X 成分と Z 成分の瞬間的な回転の値が null または null に近い場合、結果は良好です。しかし、モデルが X と Z が有意な値を持つ状況になるとすぐに、モデルのモーションの「方向」は間違っています。「Yのみ」の状況に戻すローテーションを適用すると、再び良好になります。
何が問題になる可能性がありますか:方向余弦行列が間違っているか、行列を平坦化するために使用する手法が完全に愚かです。
ご協力いただきありがとうございます。これについて手を差し伸べていただければ幸いです。グレッグ。
編集:要求された例
私のモデルには、X、Y、Z の 3 つの軸があります。これは、モデルが静止しているときの XYZ 規則を定義します。開始点 t0 で、モデルを元の構成から t0 の構成に回転させる角度 dAx、dAy、および dAz を知っています。それが気になる場合は、モデルが t0 で静止しているとしましょう。それは問題ではありません。
画像で説明したのと同じように DCM を作成します (静止状態で開始した場合は恒等行列にします)。
時々、回転がモデルに適用されます。これらのローテーションも dAx、dAy、および dAz で構成されます。したがって、古いものと新しく生成されたものを乗算して、回転行列 (DCM) を更新します: newDCM = oldDCM * newanglesDCM. ここで、モデルをグリッド上である点から別の点に移動させたいとしましょう。たとえば、グリッドが道路であると想像してください。モデルが空を向いているか、側面にあるか正面にあるかに関係なく、モーションが同じであることを望みます。つまり、道路の横にあり、空中で上昇したり、地面に飛び込んだりしません。回転行列をそのままにしておくと、[0 Y 0] 回転を適用すると、望ましくない場所に移動します。したがって、DCM をフラット化して、古いオリジナルの XZ フレームを見つけようとします。次に、Y コンポーネントがまだあるので、モデルが通りのどこに移動しているかがわかります。
頭がモデルで、外を歩いているキャラクターを想像してみてください。彼が建物の窓を見て歩く場合、彼は空中を窓のすぐ上まで歩くのではなく、建物の足元まで歩いていきます。それがまさに私がやりたいことです:D
opengl - GL.Rotate と Matrix4.CreateRotationX の異なる出力
さまざまな回転方法 (GL.Rotate、Matrix4.CreateRotationX、および Matrix4.RotateX) を使用して、いくつかの頂点を回転させようとしました。驚いたことに、彼らは異なる出力を出しました。3 つの行列を作成し、それらをコンソールに出力する関数を次に示します。
そして、ここに ToRadians 関数があります
これは正常ですか?結果を同じにするにはどうすればよいですか?
編集:ここに出力があります
android - RotationMatrix.getValues()から特異変数または次数回転を取得します
私はこのチュートリアルを使用しています:http://mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-rotating-dialer/これにより、画像ビューに基づいて回転するダイヤラが得られます。しかし、私は機能を追加することによってそれを拡張しようとしています。ただし、この機能を追加するには、現在のクリック位置を取得する必要があります。ただし、rotationMatrixを使用して画像ビューを回転させるため、ユーザーがクリックした場所を分析するための単一の位置を取得できません。回転行列で見つかった9つの値を、ユーザーが触れた場所を示す1つの変数にクランチする方法はありますか?
android - 360度後に画像の回転を停止します
画像を中心点から一周回転させようとしていますが、回転できるので希望の位置で止められませんが、その後回転を止めたいです360'(1 round)
。
ローテーション方式@
あなたの提案はかなりのものです。
android - rotationMatrix からヨー、ピッチ、ロールを抽出する
rotationMatrix
デバイスの磁力計と加速度計に基づいてを返すセンサー マネージャーがあります。ユーザーのデバイスのヨー ピッチとロールも計算しようとしましたが、ピッチとロールが互いに干渉し、不正確な結果が得られることがわかりました。からデバイスの YAW PITCH と ROLL を抽出する方法はありrotationMatrix
ますか?
編集 以下のブレンダーの回答を解釈しようとしていますが、これには感謝していますが、まだ十分ではありません。次のような回転行列から角度を取得しようとしています:
マトリックスの間違った部分を参照しているかどうかはわかりませんが、思うような結果が得られません。
度で値を取得したいと思っていましたが、奇妙な整数を取得しています。
私の行列は、次のような my から来てsensorManager
います:
デバイスが表を上にしてテーブルに置かれている場合のサンプル マトリックス
答え