Я создаю мобильное приложение Android для гида с поддержкой GPS, я решил использовать акселерометр и датчик магнитного поля.
Я знаю, что могу использовать матрицу поворота, чтобы найти ориентацию пользователя. Этот пост помог мне понять, что означают значения. Преобразование магнитного поля X, Y , значения Z из устройства в глобальную систему отсчета
Однако я не могу получить матрицу вращения, метод getRotationMatrix (float I, float R, floatgravity, float accel) имеет тип возвращаемого значения boolean, который не является возвращаемым значением float[], которое мне нужно/ожидается. Во-вторых, должны ли параметры I и R быть пустыми массивами с плавающей запятой?
Чтобы уточнить, я хочу получить 2 матрицы, вращение и наклон. У меня есть значения x, y, z как от (акселерометра/гироскопа), так и от магнитометра.
Кто может помочь мне с этим конкретным вопросом, я был бы очень благодарен!
Любое теоретическое/дальнейшее объяснение того, чему соответствует каждое значение матрицы вращения и как их можно использовать для определения того, где пользователь сравнивается с магнитным севером, будет оценено по достоинству!
Вся помощь очень ценится! Я могу опубликовать код, если это поможет людям понять мою проблему
Вот дополнение, я получаю матрицу вращения. Вот мои значения введите здесь описание изображения xyzorientation - значения ускорения магнитное поле - магнитное поле окружающей среды значения поля Ro - это матрица вращения, я должен получать все эти 0 значений. Мой телефон был неподвижен, когда я получил эти значения.
Вся помощь приветствуется. Могут ли эти значения быть правильными?