トピック
yuy(α) studio-reader

3d空間の行列計算

三次元空間ある点を移動、拡大、回転を行いたいのですが、直接入力するとややこしくなるので、行列をかけて計算しようと思い、4x3の行列をまとめてみましたが、まとめた行列の計算方法と、実装方法がわかりません。 どのようにすればよろしいのでしょうか?
2そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
2x2 として、 掛け算 A' = A × B だったら def matmul(d, s) var m[2,2] m[0,0] = d[0,0] * s[0,0] + d[0,1] * s[1,0] m[0,1] = d[0,0] * s[0,1] + d[0,1] * s[1,1] m[1,0] = d[1,0] * s[0,0] + d[1,1] * s[1,0] m[1,1] = d[1,0] * s[0,1] + d[1,1] * s[1,1] return m end var a[4,4], b[4,4] a = matmul(a, b) などとします。並びのイメージは a[0,0] a[0,1] a[1,0] a[1,1]
0そうだね
プレイ済み
返信[2]
親投稿
yuy(α) studio-reader
配列変数ってそんな風にいじれるのですね!勉強になります。 平山尚の「ゲームプログラマ」の本と合わせて見てようやく理解できました!ありがとうございました。 ただ、行列がややこしいのは変わりませんね…
0そうだね
プレイ済み