【问题标题】:What kind of matrix transformation can be in this code?这段代码可以进行什么样的矩阵变换?
【发布时间】:2017-08-19 09:51:29
【问题描述】:

这段代码可以进行什么样的矩阵变换?

mat[3][0] += a0.y * mat[0][0] + a0.z * mat[1][0] + a0.x * mat[2][0];
mat[3][1] += a0.y * mat[0][1] + a0.z * mat[1][1] + a0.x * mat[2][1];
mat[3][2] += a0.y * mat[0][2] + a0.z * mat[1][2] + a0.x * mat[2][2];

【问题讨论】:

  • 这个问题不适合这个网站。请提供更多上下文或解释这是一个编程问题。

标签: math matrix


【解决方案1】:

如果mat 是以齐次坐标表示的仿射变换,则这是矢量t 的后平移,其中t = (a0.y, a0.z, a0.x)

/ m00  m01  m02  m03 \     / 1  0  0  a0y \
| m10  m11  m12  m13 |  *  | 0  1  0  a0z |
| m20  m21  m22  m23 |     | 0  0  1  a0x |
\  0    0    0    1  /     \ 0  0  0   1  /

这个表达式的结果正是你在代码中所拥有的。 (注意:为了适应数学中的传统符号,上述表达式中的索引与您的索引相反)。

【讨论】:

    猜你喜欢
    • 2018-02-10
    • 2013-08-18
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2017-07-13
    • 2016-12-24
    • 1970-01-01
    • 2014-10-03
    相关资源
    最近更新 更多