• ベストアンサー

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

移動と拡大縮小と回転を一括で制御すると言われてもよくわかりません。 かんたんな概念を理解できる図はないでしょうか?

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

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.2

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

inudaisukidesu
質問者

補足

わからないですね

その他の回答 (1)

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.1

(拡大/縮小する行列)×(元座標のベクトル)を計算すると、原点を基準とした拡大/縮小後の座標のベクトルを求めることができます。 同じように、(回転する行列)×(元座標のベクトル)を計算すると、原点を基準とした回転後の座標のベクトルを求めることができます。 拡大/縮小した後に回転する計算は (回転する行列) × ((拡大/縮小する行列)×(元座標のベクトル)) となりますが、ここで計算順序を変えて ((回転する行列)×(拡大/縮小する行列)) × (元座標のベクトル) とすると (拡大/縮小と回転を行う行列) × (元座標のベクトル) と変形することが可能です。 これで、拡大/縮小と回転の両方をまとめて行える行列ができました。 平行移動は簡単には行列演算ではなくて(元座標のベクトル)+(移動量のベクトル)になるのですが、これもちょっと工夫することによって行列の乗算に変換することができます。あとは上の例と同じように他の操作を行う行列と平行移動の行列を乗算して、複数の操作をまとめて行う行列を作ることが可能になります。

inudaisukidesu
質問者

補足

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

関連するQ&A