Уточните задачу. У вас есть вектор и результат его поворота в пространстве. Вы хотите понять, каким кватернионом описать поворот? В таком виде задача имеет бесконечное количество решений, потому что не зафиксирована ось, вокруг которой нужно делать вращение. Вам неизбежно нужно знать, вокруг чего мы вращаемся. А если ось известна и не известен только угол, то вы можете составить уравнение из формулы, представленной в первую минуту на видео, где угол будет неизвествым. А потом это уравнение решить относительно неизвестного угла
Здесь, на видео, нет никакой математики. Именно той, что преподается в школах/институтах. Тут просто констатация фактов, что "это должно быть так и не иначе, а почему так я не знаю". Но с практической точки зрения эта лекция гораздо полезнее оказывается.
Рекомендации ютуба помогли найти твой канал. Все очень круто и понятно. Посмотрел каждое видео. Спасибо за такое простое разъяснения, таких не простых вещей!
Молодец. Я наконец то врубился . Сразу . До этого смотрел чью то лекцию . Потерял суть. Это надо было разбирать когда студент и есть время посидеть и подумать. При десяти часовом рабочем дне невозможно быстро въехать в подробные теоремы. Вроде в е правильно Все понял по шагам . Утром не помню , текущие дела все затерли. Тут суть схватил сразу. Можно и теоремы посмотреть. Я представляю как прыгал от радости Гамильтон когда избавил я от неоднознчности в полярных координатах , эти знаки синусов и косинусов невозможно запрограммировать просто. Автору огромный респект!
Гамильтон хотел сначала ограничиться двумя мнимыми, но умножать было сложновато. Его осенило во время прогулки, что нужна не одна, а две мнимые и на месте где это произошло теперь мемориальная доска с формулой: i2 = j2 = k2 = ijk = −1 Если кажется сложноватым, то расстраиваться несколько преждевременно - Гамильтон был гением и с малого детства читал на нескольких языках и даже до него дошло не сразу 😁
@@random6959 Когда "кликнет" оно на самом деле несложно, и приведенная формула это показывает. А фразу про все гениальное много кстати кому приписывают
Гамильтон и прочие древние математики не умели погромировать на компутерах и потому по безграмотности обозвали функции с глобальными переменными внутри числами. Нет там внутри никаких мнимых чисел, это выдумки математиков в упор не видящих функции производящие операции с самыми обычными целыми и дробными числами и складывающими промежуточные результаты в глобальные переменные, откуда их можно выдернуть и использовать в других функциях.
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. Но это делается просто для упрощения дальнейших вычислений на компьютере, т.к. иначе местами требовалось бы взять норму кватерниона.
для поворота вокруг оси: n=(nx, ny , nz) на угол alf можно построить кватернион : q =(cos(alf), sin(alf) *I, sin(alf) *j, sin(alf) *k). для любого такого кватернион можно вычислить матрицу поворота вокруг оси n на угол alf. Далее, последовательность поворотов вокруг различных осей отображается в виде перемножения кввтернионов. Итоговый кввтернион переводим опять в матрицу и получаем матрицу перехода для векторов. То есть, не обязательно поворачиваемые вектора тоже записывать через кввтернионы. достаточно на кватернионы 'повесть' только преобразования координат векторов, таких, как повороты.
Очень круто, обожаю вышмао оссобенно теорию графов. Но то что понятным языком рассказываешь как работают относительно сложные вещи - очень круто. Кста коммунитативносьь можно проще показать, почему она не работает. Просто повращать какой нибудь объект в одних и тех же направлениях но в разном порядке.
Антон, спасибо за контент, очень интересно, продолжай в том же духе ! Было бы интересно послушать о оптимизации кода с углублённым математическим подходом к этой задаче, разбором этих подходов с подкреплёнными математическими обоснованиями
крутой канал , комент в поддержку автора , надеюсь будет больше контента про программирование и всякие подводные камни по типу хранения чисел с плавающей точкой , в основном все опускают эту тему аргументируя тем что не нужно знать как работает машина чтоб ее водить
Хорошее видио, дало хорошее понятие использования кватернионов, кстати, в том месте с квадратами, где сумма квадратов должна ровняться еденице, можно было легко доказать что если вектор оси вращения ужалён от начала координат на единицу, то вся эта штука равна единице, с помощью теоремы Пифагора (да несмотря на 3d это через неё легко делается, сначала находим формулу для расстояния до начала координат в 3d, а потом применяем её), и надо ещё сказать что для полного понимания мне пришлось посмотреть несколько видио от канала 3blue1brownрусский (перевод английского 3blue1brown)
А если задавать вращение вектором, направление которого задает ось поворота, а длина - угол поворота (так вращение задается в физике), то соответсвующий кватернион будет считаться как эеспонента оси вращения. Все в точности, как с аргументом комплексного числа в экспоненциальной форме :) Математика - самая красивая наука!
Столкнулся в своей работе с необходимостью описывать повороты и углы. Начал изучать кватернионную алгебру, но до конца проект не довёл, пришлось уволиться по другим причинам. Думаю на досуге попробовать доделать начатое
Отличное видео, как насчёт сделать видео по алгоритму коллапса волновой функции? На русском ютубе эта тема мало освещена с точки зрения программирования и применения в генерации карт или изображений из тайлов
Мы предъявили алгоритм, с помощью которого мы можем повернуть самолёт, если известна его ось (ориентация) и известно, как ему нужно повернуться. Например, есть задача: самолёт смотрит вдоль вектора (1,2,3) хотим изменить его крен (в авиации есть три угла: крен, тонгаж и рысканье) на 10 градусов. Как тогда будет ориентирован самолёт после такого поворота?
...для теоретиков это оооочИнь сложный вопрос )! Они в большинстве своём его просто не понимают ))! От чего Суть дела превращается в абсурд , а переучивание таких ведёт к абсурду в абсурде ))! ...
Используя кватернионы можно прикрепив к человеку IMU построить его путь в трёхмерном пространстве (ua-cam.com/video/WpJhFl35M_8/v-deo.html), думаю это можно использовать для пожарных, что бы знать положение каждого во время тушения или в будущем для сканирующих дронов, запустил рой дронов они построили 3хмерную карту пещер, очень крутая штука
@@Spectre4490 персональные метки, куро-коды, (китайские)15-ти-минутные города... слышал, слышал.. стеклянный город и даже ночью кто-то будет подглядывать. эх, а всё начиналось с пещер...
Местами очень согласен с @VitalSchool . Суть проблемы: Собираюсь спаять компас для эхолота. В форуме про компас вылезли эти кватернионы. Захотелось хоть немного понять. Мне 50+, что такое векторы, комплексные числа , матрицы забыл давно и возможно навсегда, хотя когда то спецразделы высшей математики автоматом мне зачли. В вашем видео всё очень близко для понимания , но постоянно что то ускользает. Добавьте описание используемых терминов - векторы, комплексные числа и Т.Д. на пальцах, как Вы показали вращение осей, что 3 поворота в итоге как 1, по одной оси. Если Вы в теме, то это не сложно, но человеку далёкому от этого (забывшему всё это) очень облегчит задачу хотя бы вникнуть в суть. Если взять пример , поворачиваем по Х на 30`, по Y на 45` и по Z на 90` , подставляем эти числа в формулу и считаем, а потом пример с другими углами, то человек сопоставив два расчёта уже что то уяснит. Особенно, если это будут 2 последовательных поворота с возвратом в исходную ориентацию. Примеры с кучей букв и без единой цифры трудны для восприятия далёкому от математики человеку, особенно когда и физику подзабыл, но вникнуть хочется. В нескольких местах увидел, что используется синус\косинус половины угла, тоже вызывает непонимание, крутим то на целый. Может есть возможность сделать ролик\ролики для АБСОЛЮТНЫХ чайников? Им иногда тоже хочется понять про что там говорят на умном языке 🙂
Я сделал авиагоризонт в телефоне. И теперь думаю как калибровку сделать. Поможет ли кватарнион в калибровке авиагорионта по оси z (тангаж в пейзажном режиме телефона)? Хочу понять - в правильном ли я направлении копаю
Кватернион - это короткий способ записать операцию поворота. Везде, где вы говорите "тангаж на угол альфа", можно вместо этого говорить "кватренион cos(альфа/2), 0,0, sin(альфа/2)". Глобально совершенно не важно, храните ли вы в памяти угол тангажа, кватернион или матрицу поворота. Разным людям проще по-разному. Является ли кватернион ключевым понятием для калибровки? - нет. Можно ли им пользоваться? - да
@@math-to-masses мне углов эйлера как будто бы недостаточно для калибровки тангажа. Для крена калибровка считается норм а вот с тангажом пооблема из-за силы тяжести. Я от девайса получаю от +1 это 90 градусов вверх от горизонта до -1 это -90 градусов вниз от горизонта. Мне не хватает еще одной оси в которой я бы понимал вектор направления устройства. И как будто бы кватарнион кажется решением
в чём проблемы подошёл взял за руку сделал кватернион из вращаемого вектора сделал кватернион из оси вращения перемножил кватернионы и получил из них результирующий повёрнутый вектор
Конечно можно! В этом одна из их самых крутых фишек. Просто в лоб один умножается на другой и получается новый кватернион, который будет композицией исходных поворотов
Было бы понятнее на практических примерах. Объяснение неплохое, однако понятно категории зрителей, либо находящихся в теме, либо имеющим не среднее математическое образование. Может кто-то начитался/насмотрелся. Мне вот, интересно чисто утилитарное применение. Где, в какой сфере мне может пригодится это знание?
Да, справедливое замечание. Я делал этот видос с расчётом, что у человека возникнет какая-то проблема, он где-нибудь вычитает, что её можно решить с помощью кватернионов, и пойдёт гуглить, а что это такое. Ответить на ваш вопрос можно так. Если когда-нибудь вам нужен будет математический аппарат, который реализует вращение, то вам помогут кватернионы. Например, вы разрабатываете или используете физический движок (для компьютерной игры) и вам нужно описать движение и вращение тел. Или, например, вы - 3D художник, вы слепили голову персонажа, а теперь надо анимировать, как персонаж головой качает. Всё это можно сделать как раз с помощью кватернионов
ооо, это тема на полтора часа рассуждений. О том, кто как и зачем двигает математику. И что первично, то есть откуда берутся формулировки теорем, которые надо доказать - из теории или из практики
Спасибо за видео! Механика понятна, но придется смотреть Савватеева )) А все таки в этих всех мнимых единицах и экспоненциальной форме к. чисел есть какое-то жульничество ) Кстати, а у кватерниона случайно нет экспоненциальной формы?
Ну моей целью и было пояснить, как работает механика :) Может быть какая-то экспоненциальная форма есть, но я про такую ничего не знаю. Тут надо помнить, что кватернионы - это не совсем обычные числа. Они сильно хуже комплексных. Поэтому всякие изыски с ними, вроде экспоненты, надо отдельно проверять и доказывать
Ну не совсем про кватерниноны, но вообще всякие вращения это про группы Ли и группы вращений. А там вроде инфинитоземальное изменение и есть экспонента. (Честно, я группы трогал только с закрытыми глазами)
Как-то я не проникся этой темой, ведь за меня это делал GLM, но разобраться полностью в этой темке - энто круто. А так, чтобы что-то повращать нужно всего лишь сместить (на offset) точки к 0 оси вращения, применит sin cos, и вернуть смещение обратно.
Как же быть если мне надо два кватерниона которые хранят вращение которое отличается больше чем на 360 градусов? Если в кватернионе вращенном на 360 градусов выходит тот же кватернион что и изначальный??
Действительно, кватернионы не предназначены для хранения вращения более, чем на 360 градусов. Я, честно говоря, затрудняюсь сказать, что именно нужно делать, чтобы такое вращение сохранить
@@math-to-masses убиться можно. Пару дней голову ломаю. Главное нашёл решение которое позволяет очень легко интерпретировать кватернион на любой размер вращения если представить его уектором направления. Но тогда вообще не ясно как его трансформировать
Классно! Мне эта инфа как раз полезна для теории движения и управления космическим аппаратом. Получается, если надо последовательно повернуть вокруг трёх осей, то надо 3 раза умножение проводить?
Да, если вокруг трёх осей, то можно через кватернионы три раза последовательно. Ещё можно через матрицы поворота. Они чуть проще, но там надо понимать, какие это оси - локальные оси вашего космического аппарата или глобальные оси изначальной системы отсчёта
@@math-to-masses А вот кстати декан говорил , что матрицами поворота пользоваться удобно при вращении до 90 градусов по любой оси. А если больше чем 90, то там особые точки вылезают при интегрированиях угловой скорости , деление на ноль и бортовой компьютер не считает) Поэтому он похвалил кватернионный поворот, где нет такой проблемы).
В этом видео мы рассматривали задачу, когда нам задан вектор, который мы хотим повернуть, ось вращения и угол. Если у нас нет оси вращения и угла, то нужно разобраться, а что нам дано. Например, нам может быть дан вектор, который надо вращать, и этот же вектор после вращения. В таком случае нужно умножить эти два вектора с помощью векторного произведения - так мы найдём ось вращения. А угол, на который нужно повернуться, можно найти с помощью скалярного произведения
Respect, тебе 20 лет и ты уже бородат. Иногда кажется что такими вещами могут заниматься только бородатые 40+ летние олдскульщики. Давай еще про сплайны, нурбсы и аналитическое вычисление пересечений поверхностей второго порядка ))
Спасибо. Набрёл на сюжет по рекомендации YT. Любопытный подход к изложению темы: на стыке науки и магии. С одной стороны, всё показал, но почти ничего не доказал. То есть в сухом остатке - новый термин "кватернион" и некий факт, что он как-то чудесным образом может описывать вращение вектора. Тем, кто в теме - непонятна прикладная часть (до которой дело не дошло), прочим - всё непонятно. Стоило бы точнее определиться с целевой аудиторией и, либо нагрузить больше теории, либо демонстрировать больше практических приёмов в конкретной среде/ПО. Успехов!
Когда ты говоришь, что для перевода одного вектора в другой нужны только ось и угол поворота вокруг этой оси, то создаётся ощущение, что ты говоришь не о произвольной оси в пространстве, а об одной из трёх координатных осей, потому что ты их периодически упоминаешь. Тут бы какая-то визуализация помогла. Конечно, потом всё встаёт на свои места, но этот момент путает. А так - всё понятно. Хоть я кватернионы и не изучал в вузе, но понял.
Вам явно нужна ось вращения - нужен вектор в какой-то системе координат, вокруг которого вы вращаете. Это может быть любой вектор, например, (1,2,3). это и есть альфа, бетта, гамма. Ну и вам явно нужен угол вращения. Ну и дальше по формуле. Кватернион q =cos(угла) + sin(угла)(1*i + 2*j + 3*k)
@@math-to-masses, благодарю за пояснения. Я сейчас понял, что неявно рассматривал обратную задачу: имея начальный и результирующий векторы, найти угол и ось вращения. Теперь вопрос снят
Столкнулся с кватернионами нечаянно, осваивал 3D Max, вращал сферы кольца, прикольная штука =) Но по моему мнению, ваш ролик обречен на провал =( Среднестатистический человек думает о кватернионах с вероятностью...=) Тут показывать надо в модели, графика нужна. Просто текст воспринимается плохо. Тем более тем кто про это ничего не знает. Успеха! =)
Спасибо за ваш комментарий! Интересно, мне не приходила в голову такая точка зрения. Кажется, всему виной моя проф. деформация - мне формула кажется полезнее графики :)
Я знаю как минимум два способа вращения в трёхмерном пространстве, поэтому как то совсем не ясно, почему именно кватернионы, ну да ладно, посмотрим, что будет сказано дальше, но введение уже какое-то странное.
@@Spectre4490 у кватернионов есть эффект двойственности, например, вам надо повернуться на 3 градуса, а поворот будет на 357 градусов. От задачи зависит что использовать. Я занимаюсь моделированием систем, при описывает кинематики уравнением Пуассона в матричном виде никакого эффекта схлопывания осей нет, направляющие косинусы т в Африке направляющие косинусы, сложности возникают при получении углов, например по этому, вы с трелялках не можете посмотреть назад откидывая голову назад, в этом случае будет скачок на пи.
@@Spectre4490 если же говорить в вертикальном старте ракеты, то необходимо делать дополнительный разворот системы координат, я сам такой способ применял, и никаких кватернионов. Я так же видел, как люди применяли кватернионы там, где это не надо, одни проблемы. Сейчас я занимаюсь объектом, который свободно вращается вокруг всех трёх осей, я вынужден применять кватернионы, и да, их двойственность вынуждает делать дополнительные действия. Если выбрать между дополнительным разворотом и двойственностью, то я выбираю поворот. Дак же есть ещё один нюанс. Направляющие косинусы терпимы к накоплению ошибки, кватернионы приходится постоянно нормализовать.
вокруг каждой из осей можно было повернуться как по часовой стрелке, так и против часовой. Тут я хотел показать, что найдётся такая совокупность поворотов с таким вот интересным свойством
@@settyentyson8678 Нет, погодите, +90 и -90 - это не одно и то же. Действительно, повернись я в одну сторону, я бы повернул палец к груди, а повернись в другую сторону - повернулся бы к камере. В этом вы правы. Интерес таких поворотов в том, что результат получается в любом случае неожиданный, как мы не повернись
На практике есть ещё одна проблема, это двойственность кватерниона, и в зависимости от того, какую задачу вы решаете можно выбрать или матрицы или кватернионы, у обоих способов есть свои преимущества и недостатки.
Для компьютера удобнее всего оперировать именно с кватернионами: три эйлеровых угла слишком мало, потому что в них есть вырожденные состояния, при которых вычисления ломаются; 9-ть чисел поворотной матрицы слишком много, потому что долго считать и накапливается много вычислительной ошибки, пока все это посчитается; 4 числа кватерниона - идеально. - нет вырожденных состояний, так же удобны в плане математики как и матрицы, и вычислять только 4 значения на каждом шаге интегрирования.
@@iforand если вы говорите об уравнениях Пуассона, Тота случае произвольной ориентации да, кватернионов удобней, но есть двойственность. Уравнения Пуассона в тригонометрической форме тоже прекрасно справляются, и никакой двойственности, и углы получаются непосредственно, без пересчёта. Задача определяет более удобный инструмент 🤷🏻♂️
Вопрос: если после произведения кватернионов результирующий кватернион имеет ненулевую действительную часть, как его привести к вектору? А так хорошее объяснение, но термин "бяка" режит слух.
@@sladge17 об этом коротко сложно написать. Правильно я вас понимаю, что у вас есть угол, на который нужно повернуться вокруг оси х, угол вокруг оси y и угол вокруг оси z? Тогда можно сделать три кватерниона. И трижды сделать умножение. Вот тут написаны все варианты (да, понимаю, всё по английски, но математика, вроде, понятна): en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
@@math-to-masses Спасибо, дейсвительно можно три раза перемножить. Если я правильно понимаю при использовании кватернионов порядок осей значения не имеет.
Там вращались локальные оси. Как у самолёта. Если самолёт повернётся на 90 градусов вокруг одной из своих осей, то его локальные оси повернутся, и штурвал следующие вращения будет делать вокруг повёрнутых осей, а не исходных глобальных. Просто на практике таких задач довольно много. Если можно было бы вращение любого тела естественно описывать вращениями вокруг глобальных координат, то проблем было бы меньше
@@math-to-masses на " гнилом Западе " уже лет 15 как существуют обязательные курсы для проф.препод. состава высших школ включительно и учат их .....избегать максимально ФОРМУЛ )! . .. Попробуй теперь в качестве.яяяяркого антагониста- пивному каналу Get a class, пояснить это . )))! В ответ Задуют пивными отрыжками мгновенно )! Это поколение старперов уже необратимо ! / ну , а с позиции педагогики и ее простых принципов ... ты можешь и сам себя покритиковать ! .напр.видео урок ...он разве иск.для того чтобы некто шевелил губами весь урок ?...) нет конечно же ! Молодой чел.так устроен что оптимально он усваивает 85% визуальной информации , а не словесной ! Удивлён? . Так это всего один из 7 пунктов принципов педагогики ))! ... зная их, нужно и можно строить уроки , кот.войдут в историю и станут вечными тк.классически они сделаны верно ! Понима ?... )
-а ты сразу перемножил кватернион в тригонометрической форме на кватернион в общем виде -надо было сначала пере конвертировать все кватернионы в общий вид -потом перемножить
у кватернионов нет тригонометрической формы. Они всегда находятся в виде константа + константа * i + константа * j + константа * k. Собственно, в таком виде я их и перемножил :)
И что эти кватернионы не дифферинцируются плавно по времени а прыгают из одного состояния в другое, т.к. дифференциация это различия а не дифференцирование
Можете подсказать, как получить кватернион поворота из двух известных векторов? (чтобы потом поворачивать другие вектора)
Уточните задачу. У вас есть вектор и результат его поворота в пространстве. Вы хотите понять, каким кватернионом описать поворот? В таком виде задача имеет бесконечное количество решений, потому что не зафиксирована ось, вокруг которой нужно делать вращение. Вам неизбежно нужно знать, вокруг чего мы вращаемся. А если ось известна и не известен только угол, то вы можете составить уравнение из формулы, представленной в первую минуту на видео, где угол будет неизвествым. А потом это уравнение решить относительно неизвестного угла
@@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.
@@math-to-masses Кстати, решений вроде должно быть два. По длинной дуге и короткой.
@@Dm1tr17 Хм, да, это сработает, если наши векторы отложены от нуля. Спасибо, что поделились!
С помощью двух кватернионов не выйдет, по-сути то что было сказано в первом ответе. Возможно для этого нужно два вектора и два результата
как же приятно снова окунуться математику, особенно в ее практическую часть. Давай, давай, не останавливайся
, да ланна прикидываться, типа ты шо-то понял
Здесь, на видео, нет никакой математики. Именно той, что преподается в школах/институтах. Тут просто констатация фактов, что "это должно быть так и не иначе, а почему так я не знаю". Но с практической точки зрения эта лекция гораздо полезнее оказывается.
Наконец то крутое и понятное видео о кватернионах. Месяц с ними разбирался, чтобы заставить вращаться детали в UE4, а тут за 13 минут, респект
Рекомендации ютуба помогли найти твой канал. Все очень круто и понятно. Посмотрел каждое видео. Спасибо за такое простое разъяснения, таких не простых вещей!
Коэффициент эффективности объяснения на высоте. Респект за доходчивое объяснение без воды.
спасибо! Мне приятно!
Очень интересно
И даже не ожидал, что что-то пойму
У тебя талант))
Вы бы знали, какую искреннюю добрую улыбку вы вызвали вашим комментарием! Спасибо!
кароч всё понятно, мне кватернионы никогда не понять
Картинка с совами прям в нужный момент ))))))))
Молодец. Я наконец то врубился . Сразу . До этого смотрел чью то лекцию . Потерял суть. Это надо было разбирать когда студент и есть время посидеть и подумать. При десяти часовом рабочем дне невозможно быстро въехать в подробные теоремы. Вроде в е правильно Все понял по шагам . Утром не помню , текущие дела все затерли. Тут суть схватил сразу. Можно и теоремы посмотреть. Я представляю как прыгал от радости Гамильтон когда избавил я от неоднознчности в полярных координатах , эти знаки синусов и косинусов невозможно запрограммировать просто. Автору огромный респект!
Огонь. Хорошо рассказал. А за готовый краткий в ответ в самые первые секунды видеоролика - отдельное спасибо!
(Впрочем, я досмотрел до конца)
Гамильтон хотел сначала ограничиться двумя мнимыми, но умножать было сложновато. Его осенило во время прогулки, что нужна не одна, а две мнимые и на месте где это произошло теперь мемориальная доска с формулой: i2 = j2 = k2 = ijk = −1
Если кажется сложноватым, то расстраиваться несколько преждевременно - Гамильтон был гением и с малого детства читал на нескольких языках и даже до него дошло не сразу 😁
А вот один великий учёный глворил: "Все гениальное - просто"
@@random6959 Когда "кликнет" оно на самом деле несложно, и приведенная формула это показывает. А фразу про все гениальное много кстати кому приписывают
Дублин, мост Брук, на его перилах Гамильтон вырезал ножиком свою знаменитую ij=k.
Гамильтон и прочие древние математики не умели погромировать на компутерах и потому по безграмотности обозвали функции с глобальными переменными внутри числами. Нет там внутри никаких мнимых чисел, это выдумки математиков в упор не видящих функции производящие операции с самыми обычными целыми и дробными числами и складывающими промежуточные результаты в глобальные переменные, откуда их можно выдернуть и использовать в других функциях.
@@Bebebe1111kbjа ты, по всей видимости, дохуя гений, раз кроме тебя все остальные до этого не дошли?
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. Но это делается просто для упрощения дальнейших вычислений на компьютере, т.к. иначе местами требовалось бы взять норму кватерниона.
На 5:00 ошибка в самом нижнем ряду на картинке написано ki=-j, а должно быть ik=-j
Понравилось. То что надо. Оптимально. Долгих выводов нет а свойства рассказаны и без ненужных упрощений.
Осталось найти ось с помощью векторного умножения....
Спасибо, очень доходчиво!
для поворота вокруг оси: n=(nx, ny , nz) на угол alf можно построить кватернион : q =(cos(alf), sin(alf) *I, sin(alf) *j, sin(alf) *k). для любого такого кватернион можно вычислить матрицу поворота вокруг оси n на угол alf. Далее, последовательность поворотов вокруг различных осей отображается в виде перемножения кввтернионов. Итоговый кввтернион переводим опять в матрицу и получаем матрицу перехода для векторов. То есть, не обязательно поворачиваемые вектора тоже записывать через кввтернионы. достаточно на кватернионы 'повесть' только преобразования координат векторов, таких, как повороты.
Пушка бомба, где Вы были раньше?
Зачет! Все сказал за 20 первых секунд! Супер!
Очень круто, обожаю вышмао оссобенно теорию графов. Но то что понятным языком рассказываешь как работают относительно сложные вещи - очень круто. Кста коммунитативносьь можно проще показать, почему она не работает. Просто повращать какой нибудь объект в одних и тех же направлениях но в разном порядке.
Внятно и приятно.Спасибо.
Антон, спасибо за контент, очень интересно, продолжай в том же духе !
Было бы интересно послушать о оптимизации кода с углублённым математическим подходом к этой задаче, разбором этих подходов с подкреплёнными математическими обоснованиями
ну, за 20 секунд всё объяснил! и главное - в самом начале ролика! спасибо.
Это просто супер! Понятно и понравилось!
Очень Полезно надо продолжать дальше !
Почти не понял, но тем интереснее!))
Спасибо за то, что делаете такие "разъяснения"!!!
вот вы сейчас похвалили или поругали? 😅
можете попробовать через матрицы
крутой канал ,
комент в поддержку автора ,
надеюсь будет больше контента про программирование и всякие подводные камни по типу хранения чисел с плавающей точкой , в основном все опускают эту тему аргументируя тем что не нужно знать как работает машина чтоб ее водить
Спасибо вам за добрые слова! Я планирую выпускать контент, связанный и с математикой, и с программированием. Но в большей степени о чём-то между ними
12:16 опечатка? если открывать скобки последнем действии получается i+2j
Ютубу нужно больше таких каналов :D
Отличное обьяснение
Отлично!
Супер видео, автор гений!!!
пасибо. 20 секунд. всё просто и ясно
Хорошая подача, спасибо
Хорошее видио, дало хорошее понятие использования кватернионов, кстати, в том месте с квадратами, где сумма квадратов должна ровняться еденице, можно было легко доказать что если вектор оси вращения ужалён от начала координат на единицу, то вся эта штука равна единице, с помощью теоремы Пифагора (да несмотря на 3d это через неё легко делается, сначала находим формулу для расстояния до начала координат в 3d, а потом применяем её), и надо ещё сказать что для полного понимания мне пришлось посмотреть несколько видио от канала 3blue1brownрусский (перевод английского 3blue1brown)
Спасибо, понятно
хорошо объясняете
Добрый день, подскажите симулятор программу или онлайн где можно поиграться с уравнениями кватернионов с их визуализацией. Спасибо.
6:43 Вы абсолютно правы так мы и выглядим 😂
Вообще зашел в эту тему кватернионов из-за попытки разобраться в векторной математики в апи одной игры
Спасибо! Очень доступно. Какой аппарат используете для 3d визуализации?
Спасибо! Конкретно в этом видео я использовал 3D Slash. В других видео ещё для этих целей служил Desmos и Geogebra
Полный кайф
А если задавать вращение вектором, направление которого задает ось поворота, а длина - угол поворота (так вращение задается в физике), то соответсвующий кватернион будет считаться как эеспонента оси вращения. Все в точности, как с аргументом комплексного числа в экспоненциальной форме :) Математика - самая красивая наука!
Спасибо, разобрался) На 6:22 последняя формула по-моему с ошибкой, нужно вместо df -> dg, gh -> bh, dg -> df
Возможно, вы правы, спасибо :)
Для вольфрам математики есть крутое дополнение, написанное ребятами из МФТИ, крайне удобный тул для интересующихся ребят
Супер.
Столкнулся в своей работе с необходимостью описывать повороты и углы. Начал изучать кватернионную алгебру, но до конца проект не довёл, пришлось уволиться по другим причинам. Думаю на досуге попробовать доделать начатое
5:11 получается что i j k в данном рассуждении векторные
Отличное видео, как насчёт сделать видео по алгоритму коллапса волновой функции?
На русском ютубе эта тема мало освещена с точки зрения программирования и применения в генерации карт или изображений из тайлов
Хм, спасибо за идею, я изучу вопрос :)
А что с умножением и сложением кватернионов? Как в таком случае ведут себя векторы?
круто! понятно! аффтар, давайте ещё! )))
Либо я что-то не понимаю, либо на 6:27, после раскрытия скобок, в уровнении ТРИ ошибки.
Интересно Антон рассказывает! Может новую серию лекций про ROS записал бы еще?
не давите на больное :)
а что конкретно вы этим посчитали? угол наклона самолёта в произвольной системе координат? угол отклонения самолёта от курса?
Мы предъявили алгоритм, с помощью которого мы можем повернуть самолёт, если известна его ось (ориентация) и известно, как ему нужно повернуться.
Например, есть задача: самолёт смотрит вдоль вектора (1,2,3) хотим изменить его крен (в авиации есть три угла: крен, тонгаж и рысканье) на 10 градусов. Как тогда будет ориентирован самолёт после такого поворота?
...для теоретиков это оооочИнь сложный вопрос )! Они в большинстве своём его просто не понимают ))! От чего Суть дела превращается в абсурд , а переучивание таких ведёт к абсурду в абсурде ))! ...
@@БорисДракон я весьма далёк и от авиации и от математики, так что может тешить своё чсв сколько угодно.
Используя кватернионы можно прикрепив к человеку IMU построить его путь в трёхмерном пространстве (ua-cam.com/video/WpJhFl35M_8/v-deo.html), думаю это можно использовать для пожарных, что бы знать положение каждого во время тушения или в будущем для сканирующих дронов, запустил рой дронов они построили 3хмерную карту пещер, очень крутая штука
@@Spectre4490 персональные метки, куро-коды, (китайские)15-ти-минутные города... слышал, слышал..
стеклянный город и даже ночью кто-то будет подглядывать.
эх, а всё начиналось с пещер...
Местами очень согласен с
@VitalSchool . Суть проблемы: Собираюсь спаять компас для эхолота. В форуме про компас вылезли эти кватернионы. Захотелось хоть немного понять. Мне 50+, что такое векторы, комплексные числа , матрицы забыл давно и возможно навсегда, хотя когда то спецразделы высшей математики автоматом мне зачли. В вашем видео всё очень близко для понимания , но постоянно что то ускользает. Добавьте описание используемых терминов - векторы, комплексные числа и Т.Д. на пальцах, как Вы показали вращение осей, что 3 поворота в итоге как 1, по одной оси. Если Вы в теме, то это не сложно, но человеку далёкому от этого (забывшему всё это) очень облегчит задачу хотя бы вникнуть в суть. Если взять пример , поворачиваем по Х на 30`, по Y на 45` и по Z на 90` , подставляем эти числа в формулу и считаем, а потом пример с другими углами, то человек сопоставив два расчёта уже что то уяснит. Особенно, если это будут 2 последовательных поворота с возвратом в исходную ориентацию. Примеры с кучей букв и без единой цифры трудны для восприятия далёкому от математики человеку, особенно когда и физику подзабыл, но вникнуть хочется. В нескольких местах увидел, что используется синус\косинус половины угла, тоже вызывает непонимание, крутим то на целый. Может есть возможность сделать ролик\ролики для АБСОЛЮТНЫХ чайников? Им иногда тоже хочется понять про что там говорят на умном языке 🙂
Жду видео про октонионы!
Я сделал авиагоризонт в телефоне. И теперь думаю как калибровку сделать. Поможет ли кватарнион в калибровке авиагорионта по оси z (тангаж в пейзажном режиме телефона)? Хочу понять - в правильном ли я направлении копаю
Кватернион - это короткий способ записать операцию поворота. Везде, где вы говорите "тангаж на угол альфа", можно вместо этого говорить "кватренион cos(альфа/2), 0,0, sin(альфа/2)". Глобально совершенно не важно, храните ли вы в памяти угол тангажа, кватернион или матрицу поворота. Разным людям проще по-разному. Является ли кватернион ключевым понятием для калибровки? - нет. Можно ли им пользоваться? - да
@@math-to-masses мне углов эйлера как будто бы недостаточно для калибровки тангажа. Для крена калибровка считается норм а вот с тангажом пооблема из-за силы тяжести. Я от девайса получаю от +1 это 90 градусов вверх от горизонта до -1 это -90 градусов вниз от горизонта. Мне не хватает еще одной оси в которой я бы понимал вектор направления устройства. И как будто бы кватарнион кажется решением
На 5:05 на слайде ошибка. ki=j, ki=-j. На самом деле ik=j, ki=-j
в чём проблемы подошёл взял за руку сделал кватернион из вращаемого вектора сделал кватернион из оси вращения перемножил кватернионы и получил из них результирующий повёрнутый вектор
6:50 "Сейчас они начнутся"
Мой мозг уже почти 7 минут как вертится
А куда донатить?
А можно сперва скомбинировать несколько кватернионов поворота в один и потом применить к вектору?
Конечно можно! В этом одна из их самых крутых фишек. Просто в лоб один умножается на другой и получается новый кватернион, который будет композицией исходных поворотов
Было бы понятнее на практических примерах. Объяснение неплохое, однако понятно категории зрителей, либо находящихся в теме, либо имеющим не среднее математическое образование. Может кто-то начитался/насмотрелся. Мне вот, интересно чисто утилитарное применение. Где, в какой сфере мне может пригодится это знание?
Да, справедливое замечание. Я делал этот видос с расчётом, что у человека возникнет какая-то проблема, он где-нибудь вычитает, что её можно решить с помощью кватернионов, и пойдёт гуглить, а что это такое.
Ответить на ваш вопрос можно так. Если когда-нибудь вам нужен будет математический аппарат, который реализует вращение, то вам помогут кватернионы. Например, вы разрабатываете или используете физический движок (для компьютерной игры) и вам нужно описать движение и вращение тел. Или, например, вы - 3D художник, вы слепили голову персонажа, а теперь надо анимировать, как персонаж головой качает. Всё это можно сделать как раз с помощью кватернионов
@@math-to-masses спасибо за ответ. Между прочем неплохая тема для видео на будущее.
Спасибо за труд, хотелось бы видео и про бикватернионы
Особенно интересно как до этого дошли.
ооо, это тема на полтора часа рассуждений. О том, кто как и зачем двигает математику. И что первично, то есть откуда берутся формулировки теорем, которые надо доказать - из теории или из практики
Спасибо за видео!
Механика понятна, но придется смотреть Савватеева ))
А все таки в этих всех мнимых единицах и экспоненциальной форме к. чисел есть какое-то жульничество )
Кстати, а у кватерниона случайно нет экспоненциальной формы?
Ну моей целью и было пояснить, как работает механика :)
Может быть какая-то экспоненциальная форма есть, но я про такую ничего не знаю.
Тут надо помнить, что кватернионы - это не совсем обычные числа. Они сильно хуже комплексных. Поэтому всякие изыски с ними, вроде экспоненты, надо отдельно проверять и доказывать
Ну не совсем про кватерниноны, но вообще всякие вращения это про группы Ли и группы вращений. А там вроде инфинитоземальное изменение и есть экспонента. (Честно, я группы трогал только с закрытыми глазами)
Как-то я не проникся этой темой, ведь за меня это делал GLM, но разобраться полностью в этой темке - энто круто.
А так, чтобы что-то повращать нужно всего лишь сместить (на offset) точки к 0 оси вращения, применит sin cos, и вернуть смещение обратно.
Как же быть если мне надо два кватерниона которые хранят вращение которое отличается больше чем на 360 градусов? Если в кватернионе вращенном на 360 градусов выходит тот же кватернион что и изначальный??
Действительно, кватернионы не предназначены для хранения вращения более, чем на 360 градусов. Я, честно говоря, затрудняюсь сказать, что именно нужно делать, чтобы такое вращение сохранить
@@math-to-masses 😔🔫
@@math-to-masses убиться можно. Пару дней голову ломаю. Главное нашёл решение которое позволяет очень легко интерпретировать кватернион на любой размер вращения если представить его уектором направления. Но тогда вообще не ясно как его трансформировать
Ничего не понятно, но очень интересно 😂
Класс.
Блохер, было очень интересно. Делайте больше таких вкусных материалов. Давай про функцию tree
Классно! Мне эта инфа как раз полезна для теории движения и управления космическим аппаратом. Получается, если надо последовательно повернуть вокруг трёх осей, то надо 3 раза умножение проводить?
Да, если вокруг трёх осей, то можно через кватернионы три раза последовательно. Ещё можно через матрицы поворота. Они чуть проще, но там надо понимать, какие это оси - локальные оси вашего космического аппарата или глобальные оси изначальной системы отсчёта
@@math-to-masses А вот кстати декан говорил , что матрицами поворота пользоваться удобно при вращении до 90 градусов по любой оси. А если больше чем 90, то там особые точки вылезают при интегрированиях угловой скорости , деление на ноль и бортовой компьютер не считает) Поэтому он похвалил кватернионный поворот, где нет такой проблемы).
Про Вольфрам ничего не понятно т.к не пользовался никогда
ошибка в формуле в 5:02 ki=j и ki=-j
да, верно, спасибо!
Почему вы именно взяли угол Pi/4 ? как вообще найти и поставить угол для вращение кватерниона ?!
В этом видео мы рассматривали задачу, когда нам задан вектор, который мы хотим повернуть, ось вращения и угол. Если у нас нет оси вращения и угла, то нужно разобраться, а что нам дано.
Например, нам может быть дан вектор, который надо вращать, и этот же вектор после вращения. В таком случае нужно умножить эти два вектора с помощью векторного произведения - так мы найдём ось вращения. А угол, на который нужно повернуться, можно найти с помощью скалярного произведения
Respect, тебе 20 лет и ты уже бородат.
Иногда кажется что такими вещами могут заниматься только бородатые 40+ летние олдскульщики. Давай еще про сплайны, нурбсы и аналитическое вычисление пересечений поверхностей второго порядка ))
Спасибо. Набрёл на сюжет по рекомендации YT. Любопытный подход к изложению темы: на стыке науки и магии. С одной стороны, всё показал, но почти ничего не доказал. То есть в сухом остатке - новый термин "кватернион" и некий факт, что он как-то чудесным образом может описывать вращение вектора.
Тем, кто в теме - непонятна прикладная часть (до которой дело не дошло), прочим - всё непонятно.
Стоило бы точнее определиться с целевой аудиторией и, либо нагрузить больше теории, либо демонстрировать больше практических приёмов в конкретной среде/ПО. Успехов!
Спасибо. Мозги выпали.
В третьей строке указано ki = j, а в четвёртой ki = -j. Очепятка вышла.
Когда ты говоришь, что для перевода одного вектора в другой нужны только ось и угол поворота вокруг этой оси, то создаётся ощущение, что ты говоришь не о произвольной оси в пространстве, а об одной из трёх координатных осей, потому что ты их периодически упоминаешь. Тут бы какая-то визуализация помогла. Конечно, потом всё встаёт на свои места, но этот момент путает. А так - всё понятно. Хоть я кватернионы и не изучал в вузе, но понял.
Не совсем понятно, как задать кватернион q. Например, когда плоскость вращения не совпадает с известной ( xy, yz, zx )
Вам явно нужна ось вращения - нужен вектор в какой-то системе координат, вокруг которого вы вращаете. Это может быть любой вектор, например, (1,2,3). это и есть альфа, бетта, гамма. Ну и вам явно нужен угол вращения. Ну и дальше по формуле. Кватернион q =cos(угла) + sin(угла)(1*i + 2*j + 3*k)
@@math-to-masses, благодарю за пояснения. Я сейчас понял, что неявно рассматривал обратную задачу: имея начальный и результирующий векторы, найти угол и ось вращения. Теперь вопрос снят
Вектор вращения не надо делить на норму? (Он не должен быть единичным? )
@@delieyubovamehriban5696 Надо, конечно, надо. Спасибо за дополнение!
4:28 - из видео понял только одно - ежи это какие-то бяки. 🦔🦔
Столкнулся с кватернионами нечаянно, осваивал 3D Max, вращал сферы кольца, прикольная штука =) Но по моему мнению, ваш ролик обречен на провал =( Среднестатистический человек думает о кватернионах с вероятностью...=) Тут показывать надо в модели, графика нужна. Просто текст воспринимается плохо. Тем более тем кто про это ничего не знает. Успеха! =)
Спасибо за ваш комментарий! Интересно, мне не приходила в голову такая точка зрения. Кажется, всему виной моя проф. деформация - мне формула кажется полезнее графики :)
@@math-to-masses Формула и графика в совокупности будет более эффективно. Наглядно. Глупеет народ =(
Давайте с оптимизмом смотреть на народ! :)
И графику добавим, и формулы покажем!
@@math-to-masses Здорово =) если надо в 3Ds Max какую то модель с анимацией, пишите.
Ориентация объекта (самолета) не описывается одним вектором. Нужно два.
вектор + вращение вокруг вектора. Меняешь вектор - вращение по одной оси, вращаешь вокруг вектора - вращение по другой оси
Я знаю как минимум два способа вращения в трёхмерном пространстве, поэтому как то совсем не ясно, почему именно кватернионы, ну да ладно, посмотрим, что будет сказано дальше, но введение уже какое-то странное.
У Кватернионов нет эффекта Gimbal lock, насколько я знаю из-за Gimbal lock был случай аварии в миссии Аполлон 11
@@Spectre4490 у кватернионов есть эффект двойственности, например, вам надо повернуться на 3 градуса, а поворот будет на 357 градусов.
От задачи зависит что использовать. Я занимаюсь моделированием систем, при описывает кинематики уравнением Пуассона в матричном виде никакого эффекта схлопывания осей нет, направляющие косинусы т в Африке направляющие косинусы, сложности возникают при получении углов, например по этому, вы с трелялках не можете посмотреть назад откидывая голову назад, в этом случае будет скачок на пи.
@@Spectre4490 если же говорить в вертикальном старте ракеты, то необходимо делать дополнительный разворот системы координат, я сам такой способ применял, и никаких кватернионов. Я так же видел, как люди применяли кватернионы там, где это не надо, одни проблемы. Сейчас я занимаюсь объектом, который свободно вращается вокруг всех трёх осей, я вынужден применять кватернионы, и да, их двойственность вынуждает делать дополнительные действия. Если выбрать между дополнительным разворотом и двойственностью, то я выбираю поворот.
Дак же есть ещё один нюанс. Направляющие косинусы терпимы к накоплению ошибки, кватернионы приходится постоянно нормализовать.
Разве вокруг оси игрек ты правильно повернул руку? Почему ты развернул её к камере, а не к себе?
вокруг каждой из осей можно было повернуться как по часовой стрелке, так и против часовой. Тут я хотел показать, что найдётся такая совокупность поворотов с таким вот интересным свойством
@@math-to-masses да, это я всё понимаю, просто не знал, что 90° и - 90° это получается одно и тоже. По крайней мере это следует из ваших действий.
@@settyentyson8678 Нет, погодите, +90 и -90 - это не одно и то же. Действительно, повернись я в одну сторону, я бы повернул палец к груди, а повернись в другую сторону - повернулся бы к камере. В этом вы правы. Интерес таких поворотов в том, что результат получается в любом случае неожиданный, как мы не повернись
На практике есть ещё одна проблема, это двойственность кватерниона, и в зависимости от того, какую задачу вы решаете можно выбрать или матрицы или кватернионы, у обоих способов есть свои преимущества и недостатки.
Для компьютера удобнее всего оперировать именно с кватернионами: три эйлеровых угла слишком мало, потому что в них есть вырожденные состояния, при которых вычисления ломаются; 9-ть чисел поворотной матрицы слишком много, потому что долго считать и накапливается много вычислительной ошибки, пока все это посчитается; 4 числа кватерниона - идеально. - нет вырожденных состояний, так же удобны в плане математики как и матрицы, и вычислять только 4 значения на каждом шаге интегрирования.
@@iforand если вы говорите об уравнениях Пуассона, Тота случае произвольной ориентации да, кватернионов удобней, но есть двойственность. Уравнения Пуассона в тригонометрической форме тоже прекрасно справляются, и никакой двойственности, и углы получаются непосредственно, без пересчёта.
Задача определяет более удобный инструмент 🤷🏻♂️
Вопрос: если после произведения кватернионов результирующий кватернион имеет ненулевую действительную часть, как его привести к вектору?
А так хорошее объяснение, но термин "бяка" режит слух.
результирующий кватернион всегда будет иметь нулевую действительную часть. Это можно строго доказать
@@math-to-masses Спасибо за ответ. Появился ещё вопрос: как вычислить направление оси вращения и угол поворота при известных углах Эйлера?
@@sladge17 об этом коротко сложно написать. Правильно я вас понимаю, что у вас есть угол, на который нужно повернуться вокруг оси х, угол вокруг оси y и угол вокруг оси z?
Тогда можно сделать три кватерниона. И трижды сделать умножение.
Вот тут написаны все варианты (да, понимаю, всё по английски, но математика, вроде, понятна):
en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles
@@math-to-masses Спасибо, дейсвительно можно три раза перемножить. Если я правильно понимаю при использовании кватернионов порядок осей значения не имеет.
@@sladge17 Хочется сказать, что не имеет, но я бы это перепроверил на всякий случай
Бикватернионы (их скалярные и векторные части) могут иметь и физические аналоги
А почему матрицей поворота не проще? Или это другое? Не помню, что это, если честно. Наверное поворот вокруг осей х у z только, да?
Да, матрицы поворота - это только вокруг осей. А здесь мы сами управляем осями
Эх, рассказали бы ещё простыми словами основы теории групп и прочие многообразия. А то в ютубе только достаточно сложные лекции...
Есть и такие идеи. Думаю, что дойдёт до них очередь :)
а почему в примере с пальцми вращались и оси Х,У,Z? Пространсво ж не вращается...
Там вращались локальные оси. Как у самолёта. Если самолёт повернётся на 90 градусов вокруг одной из своих осей, то его локальные оси повернутся, и штурвал следующие вращения будет делать вокруг повёрнутых осей, а не исходных глобальных.
Просто на практике таких задач довольно много. Если можно было бы вращение любого тела естественно описывать вращениями вокруг глобальных координат, то проблем было бы меньше
Очень люблю математику но плохо разбираюсь в формулах.
Тогда помогите мне стать лучше! Покритикуйте меня, расскажите, что было рассказано плохо или не понятно :)
@@math-to-masses на " гнилом Западе " уже лет 15 как существуют обязательные курсы для проф.препод. состава высших школ включительно и учат их .....избегать максимально ФОРМУЛ )! . .. Попробуй теперь в качестве.яяяяркого антагониста- пивному каналу Get a class, пояснить это . )))! В ответ Задуют пивными отрыжками мгновенно )! Это поколение старперов уже необратимо ! / ну , а с позиции педагогики и ее простых принципов ... ты можешь и сам себя покритиковать ! .напр.видео урок ...он разве иск.для того чтобы некто шевелил губами весь урок ?...) нет конечно же ! Молодой чел.так устроен что оптимально он усваивает 85% визуальной информации , а не словесной ! Удивлён? . Так это всего один из 7 пунктов принципов педагогики ))! ... зная их, нужно и можно строить уроки , кот.войдут в историю и станут вечными тк.классически они сделаны верно ! Понима ?... )
а почему у нас q*h*q(сопр) , а не q*h*q^(-1)?
Понятно было ровно до того места когда не начили перемножать 2 кватерниона. Нужно каждое действие подробней объяснить.
Спасибо. Но пока непонятно.
-а ты сразу перемножил кватернион в тригонометрической форме на кватернион в общем виде -надо было сначала пере конвертировать все кватернионы в общий вид -потом перемножить
у кватернионов нет тригонометрической формы. Они всегда находятся в виде константа + константа * i + константа * j + константа * k. Собственно, в таком виде я их и перемножил :)
Cosθ+sinθ*vector это тригонометрическая форма. a+bi+cj+dk это общий вид
A =cosθ , а векторную часть покомпонентно надо поделить на sinθ
Супер видео, но у вас на 5:02 ki = j и ki = -j
Справедливо. Налажал на монтаже. ki = j, ik = -j
И что эти кватернионы не дифферинцируются плавно по времени а прыгают из одного состояния в другое, т.к. дифференциация это различия а не дифференцирование
кажется, что умножение вектора на матрицу преобразования было бы понятнее )
О эта музыка
Не хочу быть мемоюзером, но а че поделать? Я и вправду ничего не понял, но было очень интересно.