Вычислить высоту и азимут из CMAttitude, используя либо крен, тангаж и рыскание, либо кватернион, либо матрицу вращения

У меня возникла проблема. Я хочу преобразовать информацию CMAttitude iPhone в высоту (от 0 до 90 градусов) и азимут (от 0 до 360 градусов). Я погуглил и нажал несколько тем, которые обсуждают это, но ни одна из веток не дает положительного ответа, и большинство статей, обсуждающих кватернион и углы Эйлера, - это слишком много математики, чтобы запихивать в мой мозг!

Есть ли какой-нибудь открытый исходный материал, который упрощает эту задачу? Или кто-то написал код для выполнения этого преобразования?

Изменить: Во-первых, извините за такую ​​абстрактность!

Азимут - это направление на поверхности земли, на которое указывает устройство. Например, север = 0 градусов, северо-восток = 45 градусов, восток = 90 градусов, юг = 180 градусов и так далее. Диапазон от 0 до 360 градусов:

enter image description here

Высота - это угол между плоскостью земли и объектом в небе: enter image description here

Спасибо,

Радж

6
задан Raj Pawan Gumdal 28 April 2011 в 05:31
поделиться