所有
使用下面的代码我的四位移动位置。但是,我不希望这种情况发生,我所追求的只是旋转中心的移动。
有没有人有任何想法?
注意,如果我在旋转之前放置一个平移功能,它就没有任何效果。
任何帮助将不胜感激。感谢。
Matrix.setIdentityM(mRotationMatrix, 0);
Matrix.setRotateM(mRotationMatrix, 0, 45, 0, 0, 0.1f);
Matrix.translateM(mRotationMatrix, 0, quadCenterX, quadCenterY, 0f);
// Combine the rotation matrix with the projection and camera view
Matrix.multiplyMM(mvpMatrix2, 0, mvpMatrix, 0, mRotationMatrix, 0);
答案 0 :(得分:3)
围绕不同的旋转中心旋转:
Matrix.setIdentityM(mRotationMatrix, 0);
Matrix.translateM(mRotationMatrix, 0, quadCenterX, quadCenterY, 0f);
Matrix.rotateM(mRotationMatrix, 0, 45, 0, 0, 0.1f);
Matrix.translateM(mRotationMatrix, 0, -quadCenterX, -quadCenterY, 0f);
请注意,您必须使用rotateM
而不是setRotateM
,因为setRotateM会覆盖之前的Matrix。