【问题标题】:Matrix multiplication to mirror translation and rotation of only 1 axis?矩阵乘法到仅 1 个轴的镜像平移和旋转?
【发布时间】:2015-01-28 19:50:22
【问题描述】:

我将 OpenGL 与其他一些库一起使用。这个库将提供投影矩阵,我无法修改它。我只需要提供 ModelViewMatrix。

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

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

y 轴的旋转也反转了。它与应有的方式相反。

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

【问题讨论】:

    标签: opengl matrix graphics matrix-multiplication


    【解决方案1】:

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

    换句话说,第二个对角元素取反的单位矩阵。

    【讨论】:

    • 请注意,这将创建原始图像的“镜像”(使用 XZ 平面进行镜像,与使用 scale(1,-1,1) 相同)。如果模型有反转 Y 坐标,那很好,但如果只是相机在错误的一侧,则可能需要旋转 180 度。
    猜你喜欢
    • 2012-08-11
    • 2012-09-09
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多