Как использовать акселерометр, данные CMMotion для определения точки в 3D-пространстве?

Я создаю приложение. В котором будет размещаться iPhone (для него сделан отдельный чехол) с клюшкой для гольфа(ракеткой). Я хочу получить массив точек, указывающих путь движения ракетки.

Например, я начинаю собирать данные, когда ракетка находится на земле. После этого пользователь готовится к выстрелу. Итак, он возьмет ракетку за заднюю сторону, а затем нанесет удар, переместив ракетку вперед. Я хочу поймать все эти точки в 3D и отобразить их на экране (2D-проекция). Я видел много похожих вопросов, акселерометр, документы фреймворка CMMotion. Но не мог найти способ сделать это.

Надеюсь, я правильно объяснил вопрос. Можете ли вы предложить мне какую-нибудь формулу или как обработать данные для ее достижения?

Заранее спасибо.


person Apurv    schedule 23.02.2012    source источник
comment
Это немного «большой» вопрос, то есть слишком широкий. Для начала разбейте его на простые, решаемые задачи.   -  person Widor    schedule 23.02.2012
comment
@Видор Спасибо. Я хочу преобразовать показания в физические точки в трехмерный мир. Можете ли вы предложить какую-либо точку запуска для него?   -  person Apurv    schedule 23.02.2012
comment
Ну, я не знаю, что вы уже пробовали, поэтому я буду резать в темноте. Первым шагом для меня было бы получить в свои руки инструменты разработчика iOS.   -  person Widor    schedule 23.02.2012


Ответы (2)


Вы не можете отслеживать эти движения в трехмерном пространстве.

Но вы можете отслеживайте ориентацию ракетки, и это должно работать хорошо.

Я реализовал алгоритм объединения датчиков для платформы Shimmer, а не для тривиальная задача. Я бы использовал Core Motion и не стал бы пытаться создать собственный алгоритм слияния датчиков.

Надеюсь это поможет. Удачи!

person Ali    schedule 23.02.2012
comment
Спасибо Али. +1 за это. Не могли бы вы предоставить мне пример кода или формулы для отслеживания ориентации. - person Apurv; 24.02.2012
comment
@Apurv Извините, я никогда не программировал устройства iOS. Вам не нужна никакая формула, расчет выполняется в Core Motion. В частности, я бы начал с CMAttitude. - person Ali; 24.02.2012
comment
Я тоже приехал в ту же точку. Огромное спасибо за помощь. - person Apurv; 24.02.2012

я попробовал алгоритм объединения датчиков, разработанный Madgwick, но результат на моем устройстве , это похоже на выходные данные CoreMotion Attitude. У меня нет возможности протестировать выходы положения с другого iPhone, но в моем случае проблема заключается в угле рыскания, даже если iphone закреплен на столе, угол рыскания имеет тенденцию быть нестабильным, вероятно, из-за < a href="http://web.resna.org/conference/proceedings/2011/RESNA_ICTA/Quality%20of%20Life/taniviruzzaman-QoL9.pdf" rel="nofollow">различное расположение чипов гироскопа по оси Z< /а>.

person Batti    schedule 24.02.2012
comment
Я бы не использовал рыскание, тангаж и крен. Они нестабильны, и это не вина вашего телефона. - person Ali; 24.02.2012