Android Matrix.rotateM导致NaN

Android Matrix.rotateM导致NaN,android,matrix-multiplication,Android,Matrix Multiplication,我想做一个矩阵;我注意到,如果矩阵旁边的所有参数都是0.0f,那么矩阵就会被一些NaN值弄乱 mModelMatrix = new float[16]; Matrix.setIdentityM(mModelMatrix, 0); Matrix.rotateM(mModelMatrix, 0, 0.0f, 0.0f, 0.0f, 0.0f); 结果就是这样的矩阵 [NaN, NaN, NaN, 0.0] [NaN, NaN, NaN, 0.0] [NaN, NaN, NaN, 0.0] [NaN

我想做一个矩阵;我注意到,如果矩阵旁边的所有参数都是0.0f,那么矩阵就会被一些NaN值弄乱

mModelMatrix = new float[16];
Matrix.setIdentityM(mModelMatrix, 0);
Matrix.rotateM(mModelMatrix, 0, 0.0f, 0.0f, 0.0f, 0.0f);
结果就是这样的矩阵

[NaN, NaN, NaN, 0.0]
[NaN, NaN, NaN, 0.0]
[NaN, NaN, NaN, 0.0]
[NaN, NaN, NaN, 1.0]
在旋转之前,矩阵如下所示

[1.0, 0.0, 0.0, 0.0]
[0.0, 1.0, 0.0, 0.0]
[0.0, 0.0, 1.0, 0.0]
[0.0, 0.0, 0.0, 1.0]
但是如果我对Matrix.rotateM()的调用包含的值不是0.0f,那么矩阵看起来很好。这是预期的行为吗?还是我做错了什么?

如文件所述:

将矩阵m原地旋转角度a (以度为单位)绕轴(x、y、z)

您尝试旋转的轴为空。没有办法绕空轴旋转,它只是不知道如何旋转,并且失败了。我通常对x、y或z使用1.0f,对其他2个使用0.0f。这样就可以绕给定的轴旋转