gpt4 book ai didi

Android Matrix.rotateM 结果为 NaN

转载 作者:搜寻专家 更新时间:2023-11-01 09:13:18 26 4
gpt4 key购买 nike

我正在尝试做一个 Matrix.rotateM();我注意到如果矩阵本身旁边的所有参数都是 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 的值,那么矩阵看起来很好。这是预期的行为吗?还是我做错了什么?

最佳答案

如文档中所述:

Rotates matrix m in place by angle a (in degrees) around the axis (x, y, z)

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

关于Android Matrix.rotateM 结果为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6635264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com