Поворот осей акселерометра
18.10.2017, 09:57
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Поворот осей акселерометра
|
|
|
|
18.10.2017, 10:54
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Поворот осей акселерометра
Я был бы очень вам благодарен, если бы вы перестали писать в этой теме. Без обид, но пользы здесь от вас не много. Это раздел для программистов.
|
|
|
|
18.10.2017, 11:07
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Поворот осей акселерометра
Сообщение от akegor
|
|
Просто заметочка - с кем не надо иметь дела.
|
 куда мы без вас
Смотрю вам спасибо много народу сказало,но казус это форум такой...
Все простите молчу,сам не по теме....
__________________
Глаза боятся,а руки делают.
|
|
|
|
18.10.2017, 11:21
|
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
|
Re: Поворот осей акселерометра
Сообщение от Easyrider83
|
|
Я был бы
|
Гы! Умному опыт лишним не бывает. Но это не тот случай. Будьте.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
Последний раз редактировалось akegor; 18.10.2017 в 11:23.
|
|
|
|
20.10.2017, 08:13
|
|
|
Частый гость
Регистрация: 06.01.2011
Сообщений: 32
Сказал спасибо: 33
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
|
Re: Поворот осей акселерометра
Сообщение от Easyrider83
|
|
Посмотрите статью.
|
Что со статьёй не так? Правильно пишут. Возможно, вам не нужны гомогенные координаты — так исключите четвёртое измерение отовсюду. Или вам матрица поворота нужна?
|
|
|
|
20.10.2017, 13:24
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Поворот осей акселерометра
Короче, все просто - нужно красивое решение на С, чтобы иметь возможность поворачивать координаты в одной плоскости на определенный угол. Без тяжелой тригонометрии!
|
|
|
|
20.10.2017, 13:52
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 12.02.2013
Адрес: На болотах
Сообщений: 1,163
Сказал спасибо: 46
Сказали Спасибо 315 раз(а) в 244 сообщении(ях)
|
Re: Поворот осей акселерометра
Сообщение от Easyrider83
|
|
Короче, все просто - нужно красивое решение на С, чтобы иметь возможность поворачивать координаты в одной плоскости на определенный угол. Без тяжелой тригонометрии!
|
В ссылке на книгу, которую я вам несколько постов назад как раз есть формулы перехода к новым координатам при повороте 2х осей относительно третьей.
Формулы банальные - новые координаты есть сумма (или разность) старых координат, умноженных на cos(или sin) угла поворота.
Чтобы избавится от float (вида 0.1698776 от sin и cos) до определённой точности можно умножить заранее эти числа на нужную степень 2^a и дальнейшие вычисления будут уже int.
А в конце сдвинуть вправо результат на число a (это будет операция обратная умножению на 2^a) - и результат готов. 32 бита позволяют творить такие вещи.
И ничего здесь красивого нет.
|
|
|
|
20.10.2017, 19:45
|
|
|
Временная регистрация
Регистрация: 19.10.2017
Сообщений: 59
Сказал спасибо: 29
Сказали Спасибо 14 раз(а) в 7 сообщении(ях)
|
Re: Поворот осей акселерометра
Easyrider83, нужно один раз повернуть?
Если всегда поворачивать на один и тот же угол - достаточно синус и косинус посчитать на компе. Потом, как говорил dgrishin, перемножить два Int16.
Т.е. матрицу 3*3 синусов-косинусов на матрицу 3*1 показаний. Получим матрицу результатов 3*1.
Дальше - можно и так оставить, а можно опять к Int16 сдвинуть.
Перемножение матриц - два вложенных цикла, Вам не должно быть там загадок. Нафига ещё библиотеки?
https://ru.wikipedia.org/wiki/%D0%9C...BE%D1%82%D0%B0
Т.е. матрицу поворта - рассчитать хоть в экселе, для заранее заданного угла.
Последний раз редактировалось Клон; 20.10.2017 в 19:53.
|
|
|
|
21.10.2017, 00:21
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Поворот осей акселерометра
Форум теоретиков. Знаю я это все. Нашли кого учить 
Давайте коды. Будет хоть, чего обсуждать.
|
|
|
|
21.10.2017, 02:15
|
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,287
Сказал спасибо: 11,860
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
|
Re: Поворот осей акселерометра
Написать программу для формулы Cij=Σr=3…1 Air*Brj (i=1…3;j=1)
A(3,3) матрица коэффициентов для поворота,
B(3,1) матрица значений в системе координат чипа,
C(3,1) матрица значений в новой системе координат.
C11=A13*B31+A12*B21+A11*B11
C21=A23*B31+A22*B21+A21*B11
C31=A33*B31+A32*B21+A31*B11
Осталось только записать это в виде кода  .
Варианты расчёта значений для A при фиксированном угле на основе примитивной калибровки с установкой объекта на 3 взаимно перпендикулярные грани (заодно закроет проблемы с возможной неортогональностью датчика и уходом параметров).
Если система координат будет изменяться - придётся добавить умножение по той же формуле (j=1…3), но уже матрицы калибровки на матрицу новых координат. Здесь будет немного больше математики но все решаемо  .
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 21.10.2017 в 02:20.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:25.
|
|