gpt4 book ai didi

android opengl-es-2.0 - rotateM 解释

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:19 24 4
gpt4 key购买 nike

我从 android opengl es 2.0 开始,我试图掌握这些概念。我写了下面的函数来旋转一个矩形。我已经通过使用方法 rotateM 中的值成功地进行了一些旋转。但是我没有成功对我的矩形进行一些具体的旋转,例如向右旋转 2D 45 度。

基本上我正在盯着 android 引用,它说明了以下内容;

rotateM(float[] m, int mOffset, float a, float x, float y, float z)围绕轴 (x, y, z) 将矩阵 m 原地旋转角度 a(以度为单位)。

现在我明白了我们提供了一个模型矩阵,这个矩阵中的一个偏移量和角度旋转,但是为什么我们必须提供 xyz - 轴分量,这些值到底有什么作用?

希望有人能给我一个关于 rotateM 方法的明确解释,在此先感谢!

private void positionRectangleInScene() {
setIdentityM(modelMatrix, 0);

rotateM(
modelMatrix, // m : source matrix
0, // mOffset : index into m where the matrix starts
0f, // a : angle ato rotate in degrees
1f, // x : x-axis component
1f, // y : y-axis component
1f); // z : z-axis component

multiplyMM(
modelViewProjectionMatrix, 0,
viewProjectionMatrix, 0,
modelMatrix, 0);
}

最佳答案

xyz 值表示旋转轴。例如,绕 y 轴的旋转将指定为 (m,0,angle,0,1,0)。您指定为 (1,1,1) 的内容表示您将围绕所有 3 个轴旋转,这不是典型用法。

关于android opengl-es-2.0 - rotateM 解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22114808/

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