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

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

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

Post by perasperaadastra » 24 Apr 2017 17:48

Я совсем забыл линейную алгебру :( Пните меня пожалуйста в нужном направлении! Есть прибор, который измеряет вектор напряженности магнитного поля. Требуется сделать компас. Проблема в том, что прибор может находиться в любой ориентации, а угол к направлению на север нужно получить в горизонтальной проекции. Я знаю, что в горизонтальной плоскости в Торонто магнитное поле имеет следующие ортогональные компоненты: 18450 север, -3300 восток. А компонент вниз равен 50450. Мне нужно спроецировать измеряемый вектор на эту плоскость (то есть скомпенсировать roll and pitch) и посчитать угол (yaw) по отношению к стандартному вектору. Вопрос в том, как скомпенсировать roll и pitch. :help:

User avatar
Flash-04
Уже с Приветом
Posts: 58534
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

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

Post by Flash-04 » 24 Apr 2017 18:05

Задать базисные вектора плоскости, умножить ваш вектор на каждый, чтобы получить проекции вектора на базисные вектора. Два получившихся вектора сложить, это и будет векторная проекция исходного вектора на плоскость заданную базисными векторами.
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 » 24 Apr 2017 18:19

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

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

User avatar
Flash-04
Уже с Приветом
Posts: 58534
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

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

Post by Flash-04 » 24 Apr 2017 18:25

Не знаете или не знаете как представить одну систему базисов в другой? Это как бы две большие разницы 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 » 25 Apr 2017 03:37

Гм... не понимаю вопрос. Я не знаю, как выразить искомый базис в базисе измерительного прибора. И, наоборот, как выразить базис измерительного прибора в стандартном базисе. Все что у меня есть, это вектор, выраженный в координатах измерительного прибора, и тот же самый вектор в координатах стандартного базиса.

User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

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

Post by perasperaadastra » 26 Apr 2017 20:14

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

Если решать из первых принципов, то матрица поворота получается перемножением матриц поворота по углам Эйлера, ну а дальше нужно решать уравнения для heading. Только нудно это. Проще взять готовую формулу. Надо только разобраться, что это за 2-аргументная функция atan2. Никогда раньше не сталкивался.

User avatar
Flash-04
Уже с Приветом
Posts: 58534
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

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

Post by Flash-04 » 26 Apr 2017 23:36

А прочесть мануал?
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 » 27 Apr 2017 00:11

Flash-04 wrote:
26 Apr 2017 23:36
А прочесть мануал?
Так это и есть "разобраться" :)

User avatar
kyk
Уже с Приветом
Posts: 21694
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

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

Post by kyk » 27 Apr 2017 00:31

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 » 28 Apr 2017 07:06

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

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