这更多是一个好奇的问题,为什么 MatrixTransform 是这样的,而不是一个真正的问题。

MSDN 给出了 MatrixTransform 的仿射变换矩阵,如下所示:

     m11  m12  0
A := m21  m22  0
     offX offY 1

http://msdn.microsoft.com/en-us/library/system.windows.media.matrixtransform(v=VS.100).aspx

要转换一个点,您可以这样使用它: x' = xTA 。这与我所期望的不同 - x' = Ax ,它使用这个矩阵:
     m11  m12  offX
A := m21  m22  offY
       0    0     1

我意识到这对 MatrixTransform 的实现没有影响,但我想知道这里是否缺少一些见解。有谁知道为什么转换矩阵是这样指定的?

最佳答案

使用矩阵行主要而不是列主要只是一种约定。大多数计算机图形系统都遵循此约定。

关于c# - MatrixTransform 的矩阵看起来转置给我,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4176872/

10-11 13:42