Эффект Джанибекова

Форум пользователей пакета Mathcad

Модератор: Admin

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Пн сен 05, 2011 12:20 pm

Да, Виктор Афанасьевич, получилось-то то же, но я пошёл дальше и реализовал анимацию, а вот она показала, что изменяется направление вращения на противоположное. Поэтому я не стал выкладывать такую картинку, а усомнился в результатах. Они не совпали с реальностью, как на указанных видео выше.

IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Пн сен 05, 2011 2:48 pm

Вячеслав Николаевич,но траектория, та что на моей картинке, непрерывная и гладкая (клювов нет).
Интегрировал на промежутке 37,74 c. 1200 точек.
параметры указаны на картинке.
Почему же при анимации меняется направление вращения.?
Сейчас проанимирую треугольник (меньше работы),
посмотрим, что у меня получится.
Вот увеличенная картинка-видно, что вращение происходит все время в одну сторону.
Изображение

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Пн сен 05, 2011 5:00 pm

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

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

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Пн сен 05, 2011 5:12 pm

Вот мой аналог вашего графика:

Изображение

Здесь направление вращения изменяется. Не будем забывать, что, перемещаясь по этой кривой, вращение по первоначальной оси периодически останавливается в некоторой точке. Сама ось изменяет направление на противоположное, а вот чтобы и направление вращения осталось прежним, думаю, нужен поворот вокруг сферы (как на самой первой вашей картинке в теме).

IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Вт сен 06, 2011 8:30 pm

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

BAT
Сообщения: 621
Зарегистрирован: Пн окт 25, 2004 5:16 pm

Сообщение BAT » Вт сен 06, 2011 8:59 pm

IVVA писал(а):А может это обман зрения - так бывает?
Коллеги, здравствуйте! Задачу интересную рассматриваете.
Про обман зрения можно глянуть здесь: http://www.procreo.jp/labo/silhouette.swf и http://www.michaelbach.de/ot/index.html .

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Вт сен 06, 2011 10:33 pm

Я тут кое-где вычитал, что

Код: Выделить всё

После интегрирования угловых скоростей эйлеровых углов получаются сами Эйлеровы углы (курса, дифферента и крена).


Ссылка: http://torpeda-idetbezkrena.narod.ru/1971_1977.htm

Программист, который делал программку, не дурак. Он тупым интегрированием прямоугольниками находит углы (курса, дифферента и крена), а потом применяет их для поворота тела с использованием встроенных функций OpenGL-движка.

Т.е. мы имеем после решения диффсистемы углы Эйлера в чистом виде, как и описано в программе. Осталось только это правильно визуализировать. Жаль я не сопроматчик и всё такое. Наверное это классика.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Вт сен 06, 2011 10:50 pm

Вот интересно: Эффект Джанибекова

Код: Выделить всё

Эти уравнения для абсолютно твёрдого тела имеются в любом серьёзном учебнике по теоретической механике для ВУЗов соотв. специальностей. Правда, есть большое многообразие форм записи. Приведу ниже ту, которая наиболее удобна для численного интегрирования на ЭВМ.

 Диф. уравнения динамики:
 dWx = (Mx + (Jy - Jz)*Wy*Wz)/Jx
 dWy = (My + (Jz - Jx)*Wz*Wx)/Jy
 dWz = (Mz + (Jx - Jy)*Wx*Wy)/Jz

 Диф. уравнения кинематики (для матрицы направляющих косинусов):
     | 0  -Wz  Wy |
 S = | Wz  0   Wx |
     | -Wy Wx  0  |

 dA = A*S

 Wx = Integral(dWx, dt)
 Wy = Integral(dWy, dt)
 Wz = Integral(dWz, dt)

 A = Integral(dA, dt)

 где:
 Wx, Wy, Wz - угловые скорости объекта в проекции на оси связанной с ним системы координат (ССК)
 dWx, dWy, dWz - производные угловых скоростей объекта (угловые ускорения) в проекции на оси ССК
 Mx, My, Mz - внешние моменты, действующие на объект в проекции на оси ССК
 Jx, Jy, Jz - главные моменты инерции объекта относительно осей ССК. (Полагаем, что ССК выбрана таким образом, что её оси X, Y, Z совпадают с главными осями инерции объекта и тензор инерции вырожденный, имеет диагональный вид)
 S - косо-симметричная матрица скоростей
 A - матрица напр. косинусов (МНК) перехода от связанной системы координат к базовой. Т. е., такая, что справедливо соотношение:
 Iб = A*Iс, где Ic - любой вектор в ССК, Iб - он же, пересчитанный в базовую СК стандартным умножением на матрицу слева.
 dA - производная по времени от матрицы A.

 Интеграл можно вычислять как угодно, даже простейшим суммированием. И вы сможете получить вполне приемлемый для иллюстрации любых эффектов результат. Только надо задать достаточно малый шаг интегрирования. Т. е., вместо знака интеграла пишем:

 Wx(i + 1) = Wx(i) + dWx*dt
 Wy(i + 1) = Wy(i) + dWy*dt
 Wz(i + 1) = Wz(i) + dWz*dt

 A(i + 1) = A(i) + dA*dt

 Начальные условия - значения Wx, Wy, Wz, A. Параметры - моменты инерции Jx, Jy, Jz и внешние моменты Mx, My, Mz. Можно и менять их во времени, если нужно.

 То есть, сложнейшая математическая проблема поиска общего решения при переходе к численному интегрированию на ЭВМ при заданных параметрах и нач. условиях превращается в несложную лабораторную работу, которую обязательно выполняют все без исключения студенты специальностей, связанных с системами ориентации космических аппаратов.

IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Ср сен 07, 2011 1:15 am

Да не нужны нам эйлеровы углы.Берем две, три ... точки
на сфере и вращаем их вокруг мгновенных осей, тем самым
получаем визуально движение тела с заданными главными
центральными моментами инерции и заданной начальной угловой скоростью.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Ср сен 07, 2011 1:53 am

Что-то не получается. Кстати, моя матрица поворота вокруг единичного вектора взята из одной книжки по OpenGL, она также есть и в Википедии:
http://ru.wikipedia.org/wiki/Матрица_поворота

Там внизу: M(v,theta)=... - она является альтернативной той, что применял автор программы.

Уж так и сяк вращал, но не получается также как на видео и в программе.

IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Ср сен 07, 2011 10:12 am

А мой треугольник вращается так как надо - сначала
в одну сторону (визуально), после поворота вектора
угловой скорости на 180 градусов в другую (визуально)т.е. если смотреть треугольнику все время "в лицо", то он вращается все время в одну и ту же
сторону.Подправлю шероховатости и выложу анимацию.
И еще,как я говорил ранее, при непрерывном изменении одного из моментов инерции наступает момент, когда
тело резко изменяет направление своего вращения,
происходит "катастрофа".В литературе приводятся разные примеры катастров, например, работа эл.выключателя.
Примера же с вращением свободого тела я не встречал.
Следующий этап - промоделировать эту катастрофу.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Ср сен 07, 2011 12:33 pm

Вот, где всё начиналось: Генератор инерции

Там автору программы указали как её писать и я, кажется, понял в чём у меня проблемы:

Код: Выделить всё

ВНИМАНИЕ!!! Повороты Вы производите вокруг осей, связанных с телом! То есть на каждом шаге, после поворотов, меняется в пространстве ориентация и тела, и САМИХ ОСЕЙ ТОЖЕ! То есть если в нулевой момент времени ось 2 строго вертикальна, то после 1-го шага она отклоняется от вертикали на 0,1*пи/5000 рад в направлении оси 1 и на столько же в направлении оси 3 (то результирующий поворот на 0,1*пи*sqrt(2)/5000 рад по биссектрисе между направлениями 1 и 3), и при этом само тело поворачивается 20*пи/5000 рад вокруг оси 2 – и вместе с ним на столько же поворачиваются направления осей 1 и 3.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Ср сен 07, 2011 3:12 pm

Исправленный вариант видео:

Изображение

http://82.193.156.30/tmp/movie04.mp4 (~4.5 Мб)
Исходник: http://82.193.156.30/tmp/mc14_djanibek.zip

Теперь, вроде бы, всё как полагается вращается.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Ср сен 07, 2011 3:51 pm


IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Ср сен 07, 2011 7:56 pm

Вячеслав Николаевич,вы удачно подобрали параметры.
Треугольник я вращал по ним.
Посмотреть можно здесь.
http://www.youtube.com/watch?v=-kybA1Nt6HM