Как сделать матричную и векторную математику в Objective-C?

Мне нужно сделать матричную и векторную математику в Objective-C. Есть ли учебники, которые показывают, как это работает? Нужны ли математические библиотеки?

Ответ 1

Начиная с iOS 4.0, SDK включает Apple Ускорить фреймворк, который содержит ряд матричных и векторных функций C, которые особенно оптимизированы для работы на iOS.

Имена функций и документация являются довольно загадочными, но если производительность особенно важна, это может быть ваш лучший выбор.

Ответ 2

Я не видел, чтобы это упоминалось, но GLKit предоставляет векторные/матричные функции для математических типов, обычно используемых в компьютерной графике.

Ответ 3

В дополнение к структуре Accelerate, которую Оле указывает на ускоренную матричную математику, структуры CGAffineTransform и CATransform3D являются матрицами (соответственно 3x3 и 4x4). Apple предоставляет вспомогательные функции для управления ими с помощью вращения, масштабирования и т.д., Которые могут быть полезны, если вы хотите сделать такие преобразования.

В частности, у Apple есть раздел руководства по 2D-программированию кварца, где они объясняют некоторые из матричной математики.

Ответ 4

YCMatrix обеспечивает удобную оболочку для многих функций Accelerate Framework (BLAS, LAPACK и vDSP), как на OS X, так и на iOS.

(отказ от ответственности: я являюсь разработчиком этой библиотеки)