|
6 / 6 / 3
Регистрация: 11.05.2014
Сообщений: 43
|
|||||||||||
2 способа симулировать маятник - разные периоды28.04.2016, 21:25. Показов 1038. Ответов 0
Сразу к проблеме: в моей недокурсовой необходимо написать программу, симулирующую качание маятников. Оно вроде бы как работает в плане стабильной программы, сломать не получается, а вот с маятниками беда.
Вобщем существует у меня 2 типа маятника (да, странные названия): математический и физический. Первый работает по функции от времени, второй дискретно через дифференциал времени. Работа физического маятника: Есть ещё трение, но оно работает безукоризненно, записывать в виде формулы необязатлеьно. В виде кода на С++ у меня оно выглядит так: Код такта физического маятника
Математический маятник: Всё описано здесь. По середине третьей страницы предоставлена формула для периода маятника, собственно единственное, что мне нужно. Реализация перерасчёта периода
Внимание: я использую перерасчёт, исходя из текущей полной механической энергии маятника. Преполагая, что мы можем поднятся на некоторую максимальную высоту (не выше точки подвеса), можно расчитать максимальный угол halfAngle, найдя отношение катета к гипотенузе (переменная cosinus). Для тех, кто не силён в C: radfreq - циклическая частота. "1 << (i*2)" - фактически возведение 2 в степень i*2. "pow<double, long int>" - выглядит страшно, возводит первый аргумент в степень, равную второму аргументу. nFact, n2Fact - соответственно n! и 2n!, только тут n это i. Работает. "for (int i = 0; i < 8; ++i)" - цикл по i от 0 до 7 для всего, что внутри фигурных скобок после. double - тип вещественного числа. Остальное - математические операции.
Проблема простая, но гадкая: поведение маятников сильно различается: период, максимальная частота, реагирования на толчки и т.д. Т.е. математический маятник качается в разы медленнее, физический реагирует на толчок с тем же импульсом сильнее, вроде как даже зависимость длины от периода у них разная. Математическому я верю больше, ибо если воспринимать 1 пиксель, как 1 метр, то 150-метровый маятник будет качаться очень медленно (1 период около 30-40 секунд, у физического 15 сек с бОльшим углом). Да, кстати, толкаю математический маятник давая импульс, но изменяя энергию. Если я дал импульс p, то изменение энергии равно sign(p)*p^2/2m. Далее перерасчитывается период. Для физического маятника я просто соответственно изменяю скорость на величину p/m. Вощем, чтобы легче было понять что я имею ввиду, если есть комп с видеокартой хоть какой-то и нормальным ЦП, то можно самому посмотреть и убедится, что всё плохо (маятники pp1 и mp1 - физический и математический). OneDrive на программу. Прошу обратить внимение на README.txt, там много полезного написано.
0
|
|||||||||||
| 28.04.2016, 21:25 | |
|
Ответы с готовыми решениями:
0
Компьютер произвольно зависает в разные периоды времени Определить качество подготовки игроков в разные периоды турнира
|
| 28.04.2016, 21:25 | |
|
Помогаю со студенческими работами здесь
1
периоды Периоды колебаний Периоды в СКД [VHDL] Как в поведенческом стиле задать периоды?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|