
こんにちは、私は今DirectXを使って物理シミュレーションを行おうとしております。
そこで物体を任意軸回転させて表示したいのですが、どういった方法を用いれば実現できますか?
http://marupeke296.com/DXGSmp_No10_Quaternion.html
このサイトで解説されているようにクォータニオンを使うのでしょうか?
ただこのサイトで示されているサンプルでは、玉ひとつひとつが回転しているわけではなく、位置がある軸に関して回転させた位置へ「並進させる」ということを行っています。
私は物体を回転させるときに、任意軸回転を使いたいなと思っています。
--
D3DXMatrixRotationX(&Rot_X, angle);
D3DXMatrixMultiply(&World, &World, &Rot_X);
--
以上はX軸回転を行う行列をワールド座標変換行列に掛けるコマンドですが、この勢いで任意軸回転行列を作成・掛けるといったことはできますか?
知識が足りなく稚拙な表現で申し訳ありませんが・・・
任意軸回転をXYZ軸回転の組み合わせに分解できれば
D3DXMatrixRotationX(YやZ)とD3DXMatrixMultiply関数のみを使って簡単にできちゃうのですがそのような数学的手法は存在しますか?
それとも、任意軸回転関数を自前で既に作ってあるので
D3DXMATRIX型の変数にその値を手動で注入(構造体の中身を知る必要あり)、D3DXMatrixMultiply関数で掛けるといった操作でいけちゃうでしょうか?
あとでちょっとやってみます。すみません。しかしD3DX~系の用意された関数の域を出て気持ちよくはないですが。
No.2ベストアンサー
- 回答日時:
D3DXMatrixRotationAxis で任意軸回転できるのでそれでどうでしょうか。
No.1
- 回答日時:
任意軸回転というのは、任意の方向を向いた軸を中心に回転する、という意味でしょうか?
これをX,Y,Z軸を中心とした回転に分解するには、ベクトルの考え方を使います。
(けっこう難しいので、次のページにふってしまいます。)
http://hooktail.sub.jp/mechanics/infinitesimalRo …
foomufoomu様、ご回答ありがとうございます。
無限小回転でXYZに分解する・・・ですかーーー
チャンスがあれば挑んでみます。ご紹介ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
3次元空間上の2つの座標から...
-
シーケンサー(PLC?)で制...
-
最小二乗平面
-
閉図形の座標の配列が右回りか...
-
C言語で制作するピラミッドアー...
-
ワード上Shapeの位置情報を統一...
-
座標を結んだ線分の交差
-
c言語でキーボードから2点の座...
-
ダイアログ内コントロールの位...
-
求積表の計算方法
-
マインクラフト(pc版)で座標...
-
正規表現の書き方(座標関係)
-
座標
-
簡単なペイントソフトを作って...
-
回転する矩形同士の当たり判定...
-
C言語での開発環境での線の扱い方
-
OpenCvSharp4による画像判定解...
-
c++でのプログラミングについて
-
visualbasic でform上に正三角...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
c言語でキーボードから2点の座...
-
3次元空間上の2つの座標から...
-
ワード上Shapeの位置情報を統一...
-
シーケンサー(PLC?)で制...
-
多角形の内部かどうか判定する方法
-
Excel VBA で自在に図形を変化...
-
ガウシアンフィルタのCプログラム
-
エクセルで回転する座標の出し方
-
エクセルである点からの距離で...
-
選択範囲の座標値の抽出
-
ダイアログ内コントロールの位...
-
y=x^2の座標をプロットするプロ...
-
有限要素法について教えてください
-
有限要素法(FEM)について教え...
-
C言語 配列で座標
-
PanelとCanvasの違いについて
-
タッチパッドのタッチ座標取得
-
アクセスのセルの数え方。
おすすめ情報