Я разрабатываю проект для своего университета, чтобы манипулировать значениями гироскопа / акселерометра, полученными с iPhone 4. Но я застрял с математической проблемой, и я надеюсь, что вы, ребята, сможете мне помочь.
Я приведу пример того, что происходит:
- Ваш iPhone лицевой стороной вверх, и вы двигаете его вверх, по оси Y.
- Ваш iPhone направлен вправо, и вы двигаете егоUP, по оси X на этот раз (так как вы повернули iphone на 90 градусов).
Во второй раз компьютер интерпретирует, что я переместил iphone в ПРАВО, но это неправильно.Я переместил его вверх, но моя ось была повернута, поскольку iphone был направлен вправо.
Что мне нужно?Мне нужен способ, чтобы ВИРТУАЛЬНО перевернуть iphone лицевой стороной вверх (где 3 оси правильные) и дать каждой оси правильное значение движения.
Если iphone повернут на 90 градусов, то я могу легко переключить ось XZи это правильно.Но я хочу, чтобы это работало для любого угла поворота.
Буду очень признателен, если кто-нибудь сможет мне помочь с каким-нибудь псевдо-алгоритмом или математическим описанием того, что делать.
ПРИМЕЧАНИЕ. Мне нужен только способ компенсации всех трех осей с помощью поворота iPhone.
Обновление:
На самом деле мне не нужны точные значения, так как я делаю копарирование графикамежду всеми записями, которые я получаю от гироскопа.Я сделаю это яснее.
-> Вы рисуете ПИСЬМО, просто перемещая iphone в воздухе, и мое приложение распознает букву, которую вы только что нарисовали.Метод, который я использую для распознавания, основан на алгоритме TFT и записи в базу данных с образцами значений, взятыми из букв, которые я нарисовал ранее.
Моя точка зрения: не имеют значения значения, которые я получаю, иличто они представляют.Все, что мне нужно, это чтобы все графики были равны, даже если iPhone находится в другом положении.Объяснить это довольно сложно, но если вы нарисуете букву «P», когда iphone повернут вверх, график будет выглядеть иначе, если вы нарисуете букву «P», когда iPhone повернул направо.
Так что мне нужно скомпенсировать ось в их исходной ориентации, чтобы я всегда получал похожие графики.