我需要在Objective-C中做矩陣和向量數學。有教程顯示這是如何工作的?數學圖書館能派上用場嗎?如何在Objective-C中做矩陣和向量數學?
回答
自iOS 4.0開始,SDK包含Apple的Accelerate framework,其中包含許多C矩陣和向量函數,這些函數特別針對iOS硬件上的運行進行了優化。
函數名稱和文檔有點神祕,但如果性能特別重要,它可能是您的最佳選擇。
特別是Accelerate框架內的vDSP庫是您在加速矩陣操作方面所需要的:http://developer.apple.com/library/ios/#documentation/Accelerate/Reference/vDSPRef/Reference/ reference.html%23 // apple_ref/doc/uid/TP40009464 – 2011-03-31 20:36:13
除了Ole指出加速矩陣數學的加速框架外,CGAffineTransform和CATransform3D結構都是矩陣(分別爲3x3和4x4)。 Apple提供了輔助函數,用於使用旋轉,縮放等操作這些函數,如果要執行這些類型的轉換,這些函數可能會很有用。
特別是,Apple有一部分Quartz 2D編程指南,他們在那裏他們explain some of the matrix math。
我沒有看到它提到,但GLKit提供了常用於計算機圖形學的數學類型的矢量/矩陣函數。
這些都很好用,很簡單,但我不清楚它們是否是最佳性能。例如是[GLKVector3Normalize](http://developer.apple.com/library/IOs/documentation/GLkit/Reference/GLKVector3/Reference/reference.html#//apple_ref/c/func/GLKVector3Normalize)剛剛做了1.0/sqrtf(運行[快速軟件逼近](http://www.google.com/search?q=0x5f3759df),或者使用硬件指令(假定ARM甚至有一個「x * x + y * y + z * z) rsqrt)? – rickster 2012-09-28 19:47:06
只要最優化,它是內聯的,一些更昂貴的矩陣函數具有'#definition'來切換實現以在構建設備時使用矢量化指令。給你帶有性能的可理解的矩陣/矢量庫。我想所有的東西都是在底層存儲類型範圍內的一個近似值,但是指出Carmack快速方塊給尋找圖書館的人可能在旅途中有點早。 – 2013-10-11 16:55:03
YCMatrix爲OS X和iOS上的許多Accelerate Framework函數(BLAS,LAPACK和vDSP)提供了一個方便的包裝。
(免責聲明:我是該庫的開發者)
- 1. numpy:如何從矩陣向量構造向量矩陣
- 2. 在R中如何實現向量,矩陣和數據框架?
- 3. 用於向量和矩陣計算的高性能數學庫
- 4. 矩陣向量乘法與hadoop:在不同文件中的向量和矩陣
- 5. 乘以向量和矩陣
- 6. 爲HMATRIX向量和矩陣
- 7. 如何在行數變化時綁定向量和矩陣
- 8. 問題:矩陣,向量和陣列
- 9. Python 3.x中的向量和矩陣
- 10. 專業在向量和矩陣
- 11. 矩陣向量乘法在MPI和C
- 12. 矩陣和向量乘法在libdx
- 13. 向量到矩陣
- 14. 矩陣向量C++
- 15. 矢量數學和矩形
- 16. 如何在MATLAB中將陣列向量轉換爲矩陣
- 17. Matlab 2x2矩陣的陣列和逐元矩陣/向量乘法
- 18. opencv:創建矩陣或向量矩陣
- 19. 將矩陣的列範數計算爲矩陣中的向量
- 20. 如何理解這個矩陣數學
- 21. 如何在python中爲每一對分開做矩陣向量內積?
- 22. 矩陣*向量與向量*矩陣相比意味着什麼
- 23. 在同一個數據包中的矩陣和向量R
- 24. 如何在python中使用矩陣和向量的reduce/lambda函數?
- 25. 向量在Julia中的矩陣
- 26. 把向量在矩陣中的OpenCV
- 27. 如何將stl向量矩陣轉換爲2d陣列矩陣(或1d陣列)
- 28. 數學運算的矩陣
- 29. 向量創建矩陣的向量
- 30. 合併矩陣和向量使用R
注意,新CoreMotion系統,做四元數的heckovalot之類的,給你。這很棒。 – Fattie 2011-04-02 19:42:32