毎度お世話になっております。
いつもはポリゴンを回転させる時は下記のようなプログラムを使用しています
RAngle.x += Rotx;
RAngle.y += Roty;
RAngle.z += Rotz;
MATRIX TransformMatrix;
// 回転( x, y, z軸回転の順 )+座標移動行列の作成
TransformMatrix = MGetRotX(RAngle.x);
TransformMatrix = MMult(TransformMatrix, MGetRotY(RAngle.y));
TransformMatrix = MMult(TransformMatrix, MGetRotZ(RAngle.z));
TransformMatrix = MMult(TransformMatrix, MGetTranslate(VGet(X, Y, Z)));
// 行列を使ってワールド座標を算出
//TZに数値が入っていると回転し出す
Vertex[0].pos = VTransform(VGet(-ImgSizeX, ImgSizeY, 0.0f), TransformMatrix);
Vertex[1].pos = VTransform(VGet(ImgSizeX, ImgSizeY, 0.0f), TransformMatrix);
Vertex[2].pos = VTransform(VGet(-ImgSizeX, -ImgSizeY, 0.0f), TransformMatrix);
Vertex[3].pos = VTransform(VGet(ImgSizeX, -ImgSizeY, 0.0f), TransformMatrix);
Vertex[4].pos = Vertex[2].pos;
Vertex[5].pos = Vertex[1].pos;
// 行列を使って法線を算出
Vertex[0].norm = VTransformSR(VGet(0.0f, 0.0f, -1.0f), TransformMatrix);
Vertex[1].norm = Vertex[0].norm;
Vertex[2].norm = Vertex[0].norm;
Vertex[3].norm = Vertex[0].norm;
Vertex[4].norm = Vertex[0].norm;
Vertex[5].norm = Vertex[0].norm;
この場合描画するポリゴンが四角形で中心座標が決まっている場合が多いです
今回は三角形でランダムに選ばれた三点の座標から直接三角形を描画する事になったのですが
この場合中心座標が分からず上記のような方法では回転させられずに困っています。
三点の中心の座標を求める方法かもしくは中心座標が分からずとも上記のように画像を回転させられる方法はありますでしょうか?