2016-02-01 26 views
3

为什么System.Numerics namespace定义类型Matrix3x2和Matrix4x4,但不提供2x2或3x3矩阵?这些至少是有用的。为什么只有Matrix3x2和Matrix4x4?

+0

我认为3x2和4x4矩阵经常出现在图形编程环境中。当然,这些类型的许多方法意味着它们的用例主要是坐标转换。 –

+0

因为SIMD/SSE根据[changelog](https://msdn.microsoft.com/en-us/library/ms171868(v = vs.110).aspx),但我不知道这是否是有效的借口(例如,也许CPU支持不同大小的矩阵,不知道)。 – CodeCaster

+2

他们来自Win2D库,微调优化以尝试利用SIMD。博客文章[在这里](http://blogs.msdn.com/b/win2d/archive/2015/06/02/winrt-vector-and-matrix-types-in-windows-10.aspx)。 –

回答

3

(声明:我在System.Numerics库工作在微软)以上

的意见是正确的。我们支持一些固定大小的类型,因为它们在2D和3D图形应用程序中非常常用,可以与核心Windows数字类型以及像Win2D这样的库进行互操作。

在不久的将来,在向库中添加任何新类型之前,我们可能会专注于改进库中的当前类型(通过添加更多更好的SIMD代码生成功能)。