Обновить
36
Вячеслав Архипов #dudvstud@JamaGava

основатель канала dudvstud, математик-аналитик

148
Подписчики
Отправить сообщение

Ушло на доработку :)

Спасибо! Вы меня вдохновили: https://habr.com/ru/articles/757750/ :))

Да, в 3D ось можно задать 2мя параметрами. Еще вариант, если лень резать сферу, вспомнить, что длина оси должна. быть единичной. Тогда любую компоненту оси можно найти из двух других (но возникает вопрос с ее знаком) + угол поворота. Более однозначный вариант - задать поворот не единичной осью, а вектором, длина которого соответствует углу поворота в радианах. Экспонента этого вектора и будет кватернионом.
А что касается двумерного представления поворота, тут такая штука: мы можем зафиксировать на воображаемой сфере единичного радиуса с центром в начале координат произвольную точку. Ее положение описывается двумя параметрами (например, сферическими координатами без радиуса - он ведь известная константа). Тогда поворот можно определить через вторую точку, в которую перейдет первая при повороте сферы. И имеем преобразование в двумерном пространстве => поворот двумерен.
Как между собой помирить эти две концепции? Очень просто. В двумерном преставлении каждый поворот можно получить в виде композиции поворотов вокруг 2х осей (например, x и y), назовем их базисными поворотами. Но эти базисные повороты не коммутативные. И для описания каких-то поворотов надо будет сначала выполнить поворот вокруг оси x потом вокруг y, а в других ситуациях - наоборот.
Но в обоих случаях для построения кватерниона поворота нам будет нужно два параметра \phi и \psi, а сам кватернион будет выглядеть как q=e^{\phi i} \cdot e^{\psi j} или q=e^{\psi j} \cdot e^{\phi i}
Вот и получается, что любой поворот двумерный, но их есть два вида. А введение третьей оси избавляет нас от неоднозначности.

Подождите, уважаемые! Какие 4 степени свободы для вращения в 3D? Часто говорят о трех степенях свободы вращения: углы Эйлера, углы Крылова, единичный вектор задающий ось (2 степени свободы) + угол (еще одна степень). Если с такой точки зрения посмотреть, то единичный кватернион, на самом деле трехмерный, потому что мы любую его компоненту можем выразить через 3 другие.
Но на самом деле нам просто удобно считать повороты трехмерными в трехмерном пространстве. На самом деле они двумерные:) Любой поворот можно описать двумя скалярными значениями!
И чтобы понять двумерность кватерниона, представьте его в таком виде: q=e^{\phi i} \cdot e^{\psi j}
А что касается некоммутативность произведения кватернионов - то это отражение некоммутативность поворотов, любое адекватное описание поворотов будет некоммутативным :)

Ну вот проще было бы понять преимущество предлагаемого подхода, если бы автор показал, как из ротора найти ось поворота, как интерполировать роторы, что там с логарифмом ротора и экспонентой вектора вращения и т.д. Половины свойств кватерниона в бивектороном представлении не раскрыта.
А аргумент, что это то же самое, но более понятно предполагает, что должны быть описаны все те же свойства :)
Да, и совсем не понятно, как это обобщить на случай не только поворота вокруг начала координат, а вокруг произвольной точки или на случай параллельного переноса. Вот с бикватернионами я понимаю, как это сделать. А где решение того же самого, согласитесь, совсем не праздного для задач графики вопроса про параллельный перенос и поворот вокруг произвольного центра в представлении роторов?
Тут бы до конца довести рассуждения...

Да, еще хочу ответить на поставленные вопросы:

Почему \mathbf{i}^2=\mathbf{j}^2=\mathbf{k}^2=-1 и \mathbf{i} \mathbf{j} = \mathbf{k}?

\mathbf{i}^2=\mathbf{j}^2=\mathbf{k}^2=-1 по определения, а \mathbf{i} \mathbf{j} = \mathbf{k} следует из \mathbf{i} \mathbf{j} \mathbf{k} = -1 - что тоже по по определению.

Почему мы берём вектор и превращаем его в «мнимый» вектор, чтобы преобразовать его, например \mathbf{q} (x\mathbf{i} + y\mathbf{j} + z \mathbf{k}) \mathbf{q}^{*}?

Потому что сложение вращений - это произведение их кватернионов, значит преобразование из пространства вращений, заданных осями в пространство соответствующих кватернионов - это экспонента e^{a + b} = e^{a}e^{b}. А берем именно комплексные оси, потому что вращение 2\pi периодичное, как и экспонента комплексного числа.

Да кому это интересно, если всё работает, правда?

Наверное, это интересно тому, кто претендует на то, чтобы позиционировать себя как профессионала, а не как юного студента троешника :)

Предлагаю просто не подпускать к 3D движкам тех, кому лень разобраться с кватернионами :)
Печально, что основной аргумент против кватернионов - с ними лень разбираться. Любое описание поворотов в трехмерном пространстве представляет собой группу группу вращений, а значит в некотором смысле эквивалентны. Другое дело, что разные представления вращений могут быть по разному удобны или неудобны, например, с точки зрения сложности вычислений или требуемого количества переменных. Не последнюю роль в этом удобстве играет численная устойчивость.
А еще важную роль играет возможность обобщения. Для кватернионов, например, переход к дуальным бикватернионам позволяет в рамках одной концепции описывать любое движение: и поворот, и параллельный перенос, и поворот вокруг заданного центра поворота. Но это точно не для тех персонажей, которым даже с сутью кватернионов лень разобраться :)

Спасибо.
Сейчас как раз закончился модуль по дискретной математике и логике. Графы не рассматривали. Возможно, в будущем рассмотрим.
По статистике будут раздел попозже.
Мат.ан и диффуры тоже будут, но, возможно, не так глубоко, как Вы ожидаете. Курс рассчитан на то, что мы в итоге дойдем до обработки данных и машинного обучения. Этой целе соответсвует глубина проработки разделов :)

Спасибо большое. Буду стараться!

Хороший вопрос… Я ставил хаб "я пиарюсь" и карму копил на публикацию. Похоже, что это решение модераторов.

1) вроде бы писал, что переход в барицентрические координаты, это смена базиса
2) про возможносиь измерения расстояний, если известны произведения радиусов-вектрров точек, — тоже


Но в целом, спасибо за отзыв :)

Спасибо за комментарий. Но я с Вами немного поспорю :)
Не совсем понятно, что подразумевается под набором отдельных видео. Вам приятнее было бы воспринимать информацию из полуторачасовых лекция? Это дело вкуса, как и англицизмы, на мой взгляд.
В курсе математики действительно нет ничего нового, по сравнению с тем, что написано в учебниках и преподается в ВУЗах. Если сюда добавить добавить со старта посление новости из мира ИИ, то точно каша будет.
Лекции МФТИ — это круто, не спорю. Но судя по реакции аудитории (не только на канале, с очниками та же фигня была), людям все-таки заходит объяснение на пальцах основной сути изучаемого раздела.
Про математику и питон, извините, вообще не соглашусь. Так как курс не совсем теоретический, изучение реализации алгоритмов необходимо. И питон тут, на мой взгляд, самое удачное решение.
А из вашей фразы про жажду просмотров я бы выкинул слово "исключительно". Да, лайки и просмотры мне интересны. Но если бы я опирался "исключительно" на это, я бы реализовал что-нибудь из области интертеймента (извините за англицизм).

Мне так проще.

Надо будет порыться в учебниках. Спасибо.

Борщ на западе тоже называют borscht, а не slavianian beetroot soup.

Борщ на западе тоже называют borscht, а не slavianian beetroot soup.

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Зарегистрирован
Активность