В общем случае кватернион, задающий положение твердого тела относительно неподвижного базиса для любого момента времени t, можно получить, используя уравнение Пуансона. На лекции вам их выписывали, выглядят они следующим образом. Производная от кватерниона, Λ с точкой, равно 1/2 кватернионное произведение вектора угловой скорости на кватернион Λ. Чтобы искать из этого уравнения кватернион Λ необходимо знать угловую скорость в зависимости от времени и кватернион положения в начальный момент времени. В этом случае, если эти величины известны, эти уравнения можно проинтегрировать численно и найти кватернион Λ для любого момента времени. Но существуют отдельные задачи, когда кватернион Λ можно получить более простым способом. Например, если вращение происходит вокруг неподвижной оси. У нас есть твердое тело, неподвижная ось, вокруг которой мы вращаемся. Давайте впишем, что здесь будет кватернионом поворота Λ, и явно выпишем, чему будет равно Λ с точкой. Кватернион поворота Λ для вращения вокруг оси ω записывается следующим образом: cos (φ / 2) + ось поворота, то есть ω / модуль ω * sin (φ / 2), где угол φ — это интеграл от 0 до момента времени t, от ω (dt). Давайте проверим, действительно, что Λ с точкой удовлетворяет этому уравнению — найдем Λ с точкой. Λ с точкой. Продифференцируем. Дифференцируем cos (φ / 2), это 1/2 * φ с точкой * sin (φ / 2), и знак «минус». Теперь дифференцируем векторную часть. ω / модуль ω — это постоянный вектор, поэтому если вычислять производную, как произведение функции, то производная от него будет равна 0. Остается продифференцировать только sin (φ / 2), то есть + ω / ω, ну и производную от sin (φ / 2), это опять же 1 / 2 * φ с точкой * cos (φ / 2). Если чуть-чуть преобразовать это выражение, то получим: − 1 / 2, φ с точкой — это ω, на sin (φ / 2) + ось ω / модуль ω * 1/2 ω * cos (φ / 2). Теперь давайте явно вычислим, чему равно следующее кватернионное произведение ω * Λ. 1/2… Вектор ω. Чтобы выписать вектор в четырехмерном пространстве, необходимо ввести всё равно какую-то систему координат. Давайте ось z направим вдоль вектора ω. В этом случае вектор ω в этой системе координат будет выглядеть, как [0, 0, 0, ω] кватернионно умножить на кватернион Λ. Кватернион Λ, скалярная часть, [cos (φ / 2), а векторная часть — 0, 0, sin (φ / 2)]. Произведем кватернионное произведение. Скалярная часть равна [−ω sin (φ / 2), векторная часть равна 0, 0, cos (φ / 2) * ω]. И что мы видим? Что Λ с точкой, как мы посчитали, вот так оно выглядит, в точности совпадает с выражением 1/2 ω кватернионно умножить на Λ. Теперь. В каких случаях уравнение Пуансона легко… Как легко получить кватернион, не пользуясь также уравнениями Пуансона, кватернион от угла поворота? Оказывается, что в случае, если у нас движение представимо в виде комбинации нескольких поворотов, то кватернион итогового поворота можно получить без этих уравнений. Такого движения… Частный случай такого движения — это прецессионное движение. Что такое прецессионное движение? Если у нас есть неподвижная ось, если у нас есть твердое тело с неподвижной точкой, и если фиксированная в теле ось вращается вокруг неподвижной в пространстве оси и описывает при этом круговой конус, при этом ось должна обязательно проходить через неподвижную точку, то такое движение называется прецессионным. В случае, если угловые скорости вращения вокруг вертикальной оси неподвижной константны, то такое движение носит название регулярная прецессия. Давайте выпишем кватернион, который задает положение твердого тела для любого момента времени, если нам известны угловые скорости ω1 и ω2, и известна ось, вокруг которой мы вращаемся. Да, небольшое отступление. Если мы говорили, что описывает ось круговой конус, это значит, что угол между этими векторами все время постоянный. Для нашей задачи будем его называть θ. Теперь. Как получить кватернион итогового положения? Давайте произведем два поворота. Первый поворот — давайте перейдем из неподвижного базиса в базис, вращающийся с угловой скоростью ω1. Этот переход можно задать при помощи кватерниона Λ1 и он будет равен cos (φ1 / 2) +... Давайте укажем ось, назовем ось i, а эту ось назовем e. + вектор i * sin (φ1 / 2). Дальше. В базисе, который вращается с угловой скоростью ω1, наше твердое тело вращается вокруг фиксированной в этом пространстве оси e с угловой скоростью ω2. И кватернион такого движения выписывается следующим образом: как cos (φ2 / 2) + вращение вокруг оси e * sin (φ2 / 2). Да, здесь стоит напомнить, что φ1 — это интеграл от 0 до момента времени t, от ω1 по dt, φ2 — это интеграл от 0 до t, от ω2 по dt. Теперь, чтобы получить кватернион итогового поворота, что мы должны сделать? Мы должны перемножить эти два кватерниона в правильном порядке. На текущий момент времени кватернионы у нас записаны в разных базисах. Этот кватернион записан в исходном базисе, а этот кватернион записан в подвижном базисе, вращающимся с угловой скоростью ω1. Ну а мы знаем, что можно перемножать кватернионы, если вместо вектора… Вместо кватерниона Λ2 записать кватернион в собственном базисе… Выписать собственный кватернион. Для этого что мы сделаем? Давайте все-таки введем систему координат. Ось i заменим на i3. Давайте для того, чтобы обозначения не расходились, оставим так. Ось i2 выберем таким образом, что в начальный момент времени ось e лежит в плоскости i3i2, и ось i1 перпендикулярна им. В этом случае кватернионы… Кватернион Λ2 можно записать в базисе i1, i2, i3, и давайте перемножим их в прямом порядке, то есть Λ1 умножим на собственный кватернион Λ2 со звездочкой. Кватернион Λ1 = (cos (φ1 / 2) + i3 * sin (φ1 / 2)) умножим кватернионно на cos (φ2 / 2) +... Ось e в базисе i1, i2 и i1, i2, i3 записывается следующим образом, как (i2 * sinθ + i3 * cosθ) * sin (φ2 / 2). Давайте перемножим. Значит, скалярная часть — это cos (φ1 / 2) * cos (φ2 / 2) минус скалярное произведение векторных частей, это sin (φ1 / 2) * sin (φ2 / 2) * cosθ, это скалярная часть кватерниона. И осталась векторная часть кватерниона. Нужно скалярную часть первого кватерниона умножить на векторную часть второго, то есть cos (φ1 / 2) * sin (φ2 / 2) * i1 sinθ +... i2, простите. i2 sinθ * i3 cosθ. Так, это первая векторная составляющая. Теперь умножаем скалярную часть второго кватерниона на векторную часть первого, получаем i3 sin (φ1 / 2) cos (φ2 / 2). И теперь необходимо произвести векторное произведение векторных частей. Если мы умножим i3 на i3, то получим 0. При умножении i3 на i2 получаем −i1. То есть результатом векторного произведения, будет − i1 * sin (φ1 / 2) * sin (φ2 / 2) * sinθ — это векторная часть кватерниона. Здесь везде поставим вектора. Что мы получили? Мы получили кватернион, задающий положение прецессирующего твердого тела в любой момент времени, и для того чтобы найти этот кватернион, нам нужно только знать угол θ, то есть угол нутации. И знать, как меняются углы φ1 и φ2, то есть для этого нужно знать модули угловых скоростей, как они изменяются с течением времени. Что мы сделали? Мы, не пользуясь уравнением Пуансона, нашли кватернион, который задает положение твердого тела в любой момент времени. Спасибо. Задача решена.