Я пытаюсь получить значимую информацию о «ориентации устройства» из значений, которые я читаю из класса CLHeading, который я получаю из обновлений объекта CLLocationManager. Этот класс содержит три значения x, y, z, которые находятся в микротеслах, и, как я понимаю из документов, это вектор, указывающий на магнитный север Земли, с отфильтрованным магнитным смещением устройства. Теперь, что я хочу быть уверенным, в какой системе координат у нас есть эти показания? Являются ли они по отношению к собственной системе координат устройства, которое показано на следующем рисунке:iOS - Интерпретация значений x, y, z CLHeading
, который используется в рамках основной Motion?
Кроме того, есть ли устойчивый, установленный способ, с помощью которого я могу получить векторы оси рамки на картинке выше? Согласно моим показаниям, iOS не предоставляет этого, за исключением «отношения» устройства, которое предоставляется как углы угла наклона (шаг, рыскание, рулон) устройства, которые обновляются с помощью метода startDeviceMotionUpdatesUsingReferenceFrame
базовой схемы ядра. Но я обнаружил, что эти значения угла очень ненадежны, поскольку они флуктуируют, даже когда устройство стоит на месте. Мне нужны данные ориентации устройства как точный насколько возможно, так как я собираюсь использовать данные для калибровки системы камер.
Заранее спасибо.