2016-02-01 25 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代碼生成功能)。