Opengl 矩阵乘法到仅1轴的镜像平移和旋转?

Opengl 矩阵乘法到仅1轴的镜像平移和旋转?,opengl,matrix,graphics,matrix-multiplication,Opengl,Matrix,Graphics,Matrix Multiplication,我将OpenGL与其他库一起使用。此库将提供投影矩阵,我无法修改它。我必须只提供ModelViewMatrix 然而,奇怪的事情发生了。只有y轴平移和旋转是反转的 例如,如果我在ModelViewMatrix中增加x平移,那么对象将向右移动。(正x方向),但在y轴上它是反向的。我想让它走另一条路 y轴上的旋转也发生了逆转。这是一种相反的旋转方式 我无法在ProjectionMatrix上修复它,所以我想我可能需要将ModelViewMatrix与可以反转一个轴的东西相乘,然后再将其发送到库中。你

我将OpenGL与其他库一起使用。此库将提供投影矩阵,我无法修改它。我必须只提供ModelViewMatrix

然而,奇怪的事情发生了。只有y轴平移和旋转是反转的

例如,如果我在ModelViewMatrix中增加x平移,那么对象将向右移动。(正x方向),但在y轴上它是反向的。我想让它走另一条路

y轴上的旋转也发生了逆转。这是一种相反的旋转方式


我无法在ProjectionMatrix上修复它,所以我想我可能需要将ModelViewMatrix与可以反转一个轴的东西相乘,然后再将其发送到库中。你知道吗?可以反转一个轴的矩阵?

它只是一个包含元素的矩阵
[1,0,0,0][0,-1,0,0][0,0,1,0][0,0,0,1]

换句话说,第二个对角线元素为负数的单位矩阵。

注意,这将创建原始的“镜像”(使用XZ平面镜像,与缩放(1,-1,1)相同)。如果模型具有反转的Y坐标,这很好,但如果只有摄影机位于错误的一侧,则可能需要180度旋转。