こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

3dの行列計算とは何ができるのですか?

移動と拡大縮小と回転を一括で制御すると言われてもよくわかりません。

かんたんな概念を理解できる図はないでしょうか?

投稿日時 - 2019-08-04 07:45:10

QNo.9642240

困ってます

質問者が選んだベストアンサー

回答No.1の者です。

「もう少し砕いた説明」と言われても、ここでは回答に行列を書くのも難しいですし、質問者さんがどれくらいの知識を持っているかも回答者には分かりません。
理解するには今だと大学初等レベルの数学(線形代数)が必要です。
たとえば、2×2の行列同士の積を手で計算したことはありますか?
http://ailaby.com/rotate_vec/にある図と説明を見て理解できますか?

投稿日時 - 2019-08-04 18:18:04

補足

わからないですね

投稿日時 - 2019-08-04 20:26:13

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

(拡大/縮小する行列)×(元座標のベクトル)を計算すると、原点を基準とした拡大/縮小後の座標のベクトルを求めることができます。
同じように、(回転する行列)×(元座標のベクトル)を計算すると、原点を基準とした回転後の座標のベクトルを求めることができます。

拡大/縮小した後に回転する計算は
(回転する行列) × ((拡大/縮小する行列)×(元座標のベクトル))
となりますが、ここで計算順序を変えて
((回転する行列)×(拡大/縮小する行列)) × (元座標のベクトル)
とすると
(拡大/縮小と回転を行う行列) × (元座標のベクトル)
と変形することが可能です。
これで、拡大/縮小と回転の両方をまとめて行える行列ができました。

平行移動は簡単には行列演算ではなくて(元座標のベクトル)+(移動量のベクトル)になるのですが、これもちょっと工夫することによって行列の乗算に変換することができます。あとは上の例と同じように他の操作を行う行列と平行移動の行列を乗算して、複数の操作をまとめて行う行列を作ることが可能になります。

投稿日時 - 2019-08-04 08:59:34

補足

ありがとうございます。
もう少し砕いた説明などないでしょうか。

投稿日時 - 2019-08-04 11:53:35

あなたにオススメの質問