Кватернионы | Вращение в 3D [Самая суть]
Привет! Зачастую когда речь заходит о кватернионах, с двух ног врывается математика, и в итоге их никто не понимает. В этом видео я попытался рассказать только то, что нужно для использования кватернионов. Ставку делал на то, чтобы разобраться в том, как ими пользоваться, потому что разбор, почему кватернионы именно такие, какие есть - это очень долго.
Ссылки на лекции Алексея Савватеева, где он рассказывает о кватернионах как о математических объектах:
часть 1: • 17. Введение в кватерн...
часть 2: • 18. Определение кватер...
часть 3: • 19. Умножение и делени...
часть 4: • 20. Как задавать враще...
Поддержать автора:
Boosty: boosty.to/antonfilatov
DonationAlerts: www.donationalerts.com/r/anto...
Таймкоды этого видео:
0:00 - только суть
0:21 - проблема вращения
1:43 - любое вращение - это вращение вектора вокруг ОДНОЙ оси
3:02 - вводим понятие кватерниона
4:44 - правила умножения новых мнимых единиц и кватернионов
6:45 - вращения начинаются
8:06 - как строить кватернионы из векторов
9:47 - требования к оси вращения
10:48 - вращаем вектор без кватернионов
11:15 - вращаем вектор с кватернионами
12:19 - проверяем в wolfram alpha
Пікірлер: 210
Можете подсказать, как получить кватернион поворота из двух известных векторов? (чтобы потом поворачивать другие вектора)
@math-to-masses
Жыл бұрын
Уточните задачу. У вас есть вектор и результат его поворота в пространстве. Вы хотите понять, каким кватернионом описать поворот? В таком виде задача имеет бесконечное количество решений, потому что не зафиксирована ось, вокруг которой нужно делать вращение. Вам неизбежно нужно знать, вокруг чего мы вращаемся. А если ось известна и не известен только угол, то вы можете составить уравнение из формулы, представленной в первую минуту на видео, где угол будет неизвествым. А потом это уравнение решить относительно неизвестного угла
@Dm1tr17
Жыл бұрын
@@math-to-masses Нашел вот такой метод. На простом примере проверил. Вроде всё правильно. Quaternion q; vector a = crossproduct(v1, v2); q.xyz = a; q.w = sqrt((v1.Length ^ 2) * (v2.Length ^ 2)) + dotproduct(v1, v2); Don't forget to normalize q.
@Dm1tr17
Жыл бұрын
@@math-to-masses Кстати, решений вроде должно быть два. По длинной дуге и короткой.
@math-to-masses
Жыл бұрын
@@Dm1tr17 Хм, да, это сработает, если наши векторы отложены от нуля. Спасибо, что поделились!
@user-mj3sv7ip5n
23 күн бұрын
С помощью двух кватернионов не выйдет, по-сути то что было сказано в первом ответе. Возможно для этого нужно два вектора и два результата
как же приятно снова окунуться математику, особенно в ее практическую часть. Давай, давай, не останавливайся
@prominsk
Жыл бұрын
, да ланна прикидываться, типа ты шо-то понял
@ajdarseidzade688
Жыл бұрын
Здесь, на видео, нет никакой математики. Именно той, что преподается в школах/институтах. Тут просто констатация фактов, что "это должно быть так и не иначе, а почему так я не знаю". Но с практической точки зрения эта лекция гораздо полезнее оказывается.
7:40 на самом деле такое умножение очень просто объясняется. h - обычно это некоторый кватернион с нулевой действительной частью, а мнимая часть представляет собой вектор в трехмерном пространстве, который требуется повернуть. q изменяет этот кватернион в четырехмерном пространстве. Если мы будем умножать h на q только один раз, то это неизбежно приведёт не только к повороту мнимой части h на некий угол, alpha, заданный q, но и к изменению действительной части h, что "портит" наш квартеонизированный вектор, выводя из привычного трехмерного пространства в 4-х мерное. Чтобы вернуть его обратно в 3-х мерное пространство, его умножают ещё раз на этот же кватернион q, но с другой стороны и комплексносопряженный. Это проводит к тому, что в трехмерном пространстве q ещё раз поворачивается в ту же сторону на тот же угол alpha, а в части 4-го, действительного, измерения он совершает "вращение" в обратную сторону, тем самым опять обнулив действительную часть и вернув кватернион h в понятную трехмерную векторную форму. Именно по этому, когда мы вводим кватернион q, мы задаём в нем только половину от требуемого нам угла поворота: phi/2 - потому что этот поворот применяется дважды, чтобы избежать перевода трехмерного вектора в 4-е измерение. Но, кстати, в самой программе вот это выражение qh~q обычно нигде не используется (это такое скорее аксиоматическое правило применения кватерниона для трехмерных векторов), а в ней просто хранится значение q и их перемножение, для определения взаимного поворота. Но оно используется в развернутом когда необходимо действительно посчитать разворот какого-то конкретного вектора. Кстати, нормировка кватерниона - это вообще избыточная операция. Кватернион, в плане поворота в мнимом трехмерном пространстве, инвариантен к умножению на константу (однороден), в том числе на -1. Но это делается просто для упрощения дальнейших вычислений на компьютере, т.к. иначе местами требовалось бы взять норму кватерниона.
Наконец то крутое и понятное видео о кватернионах. Месяц с ними разбирался, чтобы заставить вращаться детали в UE4, а тут за 13 минут, респект
Рекомендации ютуба помогли найти твой канал. Все очень круто и понятно. Посмотрел каждое видео. Спасибо за такое простое разъяснения, таких не простых вещей!
Очень интересно И даже не ожидал, что что-то пойму У тебя талант))
@math-to-masses
Жыл бұрын
Вы бы знали, какую искреннюю добрую улыбку вы вызвали вашим комментарием! Спасибо!
Очень Полезно надо продолжать дальше !
Осталось найти ось с помощью векторного умножения.... Спасибо, очень доходчиво!
Картинка с совами прям в нужный момент ))))))))
Хорошее видио, дало хорошее понятие использования кватернионов, кстати, в том месте с квадратами, где сумма квадратов должна ровняться еденице, можно было легко доказать что если вектор оси вращения ужалён от начала координат на единицу, то вся эта штука равна единице, с помощью теоремы Пифагора (да несмотря на 3d это через неё легко делается, сначала находим формулу для расстояния до начала координат в 3d, а потом применяем её), и надо ещё сказать что для полного понимания мне пришлось посмотреть несколько видио от канала 3blue1brownрусский (перевод английского 3blue1brown)
для поворота вокруг оси: n=(nx, ny , nz) на угол alf можно построить кватернион : q =(cos(alf), sin(alf) *I, sin(alf) *j, sin(alf) *k). для любого такого кватернион можно вычислить матрицу поворота вокруг оси n на угол alf. Далее, последовательность поворотов вокруг различных осей отображается в виде перемножения кввтернионов. Итоговый кввтернион переводим опять в матрицу и получаем матрицу перехода для векторов. То есть, не обязательно поворачиваемые вектора тоже записывать через кввтернионы. достаточно на кватернионы 'повесть' только преобразования координат векторов, таких, как повороты.
Антон, спасибо за контент, очень интересно, продолжай в том же духе ! Было бы интересно послушать о оптимизации кода с углублённым математическим подходом к этой задаче, разбором этих подходов с подкреплёнными математическими обоснованиями
Для вольфрам математики есть крутое дополнение, написанное ребятами из МФТИ, крайне удобный тул для интересующихся ребят
Огонь. Хорошо рассказал. А за готовый краткий в ответ в самые первые секунды видеоролика - отдельное спасибо! (Впрочем, я досмотрел до конца)
Молодец. Я наконец то врубился . Сразу . До этого смотрел чью то лекцию . Потерял суть. Это надо было разбирать когда студент и есть время посидеть и подумать. При десяти часовом рабочем дне невозможно быстро въехать в подробные теоремы. Вроде в е правильно Все понял по шагам . Утром не помню , текущие дела все затерли. Тут суть схватил сразу. Можно и теоремы посмотреть. Я представляю как прыгал от радости Гамильтон когда избавил я от неоднознчности в полярных координатах , эти знаки синусов и косинусов невозможно запрограммировать просто. Автору огромный респект!
Гамильтон хотел сначала ограничиться двумя мнимыми, но умножать было сложновато. Его осенило во время прогулки, что нужна не одна, а две мнимые и на месте где это произошло теперь мемориальная доска с формулой: i2 = j2 = k2 = ijk = −1 Если кажется сложноватым, то расстраиваться несколько преждевременно - Гамильтон был гением и с малого детства читал на нескольких языках и даже до него дошло не сразу 😁
@random6959
Жыл бұрын
А вот один великий учёный глворил: "Все гениальное - просто"
@vantagepointmoon
Жыл бұрын
@@random6959 Когда "кликнет" оно на самом деле несложно, и приведенная формула это показывает. А фразу про все гениальное много кстати кому приписывают
@vadimvadim2307
Жыл бұрын
Дублин, мост Брук, на его перилах Гамильтон вырезал ножиком свою знаменитую ij=k.
@Bebebe1111kbj
Жыл бұрын
Гамильтон и прочие древние математики не умели погромировать на компутерах и потому по безграмотности обозвали функции с глобальными переменными внутри числами. Нет там внутри никаких мнимых чисел, это выдумки математиков в упор не видящих функции производящие операции с самыми обычными целыми и дробными числами и складывающими промежуточные результаты в глобальные переменные, откуда их можно выдернуть и использовать в других функциях.
@ksovox8262
Жыл бұрын
@@Bebebe1111kbjа ты, по всей видимости, дохуя гений, раз кроме тебя все остальные до этого не дошли?
Это просто супер! Понятно и понравилось!
Внятно и приятно.Спасибо.
крутой канал , комент в поддержку автора , надеюсь будет больше контента про программирование и всякие подводные камни по типу хранения чисел с плавающей точкой , в основном все опускают эту тему аргументируя тем что не нужно знать как работает машина чтоб ее водить
@math-to-masses
Жыл бұрын
Спасибо вам за добрые слова! Я планирую выпускать контент, связанный и с математикой, и с программированием. Но в большей степени о чём-то между ними
Почти не понял, но тем интереснее!)) Спасибо за то, что делаете такие "разъяснения"!!!
@math-to-masses
Жыл бұрын
вот вы сейчас похвалили или поругали? 😅
@AlfredShafikov
Жыл бұрын
можете попробовать через матрицы
Понравилось. То что надо. Оптимально. Долгих выводов нет а свойства рассказаны и без ненужных упрощений.
Пушка бомба, где Вы были раньше?
Зачет! Все сказал за 20 первых секунд! Супер!
Очень круто, обожаю вышмао оссобенно теорию графов. Но то что понятным языком рассказываешь как работают относительно сложные вещи - очень круто. Кста коммунитативносьь можно проще показать, почему она не работает. Просто повращать какой нибудь объект в одних и тех же направлениях но в разном порядке.
Ютубу нужно больше таких каналов :D
В общих чертах понятно. Спасибо
Хорошая подача, спасибо
кароч всё понятно, мне кватернионы никогда не понять
ну, за 20 секунд всё объяснил! и главное - в самом начале ролика! спасибо.
Супер видео, автор гений!!!
Отлично!
круто! понятно! аффтар, давайте ещё! )))
пасибо. 20 секунд. всё просто и ясно
Спасибо за труд, хотелось бы видео и про бикватернионы
Спасибо, понятно
Добрый день, подскажите симулятор программу или онлайн где можно поиграться с уравнениями кватернионов с их визуализацией. Спасибо.
Местами очень согласен с @VitalSchool . Суть проблемы: Собираюсь спаять компас для эхолота. В форуме про компас вылезли эти кватернионы. Захотелось хоть немного понять. Мне 50+, что такое векторы, комплексные числа , матрицы забыл давно и возможно навсегда, хотя когда то спецразделы высшей математики автоматом мне зачли. В вашем видео всё очень близко для понимания , но постоянно что то ускользает. Добавьте описание используемых терминов - векторы, комплексные числа и Т.Д. на пальцах, как Вы показали вращение осей, что 3 поворота в итоге как 1, по одной оси. Если Вы в теме, то это не сложно, но человеку далёкому от этого (забывшему всё это) очень облегчит задачу хотя бы вникнуть в суть. Если взять пример , поворачиваем по Х на 30`, по Y на 45` и по Z на 90` , подставляем эти числа в формулу и считаем, а потом пример с другими углами, то человек сопоставив два расчёта уже что то уяснит. Особенно, если это будут 2 последовательных поворота с возвратом в исходную ориентацию. Примеры с кучей букв и без единой цифры трудны для восприятия далёкому от математики человеку, особенно когда и физику подзабыл, но вникнуть хочется. В нескольких местах увидел, что используется синус\косинус половины угла, тоже вызывает непонимание, крутим то на целый. Может есть возможность сделать ролик\ролики для АБСОЛЮТНЫХ чайников? Им иногда тоже хочется понять про что там говорят на умном языке 🙂
Полный кайф
Отличное видео, как насчёт сделать видео по алгоритму коллапса волновой функции? На русском ютубе эта тема мало освещена с точки зрения программирования и применения в генерации карт или изображений из тайлов
@math-to-masses
Жыл бұрын
Хм, спасибо за идею, я изучу вопрос :)
Жду видео про октонионы!
Столкнулся в своей работе с необходимостью описывать повороты и углы. Начал изучать кватернионную алгебру, но до конца проект не довёл, пришлось уволиться по другим причинам. Думаю на досуге попробовать доделать начатое
Интересно Антон рассказывает! Может новую серию лекций про ROS записал бы еще?
@math-to-masses
Жыл бұрын
не давите на больное :)
Либо я что-то не понимаю, либо на 6:27, после раскрытия скобок, в уровнении ТРИ ошибки.
Блохер, было очень интересно. Делайте больше таких вкусных материалов. Давай про функцию tree
Классно! Мне эта инфа как раз полезна для теории движения и управления космическим аппаратом. Получается, если надо последовательно повернуть вокруг трёх осей, то надо 3 раза умножение проводить?
@math-to-masses
Жыл бұрын
Да, если вокруг трёх осей, то можно через кватернионы три раза последовательно. Ещё можно через матрицы поворота. Они чуть проще, но там надо понимать, какие это оси - локальные оси вашего космического аппарата или глобальные оси изначальной системы отсчёта
@merk_83
Жыл бұрын
@@math-to-masses А вот кстати декан говорил , что матрицами поворота пользоваться удобно при вращении до 90 градусов по любой оси. А если больше чем 90, то там особые точки вылезают при интегрированиях угловой скорости , деление на ноль и бортовой компьютер не считает) Поэтому он похвалил кватернионный поворот, где нет такой проблемы).
в чём проблемы подошёл взял за руку сделал кватернион из вращаемого вектора сделал кватернион из оси вращения перемножил кватернионы и получил из них результирующий повёрнутый вектор
Спасибо, разобрался) На 6:22 последняя формула по-моему с ошибкой, нужно вместо df -> dg, gh -> bh, dg -> df
@math-to-masses
11 ай бұрын
Возможно, вы правы, спасибо :)
А куда донатить?
А что с умножением и сложением кватернионов? Как в таком случае ведут себя векторы?
Ничего не понятно, но очень интересно 😂
Как-то я не проникся этой темой, ведь за меня это делал GLM, но разобраться полностью в этой темке - энто круто. А так, чтобы что-то повращать нужно всего лишь сместить (на offset) точки к 0 оси вращения, применит sin cos, и вернуть смещение обратно.
Класс.
А если задавать вращение вектором, направление которого задает ось поворота, а длина - угол поворота (так вращение задается в физике), то соответсвующий кватернион будет считаться как эеспонента оси вращения. Все в точности, как с аргументом комплексного числа в экспоненциальной форме :) Математика - самая красивая наука!
Я сделал авиагоризонт в телефоне. И теперь думаю как калибровку сделать. Поможет ли кватарнион в калибровке авиагорионта по оси z (тангаж в пейзажном режиме телефона)? Хочу понять - в правильном ли я направлении копаю
@math-to-masses
4 ай бұрын
Кватернион - это короткий способ записать операцию поворота. Везде, где вы говорите "тангаж на угол альфа", можно вместо этого говорить "кватренион cos(альфа/2), 0,0, sin(альфа/2)". Глобально совершенно не важно, храните ли вы в памяти угол тангажа, кватернион или матрицу поворота. Разным людям проще по-разному. Является ли кватернион ключевым понятием для калибровки? - нет. Можно ли им пользоваться? - да
@kolu4ka1983
4 ай бұрын
@@math-to-masses мне углов эйлера как будто бы недостаточно для калибровки тангажа. Для крена калибровка считается норм а вот с тангажом пооблема из-за силы тяжести. Я от девайса получаю от +1 это 90 градусов вверх от горизонта до -1 это -90 градусов вниз от горизонта. Мне не хватает еще одной оси в которой я бы понимал вектор направления устройства. И как будто бы кватарнион кажется решением
12:16 опечатка? если открывать скобки последнем действии получается i+2j
Особенно интересно как до этого дошли.
@math-to-masses
Жыл бұрын
ооо, это тема на полтора часа рассуждений. О том, кто как и зачем двигает математику. И что первично, то есть откуда берутся формулировки теорем, которые надо доказать - из теории или из практики
Когда ты говоришь, что для перевода одного вектора в другой нужны только ось и угол поворота вокруг этой оси, то создаётся ощущение, что ты говоришь не о произвольной оси в пространстве, а об одной из трёх координатных осей, потому что ты их периодически упоминаешь. Тут бы какая-то визуализация помогла. Конечно, потом всё встаёт на свои места, но этот момент путает. А так - всё понятно. Хоть я кватернионы и не изучал в вузе, но понял.
Спасибо за видео! Механика понятна, но придется смотреть Савватеева )) А все таки в этих всех мнимых единицах и экспоненциальной форме к. чисел есть какое-то жульничество ) Кстати, а у кватерниона случайно нет экспоненциальной формы?
@math-to-masses
Жыл бұрын
Ну моей целью и было пояснить, как работает механика :) Может быть какая-то экспоненциальная форма есть, но я про такую ничего не знаю. Тут надо помнить, что кватернионы - это не совсем обычные числа. Они сильно хуже комплексных. Поэтому всякие изыски с ними, вроде экспоненты, надо отдельно проверять и доказывать
@user-dg8yr7tu2y
Жыл бұрын
Ну не совсем про кватерниноны, но вообще всякие вращения это про группы Ли и группы вращений. А там вроде инфинитоземальное изменение и есть экспонента. (Честно, я группы трогал только с закрытыми глазами)
Столкнулся с кватернионами нечаянно, осваивал 3D Max, вращал сферы кольца, прикольная штука =) Но по моему мнению, ваш ролик обречен на провал =( Среднестатистический человек думает о кватернионах с вероятностью...=) Тут показывать надо в модели, графика нужна. Просто текст воспринимается плохо. Тем более тем кто про это ничего не знает. Успеха! =)
@math-to-masses
Жыл бұрын
Спасибо за ваш комментарий! Интересно, мне не приходила в голову такая точка зрения. Кажется, всему виной моя проф. деформация - мне формула кажется полезнее графики :)
@Mister_Smit_
Жыл бұрын
@@math-to-masses Формула и графика в совокупности будет более эффективно. Наглядно. Глупеет народ =(
@math-to-masses
Жыл бұрын
Давайте с оптимизмом смотреть на народ! :) И графику добавим, и формулы покажем!
@Mister_Smit_
Жыл бұрын
@@math-to-masses Здорово =) если надо в 3Ds Max какую то модель с анимацией, пишите.
6:50 "Сейчас они начнутся" Мой мозг уже почти 7 минут как вертится
А можно сперва скомбинировать несколько кватернионов поворота в один и потом применить к вектору?
@math-to-masses
9 ай бұрын
Конечно можно! В этом одна из их самых крутых фишек. Просто в лоб один умножается на другой и получается новый кватернион, который будет композицией исходных поворотов
Спасибо. Мозги выпали.
4:28 - из видео понял только одно - ежи это какие-то бяки. 🦔🦔
Бикватернионы (их скалярные и векторные части) могут иметь и физические аналоги
Почему вы именно взяли угол Pi/4 ? как вообще найти и поставить угол для вращение кватерниона ?!
@math-to-masses
7 күн бұрын
В этом видео мы рассматривали задачу, когда нам задан вектор, который мы хотим повернуть, ось вращения и угол. Если у нас нет оси вращения и угла, то нужно разобраться, а что нам дано. Например, нам может быть дан вектор, который надо вращать, и этот же вектор после вращения. В таком случае нужно умножить эти два вектора с помощью векторного произведения - так мы найдём ось вращения. А угол, на который нужно повернуться, можно найти с помощью скалярного произведения
а что конкретно вы этим посчитали? угол наклона самолёта в произвольной системе координат? угол отклонения самолёта от курса?
@math-to-masses
Жыл бұрын
Мы предъявили алгоритм, с помощью которого мы можем повернуть самолёт, если известна его ось (ориентация) и известно, как ему нужно повернуться. Например, есть задача: самолёт смотрит вдоль вектора (1,2,3) хотим изменить его крен (в авиации есть три угла: крен, тонгаж и рысканье) на 10 градусов. Как тогда будет ориентирован самолёт после такого поворота?
@user-mm5zo2lm3z
Жыл бұрын
...для теоретиков это оооочИнь сложный вопрос )! Они в большинстве своём его просто не понимают ))! От чего Суть дела превращается в абсурд , а переучивание таких ведёт к абсурду в абсурде ))! ...
@Rodogor_Hoenhaym
Жыл бұрын
@@user-mm5zo2lm3z я весьма далёк и от авиации и от математики, так что может тешить своё чсв сколько угодно.
@Spectre4490
Жыл бұрын
Используя кватернионы можно прикрепив к человеку IMU построить его путь в трёхмерном пространстве (kzread.info/dash/bejne/iaR-yqilY5izj5s.html), думаю это можно использовать для пожарных, что бы знать положение каждого во время тушения или в будущем для сканирующих дронов, запустил рой дронов они построили 3хмерную карту пещер, очень крутая штука
@Rodogor_Hoenhaym
Жыл бұрын
@@Spectre4490 персональные метки, куро-коды, (китайские)15-ти-минутные города... слышал, слышал.. стеклянный город и даже ночью кто-то будет подглядывать. эх, а всё начиналось с пещер...
Про Вольфрам ничего не понятно т.к не пользовался никогда
5:11 получается что i j k в данном рассуждении векторные
Было бы понятнее на практических примерах. Объяснение неплохое, однако понятно категории зрителей, либо находящихся в теме, либо имеющим не среднее математическое образование. Может кто-то начитался/насмотрелся. Мне вот, интересно чисто утилитарное применение. Где, в какой сфере мне может пригодится это знание?
@math-to-masses
Жыл бұрын
Да, справедливое замечание. Я делал этот видос с расчётом, что у человека возникнет какая-то проблема, он где-нибудь вычитает, что её можно решить с помощью кватернионов, и пойдёт гуглить, а что это такое. Ответить на ваш вопрос можно так. Если когда-нибудь вам нужен будет математический аппарат, который реализует вращение, то вам помогут кватернионы. Например, вы разрабатываете или используете физический движок (для компьютерной игры) и вам нужно описать движение и вращение тел. Или, например, вы - 3D художник, вы слепили голову персонажа, а теперь надо анимировать, как персонаж головой качает. Всё это можно сделать как раз с помощью кватернионов
@temurnariashvili7526
Жыл бұрын
@@math-to-masses спасибо за ответ. Между прочем неплохая тема для видео на будущее.
О эта музыка
На 5:05 на слайде ошибка. ki=j, ki=-j. На самом деле ik=j, ki=-j
Блин чувак ты такой классный Ты прям как онигири но на максималках😂❤
@math-to-masses
Жыл бұрын
Ваши слова вызвали искреннюю улыбку, спасибо!
@andromeda_vesna
Жыл бұрын
@@math-to-masses Давайте видео про криптографию, но чисто с математической точки зрения? >~
@math-to-masses
Жыл бұрын
@@andromeda_vesna я пока не умею рассказывать про криптографию так, чтобы это не было ужасной духотой 😅 Я попробую рано или поздно, но не сейчас - сейчас это получится очень скучное видео
Respect, тебе 20 лет и ты уже бородат. Иногда кажется что такими вещами могут заниматься только бородатые 40+ летние олдскульщики. Давай еще про сплайны, нурбсы и аналитическое вычисление пересечений поверхностей второго порядка ))
Разве вокруг оси игрек ты правильно повернул руку? Почему ты развернул её к камере, а не к себе?
@math-to-masses
Жыл бұрын
вокруг каждой из осей можно было повернуться как по часовой стрелке, так и против часовой. Тут я хотел показать, что найдётся такая совокупность поворотов с таким вот интересным свойством
@settyentyson8678
Жыл бұрын
@@math-to-masses да, это я всё понимаю, просто не знал, что 90° и - 90° это получается одно и тоже. По крайней мере это следует из ваших действий.
@math-to-masses
Жыл бұрын
@@settyentyson8678 Нет, погодите, +90 и -90 - это не одно и то же. Действительно, повернись я в одну сторону, я бы повернул палец к груди, а повернись в другую сторону - повернулся бы к камере. В этом вы правы. Интерес таких поворотов в том, что результат получается в любом случае неожиданный, как мы не повернись
Спасибо. Но пока непонятно.
Вопрос: если после произведения кватернионов результирующий кватернион имеет ненулевую действительную часть, как его привести к вектору? А так хорошее объяснение, но термин "бяка" режит слух.
@math-to-masses
Жыл бұрын
результирующий кватернион всегда будет иметь нулевую действительную часть. Это можно строго доказать
@sladge17
Жыл бұрын
@@math-to-masses Спасибо за ответ. Появился ещё вопрос: как вычислить направление оси вращения и угол поворота при известных углах Эйлера?
@math-to-masses
Жыл бұрын
@@sladge17 об этом коротко сложно написать. Правильно я вас понимаю, что у вас есть угол, на который нужно повернуться вокруг оси х, угол вокруг оси y и угол вокруг оси z? Тогда можно сделать три кватерниона. И трижды сделать умножение. Вот тут написаны все варианты (да, понимаю, всё по английски, но математика, вроде, понятна): en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
@sladge17
Жыл бұрын
@@math-to-masses Спасибо, дейсвительно можно три раза перемножить. Если я правильно понимаю при использовании кватернионов порядок осей значения не имеет.
@math-to-masses
Жыл бұрын
@@sladge17 Хочется сказать, что не имеет, но я бы это перепроверил на всякий случай
Эх, рассказали бы ещё простыми словами основы теории групп и прочие многообразия. А то в ютубе только достаточно сложные лекции...
@math-to-masses
Жыл бұрын
Есть и такие идеи. Думаю, что дойдёт до них очередь :)
Не совсем понятно, как задать кватернион q. Например, когда плоскость вращения не совпадает с известной ( xy, yz, zx )
@math-to-masses
Жыл бұрын
Вам явно нужна ось вращения - нужен вектор в какой-то системе координат, вокруг которого вы вращаете. Это может быть любой вектор, например, (1,2,3). это и есть альфа, бетта, гамма. Ну и вам явно нужен угол вращения. Ну и дальше по формуле. Кватернион q =cos(угла) + sin(угла)(1*i + 2*j + 3*k)
@user-cy3do4xc2c
Жыл бұрын
@@math-to-masses, благодарю за пояснения. Я сейчас понял, что неявно рассматривал обратную задачу: имея начальный и результирующий векторы, найти угол и ось вращения. Теперь вопрос снят
@delieyubovamehriban5696
Жыл бұрын
Вектор вращения не надо делить на норму? (Он не должен быть единичным? )
@math-to-masses
Жыл бұрын
@@delieyubovamehriban5696 Надо, конечно, надо. Спасибо за дополнение!
И что эти кватернионы не дифферинцируются плавно по времени а прыгают из одного состояния в другое, т.к. дифференциация это различия а не дифференцирование
Не хочу быть мемоюзером, но а че поделать? Я и вправду ничего не понял, но было очень интересно.
кажется, что умножение вектора на матрицу преобразования было бы понятнее )
а почему в примере с пальцми вращались и оси Х,У,Z? Пространсво ж не вращается...
@math-to-masses
Жыл бұрын
Там вращались локальные оси. Как у самолёта. Если самолёт повернётся на 90 градусов вокруг одной из своих осей, то его локальные оси повернутся, и штурвал следующие вращения будет делать вокруг повёрнутых осей, а не исходных глобальных. Просто на практике таких задач довольно много. Если можно было бы вращение любого тела естественно описывать вращениями вокруг глобальных координат, то проблем было бы меньше
Ориентация объекта (самолета) не описывается одним вектором. Нужно два.
@hiler844
2 ай бұрын
вектор + вращение вокруг вектора. Меняешь вектор - вращение по одной оси, вращаешь вокруг вектора - вращение по другой оси
Я знаю как минимум два способа вращения в трёхмерном пространстве, поэтому как то совсем не ясно, почему именно кватернионы, ну да ладно, посмотрим, что будет сказано дальше, но введение уже какое-то странное.
@Spectre4490
Жыл бұрын
У Кватернионов нет эффекта Gimbal lock, насколько я знаю из-за Gimbal lock был случай аварии в миссии Аполлон 11
@canis_mjr
Жыл бұрын
@@Spectre4490 у кватернионов есть эффект двойственности, например, вам надо повернуться на 3 градуса, а поворот будет на 357 градусов. От задачи зависит что использовать. Я занимаюсь моделированием систем, при описывает кинематики уравнением Пуассона в матричном виде никакого эффекта схлопывания осей нет, направляющие косинусы т в Африке направляющие косинусы, сложности возникают при получении углов, например по этому, вы с трелялках не можете посмотреть назад откидывая голову назад, в этом случае будет скачок на пи.
@canis_mjr
Жыл бұрын
@@Spectre4490 если же говорить в вертикальном старте ракеты, то необходимо делать дополнительный разворот системы координат, я сам такой способ применял, и никаких кватернионов. Я так же видел, как люди применяли кватернионы там, где это не надо, одни проблемы. Сейчас я занимаюсь объектом, который свободно вращается вокруг всех трёх осей, я вынужден применять кватернионы, и да, их двойственность вынуждает делать дополнительные действия. Если выбрать между дополнительным разворотом и двойственностью, то я выбираю поворот. Дак же есть ещё один нюанс. Направляющие косинусы терпимы к накоплению ошибки, кватернионы приходится постоянно нормализовать.
На практике есть ещё одна проблема, это двойственность кватерниона, и в зависимости от того, какую задачу вы решаете можно выбрать или матрицы или кватернионы, у обоих способов есть свои преимущества и недостатки.
@iforand
Жыл бұрын
Для компьютера удобнее всего оперировать именно с кватернионами: три эйлеровых угла слишком мало, потому что в них есть вырожденные состояния, при которых вычисления ломаются; 9-ть чисел поворотной матрицы слишком много, потому что долго считать и накапливается много вычислительной ошибки, пока все это посчитается; 4 числа кватерниона - идеально. - нет вырожденных состояний, так же удобны в плане математики как и матрицы, и вычислять только 4 значения на каждом шаге интегрирования.
@canis_mjr
Жыл бұрын
@@iforand если вы говорите об уравнениях Пуассона, Тота случае произвольной ориентации да, кватернионов удобней, но есть двойственность. Уравнения Пуассона в тригонометрической форме тоже прекрасно справляются, и никакой двойственности, и углы получаются непосредственно, без пересчёта. Задача определяет более удобный инструмент 🤷🏻♂️
Очень люблю математику но плохо разбираюсь в формулах.
@math-to-masses
Жыл бұрын
Тогда помогите мне стать лучше! Покритикуйте меня, расскажите, что было рассказано плохо или не понятно :)
@user-mm5zo2lm3z
Жыл бұрын
@@math-to-masses на " гнилом Западе " уже лет 15 как существуют обязательные курсы для проф.препод. состава высших школ включительно и учат их .....избегать максимально ФОРМУЛ )! . .. Попробуй теперь в качестве.яяяяркого антагониста- пивному каналу Get a class, пояснить это . )))! В ответ Задуют пивными отрыжками мгновенно )! Это поколение старперов уже необратимо ! / ну , а с позиции педагогики и ее простых принципов ... ты можешь и сам себя покритиковать ! .напр.видео урок ...он разве иск.для того чтобы некто шевелил губами весь урок ?...) нет конечно же ! Молодой чел.так устроен что оптимально он усваивает 85% визуальной информации , а не словесной ! Удивлён? . Так это всего один из 7 пунктов принципов педагогики ))! ... зная их, нужно и можно строить уроки , кот.войдут в историю и станут вечными тк.классически они сделаны верно ! Понима ?... )
Супер видео, но у вас на 5:02 ki = j и ki = -j
@math-to-masses
Жыл бұрын
Справедливо. Налажал на монтаже. ki = j, ik = -j
kzread.info/dash/bejne/o2t6srieY8vMlNo.htmlsi=kErlKHuXh_wOdbAL что нужно сделать для понимания кватернионов (в смысле вращения S2)
а теперь объясняй понятия многомерных матриц :))))) я всё прекрасно понял, у меня с математикой хорошо.
На мониторе долж6а вращаться планета. Серьёзное упущение
-а ты сразу перемножил кватернион в тригонометрической форме на кватернион в общем виде -надо было сначала пере конвертировать все кватернионы в общий вид -потом перемножить
@math-to-masses
Жыл бұрын
у кватернионов нет тригонометрической формы. Они всегда находятся в виде константа + константа * i + константа * j + константа * k. Собственно, в таком виде я их и перемножил :)
@user-xk7rl3dc6c
Жыл бұрын
Cosθ+sinθ*vector это тригонометрическая форма. a+bi+cj+dk это общий вид
@user-xk7rl3dc6c
Жыл бұрын
A =cosθ , а векторную часть покомпонентно надо поделить на sinθ
ошибка в формуле в 5:02 ki=j и ki=-j
@math-to-masses
8 ай бұрын
да, верно, спасибо!
С количеством абстракций саватеева очень сложно справиться. Здесь же сразу пример, что даёт шансы понять суть))
@math-to-masses
10 ай бұрын
Спасибо! Надеюсь, что действительно что-то стало понятно после моих объяснений :)
я в 3д использовал матрицы
Почти ничего не понял.
ничего не понятно просто что-то проумничал и пошел довольный
Почему то все решили, что живут в трехмерном пространстве, а все физические уравнения -двухмерные. И планеты почему-то не кубические. Если использовать математику искривленного пространства, то третье измерение получается путем векторного произведения первых двух. Ну и зачем нам надуманное третье измерение??))
@math-to-masses
Жыл бұрын
Тут вообще есть беда, что человеческие глаза воспринимают именно двуиерные картинки. Так что даже будь окружающее нас пространство десятимерное, мы бы всё равно видели бы только двумерную проекцию
@user-oi2uh4uh4c
Жыл бұрын
Формулы математические, значит, десятимерные а ты их видишь двумерными. Закрой глаза, и думай в уме)))
@pavelgorokhov2976
Жыл бұрын
Какие такие физические уравнения двумерные? Или это рофл?
@user-oi2uh4uh4c
Жыл бұрын
@@pavelgorokhov2976 Длина * X = Ширина*Y = Высота * Z. Вот, трехмерное уравнение. Или, если считаешь, что в живешь в трехмерном, то напиши закон Всемирного тяготения в системе Солнце Земля Луна.)) Есть математика искривленного пространства, где третье измерение есть векторное произведение первых двух)) Достаточно - ДВУХ))
Для чего я это смотрю?
@user-xt4sr8qh8u
Жыл бұрын
для деградации
дико интересно, но ничего не понятно)
Красиво слова складывает..., но ничего не понятно.... Как песни на иностранном языке.... Умный наши - это хорошо!!!