Йо-йо (48.44)

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск

Задача 48.44 из сборника задач Мещерского: составить уравнения движения падающего на разматывающейся нити цилиндра и смоделировать систему на языке программирования JavaScript.

Условие задачи

Один конец нерастяжимой тонкой нити обмотан вокруг однородного круглого цилиндра радиуса R, второй конец прикреплен к неподвижной точке O. Цилиндр, разматывая нить, опускается вниз, одновременно раскачиваясь вокруг горизонтальной оси, проходящей через точку подвеса нити. Пренебрегая массой нити, составить дифференциальные уравнения движения цилиндра.

Реализация на языке JavaScript

Используемые библиотеки

  • three.js
  • TGALoader.js
  • dat.gui.js
  • OrbitControls.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]