Йо-йо (48.44) — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
(→Реализация на языке JavaScript) |
|||
Строка 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:30, 8 февраля 2018
Задача 48.44 из сборника задач Мещерского: составить уравнения движения падающего на разматывающейся нити цилиндра и смоделировать систему на языке программирования JavaScript.
Содержание
Условие задачи
Один конец нерастяжимой тонкой нити обмотан вокруг однородного круглого цилиндра радиуса R, второй конец прикреплен к неподвижной точке O. Цилиндр, разматывая нить, опускается вниз, одновременно раскачиваясь вокруг горизонтальной оси, проходящей через точку подвеса нити. Пренебрегая массой нити, составить дифференциальные уравнения движения цилиндра.
Реализация на языке JavaScript
Используемые библиотеки
- three.js
- TGALoader.js
- dat.gui.js
- OrbitControls.js
- jquery.min.js
Решение задачи
Решение задачи
Уравнение Лагранжа второго рода:
Система имеет две степени свободы: длина нити ρ и угол между нитью и вертикальной осью φ.
Кинетическая энергия:
Потенциальная энергия:
Находим
Итак,