Компас и преобразования в |R3

и задачки для интервью.
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Компас и преобразования в |R3

Post by perasperaadastra »

Я совсем забыл линейную алгебру :( Пните меня пожалуйста в нужном направлении! Есть прибор, который измеряет вектор напряженности магнитного поля. Требуется сделать компас. Проблема в том, что прибор может находиться в любой ориентации, а угол к направлению на север нужно получить в горизонтальной проекции. Я знаю, что в горизонтальной плоскости в Торонто магнитное поле имеет следующие ортогональные компоненты: 18450 север, -3300 восток. А компонент вниз равен 50450. Мне нужно спроецировать измеряемый вектор на эту плоскость (то есть скомпенсировать roll and pitch) и посчитать угол (yaw) по отношению к стандартному вектору. Вопрос в том, как скомпенсировать roll и pitch. :help:
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Компас и преобразования в |R3

Post by Flash-04 »

Задать базисные вектора плоскости, умножить ваш вектор на каждый, чтобы получить проекции вектора на базисные вектора. Два получившихся вектора сложить, это и будет векторная проекция исходного вектора на плоскость заданную базисными векторами.
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Компас и преобразования в |R3

Post by perasperaadastra »

>Задать базисные вектора плоскости

Вот тут у меня и буксует мозг. Я знаю как измеряемый вектор должен выглядеть в стандартном базисе, но я не знаю положение стандартного базиса относительно базиса измерения.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Компас и преобразования в |R3

Post by Flash-04 »

Не знаете или не знаете как представить одну систему базисов в другой? Это как бы две большие разницы 8)
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Компас и преобразования в |R3

Post by perasperaadastra »

Гм... не понимаю вопрос. Я не знаю, как выразить искомый базис в базисе измерительного прибора. И, наоборот, как выразить базис измерительного прибора в стандартном базисе. Все что у меня есть, это вектор, выраженный в координатах измерительного прибора, и тот же самый вектор в координатах стандартного базиса.
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Компас и преобразования в |R3

Post by perasperaadastra »

Оказывается, все просто (нашел готовый ответ в интернетах). Нужно сначала получить ось и угол вращения (векторное и скалярное произведение), нормализовать вектор оси и применить формулы перехода к углам Эйлера. В частности, heading = atan2(y * sin(angle)- x * z * (1 - cos(angle)) , 1 - (y2 + z2 ) * (1 - cos(angle)))

Если решать из первых принципов, то матрица поворота получается перемножением матриц поворота по углам Эйлера, ну а дальше нужно решать уравнения для heading. Только нудно это. Проще взять готовую формулу. Надо только разобраться, что это за 2-аргументная функция atan2. Никогда раньше не сталкивался.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Компас и преобразования в |R3

Post by Flash-04 »

А прочесть мануал?
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Компас и преобразования в |R3

Post by perasperaadastra »

Flash-04 wrote: 26 Apr 2017 23:36 А прочесть мануал?
Так это и есть "разобраться" :)
User avatar
kyk
Уже с Приветом
Posts: 31438
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

Re: Компас и преобразования в |R3

Post by kyk »

perasperaadastra wrote: 27 Apr 2017 00:11
Flash-04 wrote: 26 Apr 2017 23:36 А прочесть мануал?
Так это и есть "разобраться" :)
Мануал - для лохов :umnik1: Начиная со строчек: "how to read this FAQ manual"
Лучше переесть, чем недоспать! © Обратное тоже верно :umnik1:
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Компас и преобразования в |R3

Post by perasperaadastra »

Вынужден заметить, что я зря ломал голову над проблемой. Магнитометр оказался полным дерьмом. Без калибровки он выдает фигню. Вот только какого черта его на заводе не откалибровали?

Return to “Головоломки”