ARAnchor return SIMD 4x4 vector - в чем смысл? - PullRequest
0 голосов
/ 26 сентября 2019

Я работаю с ARAnchor в своем проекте и хочу получить позицию (3D) из этого якоря.

Код:

sceneView.session.currentFrame?.anchors.first?.transform.transpose 

верните мне float4x4 SIMD vector.

Но что означает отдельные значения?

Мой вектор:

[-0.030081563,  0.999284570,   0.022921648,   0.06462159], 
[ 0.574515400, -0.0014799305,  0.8184924,    -0.47270963], 
[ 0.0,          0.0,           0.0,           1.0       ]

1 Ответ

1 голос
/ 26 сентября 2019

Документация Apple гласит:

SIMD обеспечивает поддержку матриц до 4 строк и 4столбцы , содержащие 16 элементов.

Все эти 16 элементов предназначены для предоставления вам перевода , вращения , масштабирование и перекос для осей X, Y и Z (а также проекция ).

Вы можете прочитать этот пост для получения дополнительной подробной информации о матрицах 4x4.

А вот как элементы перевода выглядят в матрице 4x4:

    ┌               ┐
    |  1  0  0  tx  |
    |  0  1  0  ty  |
    |  0  0  1  tz  |
    |  0  0  0  1   |
    └               ┘

Также вы можете прочитать статью в Википедии о транспонированных матрицах.

...