Йо-йо (48.44) — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
(не показаны 4 промежуточные версии 3 участников) | |||
Строка 5: | Строка 5: | ||
== Реализация на языке JavaScript == | == Реализация на языке JavaScript == | ||
− | {{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Palirus/ | + | {{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Palirus/48.44.html|width=940 |height=400 |border=0 }} |
== Используемые библиотеки == | == Используемые библиотеки == | ||
Строка 13: | Строка 13: | ||
*OrbitControls.js | *OrbitControls.js | ||
*jquery.min.js | *jquery.min.js | ||
+ | |||
+ | == Решение задачи == | ||
+ | Уравнение Лагранжа второго рода: | ||
+ | |||
+ | <math>\frac{d}{dt}\left(\frac{\partial L}{\partial\dot q}\right) - \frac{\partial L}{\partial q} = 0 </math> | ||
+ | |||
+ | <math>L = T - Π </math> | ||
+ | |||
+ | Система имеет две степени свободы: длина нити ρ и угол между нитью и вертикальной осью φ. | ||
+ | |||
+ | Кинетическая энергия: | ||
+ | |||
+ | <math>T = \frac{1}{2}mv^{2} + \frac{1}{2}Ϳω^{2} = \frac{1}{2}m(\dot φ^{2} (R^{2} + ρ^{2}) + \dot ρ^{2} - 2\dot ρ\dot φR) + \frac{1}{4}m(\frac{\dot ρ}{R} - \dot φ)^{2}</math> | ||
+ | |||
+ | Потенциальная энергия: | ||
+ | |||
+ | <math>Π = -mg(ρcosφ - Rsinφ)</math> | ||
+ | |||
+ | Находим | ||
+ | |||
+ | <math>\frac{\partial L}{\partial ρ} = m(ρ\dot φ^{2} + gcosφ) </math> | ||
+ | |||
+ | <math>\frac{\partial L}{\partial φ} = -mg(ρsinφ - Rcosφ) </math> | ||
+ | |||
+ | <math>\frac{\partial L}{\partial \dot ρ} = m(\dot ρ - \dot φ R + \frac{1}{2}(\dot ρ - R\dot φ) </math> | ||
+ | |||
+ | <math>\frac{\partial L}{\partial \dot φ} = m(\dot φ^{2} (R^{2} + ρ^{2}) - \dot ρ R - \frac{1}{2}(\dot ρ - R\dot φ) </math> | ||
+ | |||
+ | Итак, | ||
+ | |||
+ | <math>\ddot ρ - \ddot φ R - \frac{2}{3}ρ\dot φ - \frac{2}{3}gcosφ = 0</math> | ||
+ | |||
+ | <math>ρ^{2}\ddot φ + 2\dot φ\dot ρ ρ - Rρ\dot φ^{2} + gρsinφ = 0</math> |
Текущая версия на 17:19, 9 февраля 2018
Задача 48.44 из сборника задач Мещерского: составить уравнения движения падающего на разматывающейся нити цилиндра и смоделировать систему на языке программирования JavaScript.
Содержание
Условие задачи[править]
Один конец нерастяжимой тонкой нити обмотан вокруг однородного круглого цилиндра радиуса R, второй конец прикреплен к неподвижной точке O. Цилиндр, разматывая нить, опускается вниз, одновременно раскачиваясь вокруг горизонтальной оси, проходящей через точку подвеса нити. Пренебрегая массой нити, составить дифференциальные уравнения движения цилиндра.
Реализация на языке JavaScript[править]
Используемые библиотеки[править]
- three.js
- TGALoader.js
- dat.gui.js
- OrbitControls.js
- jquery.min.js
Решение задачи[править]
Уравнение Лагранжа второго рода:
Система имеет две степени свободы: длина нити ρ и угол между нитью и вертикальной осью φ.
Кинетическая энергия:
Потенциальная энергия:
Находим
Итак,