Система двух тел связанных пружинками — различия между версиями
(→Используемые библиотеки) |
|||
Строка 15: | Строка 15: | ||
* three.js | * three.js | ||
* dat.gui.js | * dat.gui.js | ||
+ | |||
+ | == Скачать исходный код == | ||
+ | |||
+ | * в формате .rar [[http://tm.spbstu.ru/File:Main_seva.rar]] | ||
== Возможности программы == | == Возможности программы == |
Версия 11:18, 25 мая 2018
Задача: С помощью языка программирования JavaScript смоделировать свободные колебания системы с двумя степенями свободы.
Исполнитель: Тур Всеволод
Группа: 23632/2
Семестр: весна 2018
Содержание
Реализация
Используемые библиотеки
- three.js
- dat.gui.js
Скачать исходный код
- в формате .rar [[1]]
Возможности программы
- Изменение параметров системы(массы тел и жесткости пружин);
- Изменение начальных условий(начальные положения и скорости двух тел);
- Наличие паузы.
Подробное решение
Даны массы тел m1 и m2, жесткости пружин c1,c2,c3, а также начальные условия. Требуется найти уравнения движения тел в системе.
Кинетическая энергия системы T=3/4(m1ẋ1²+m2ẋ2²).
Потенциальная энергия П=1/2c1x1²+1/2c2(x2+x1)²+1/2c3x2².
Система уравнений Лагранжа:
3/2m1ẍ1+(c1+c2)x1+c2x2=0;
3/2m2ẍ2+(c2+c3)x2+c2x1=0;
Ищем решения в виде:
x1=A1sin(kt+a1)
x2=A2sin(kt+a2)
Подставляя x1и x2 в систему дифференциальных уравнений, получаем систему алгебраических уравнений относительно A1 и A2.
-3/2m1k²A1+(c1+c2)A1+c2A2=0;
-3/2m2k²A2+(c2+c3)A2+c2A1=0;
Для существования нетривиального решения этой однородной системы ее определитель должен быть нулевым.
9/4m1m2k4-3/2(c1+c2)m2k2-3/2(c2+c3)m1k2
+c1c2+c2c3+c1c3=0
Это выражение является квадратным уравнением относительно k2. Решив его, находим собственные частоты системы.
Отношения амплитуд движения первого и второго тела могут быть найдены из однородной системы алгебраических уравнений.
g1=A2(1)/A1(1)=(3/2m1k12-c1-c2)/c2
g2=A2(2)/A1(2)=(3/2m1k22-c1-c2)/c2
Тогда решение однородного дифференциального уравнения:
x1=A1(1)sin(k1t+a1)+A1(2)sin(k2t+a2)
x2=g1A1(1)sin(k1t+a1)+g2A1(2)sin(k2t+a2)
А значения A1(1),A1(2),a1,a2 могут быть найдены из начальных условий.