【发布时间】:2019-09-13 09:55:31
【问题描述】:
我正在尝试用 c# 制作一个小 GUI 库,但在对矩阵转换进行了一些研究后,我发现我需要一个 Matrix3x3 来存储 Vector2 的旋转、缩放和平移。但是在 C# System.Numerics 中只有 Matrix3x2 还是 Matrix4x4?我可以用其中一种来代替吗?如果是这样,我会怎么做?为什么标准库中没有 Matrix3x3?
我对矩阵和向量编程非常陌生,如果这是一个愚蠢的问题,我很抱歉。
提前致谢。
【问题讨论】:
-
List
- > 或 List
-
您可能正在寻找 3x3 的 System.Drawing2D.Matrix。 - 还有System.Drawing.ColorMatrix,也就是5x5。 - 或者看看Math.NET
-
@Taw 我无法访问 System.Drawing2D 命名空间,我在 mac 上使用 Dotnet
-
您确实需要将其添加到问题和标签中!
-
抱歉这么晚了,但 Matrix3x2 不是 Matrix3x3 的原因是因为齐次坐标和线性使得第 3 列总是 (0 0 1),所以它没有被存储。那么为什么不是 Matrix4x3?当您进行 3d 投影时,最后一列会发挥作用。