11
votes

Comment faire matrice et vecteur mathématiques dans l'objectif-c?

J'ai besoin de faire matrice et de mathématiques vectorielles dans l'objectif-c. Y a-t-il des tutoriels qui montrent comment cela fonctionne? Y a-t-il des bibliothèques de mathématiques qui sont utiles?


1 commentaires

Notez que le nouveau système Coremotion, fait un heckovalot de quaternions et similaires, pour vous. C'est bien.


4 Réponses :



2
votes

Outre le cadre d'accélération que OLE pointe pour une matrice accélérée Math, les structures CGAFFITIONNESFORMES et CATRANSFORM3D sont des matrices (3x3 et 4x4, respectivement). Apple fournit des fonctions d'aide à la manipulation de ceux-ci à l'aide de la rotation, de la mise à l'échelle, etc., qui peut être utile si vous souhaitez effectuer ce type de transformation.

En particulier, Apple a une section du guide de programmation de quartz 2D où ils Expliquez une partie de la matrice Math .


0 commentaires

3
votes

2 commentaires

Celles-ci sont agréables et simples à utiliser, mais je ne suis pas claire sur le point de savoir s'ils sont optimaux pour la performance. par exemple. est GLKVector3normaliser juste faire 1.0 / sqrtf (x * x + y * y + z * z) , exécutant un approximation du logiciel rapide ou à l'aide d'une instruction matérielle (le bras présumant a même un RSQRT)?


En ce qui concerne l'optimisme, il est en ligne et quelques-unes des fonctions matricielles les plus chères ont #defines pour changer de mise en œuvre pour utiliser des instructions vectorisées lors de la construction de l'appareil. Vous donne une matrice compréhensible / vecteur lib avec performance. Je suppose que tout est une approximation dans les limites du type de stockage sous-jacent, mais soulignant Carmack Fast Places à une personne à la recherche d'une bibliothèque pourrait être un peu tôt dans le voyage.



0
votes

YCMatrix fournit une emballage pratique pour de nombreux fonctions d'accélération du cadre (Blas, Lapack et VDSP), à la fois sur OS X et iOS.

(Disclaimer: Je suis le développeur de cette bibliothèque)


0 commentaires