Недавно добавленные исходники

•  TDictionary Custom Sort  534

•  Fast Watermark Sources  899

•  3D Designer  1 827

•  Sik Screen Capture  1 474

•  Patch Maker  1 482

•  Айболит (remote control)  1 406

•  ListBox Drag & Drop  1 174

•  Доска для игры Реверси  21 775

•  Графические эффекты  1 354

•  Рисование по маске  1 294

•  Перетаскивание изображений  1 096

•  Canvas Drawing  968

•  Рисование Луны  813

•  Поворот изображения  770

•  Рисование стержней  814

•  Paint on Shape  493

•  Генератор кроссвордов  762

•  Головоломка Paletto  667

•  Теорема Монжа об окружностях  855

•  Пазл Numbrix  617

 

 

Архив исходников

   
  Базы данных
  Графика & Мультимедиа
  Сети & Интернет
  Система
  Разное
   

Ссылки и Баннеры ...

 

Delphi Sources

Delphi Sources

 




 

ИСХОДНИК ПРОГРАММЫ

 

. : Пружина с грузом : .

 

Delphi - Исследование систем моделирования действий витой пружины с грузом

Исходник программы, показывающей пример исследования систем моделирования витой пружины с грузом, свисающим с нее, когда мы толкаем ее или растягиваем и отпускаем. Движение «системы» анимировано (пружина отпружинивает относительно массы груза).

Физика: благодаря Иссаку Ньютону мы знаем, что если мы подвешиваем груз на пружине, то он просто висит там (1-й закон). Но нам также понадобится его 2-й закон (ускорение пропорционально приложенной силе и обратно пропорционально его массе, A = F / M).

Чтобы заставить нашу систему двигаться, мы рассмотрим два начальных условия: начальное растяжение, X0, приложенное к пружине, и / или начальное нажатие или усилие, F0, приложенное к той же пружине.

Как только мы приведем нашу пружинную массу в движение, нам нужно вычислить смещение как функцию времени Х = f (t). Для этого нам нужно беспокоиться о том, как быстро движется масса - о скорости, которая, в свою очередь, зависит от того, насколько быстро скорость меняется с течением времени (об ускорении). С математической точки зрения это включает дифференциальное уравнение. Для наших целей нам не нужно беспокоиться о производных или интеграции (даже если мы неявно будем использовать и то, и другое). Движение нашего веса вверх и вниз контролируется четырьмя основными факторами: силой тяжести, массой, постоянной пружины и демпфированием.

  • Гравитация тянет вниз с силой, пропорциональной массе. В соответствии с уравнением F = MG.
  • Сама по себе пружина прикладывает силу, пропорциональную тому, насколько она растянута - растяните ее вдвое дальше, и она тянет вдвое сильнее, пытаясь вернуться в равновесие. Обратите внимание, что эта сила всегда противодействует смещению. Другими словами -F / X = K или F = -KX. K называется жесткостью пружины, поскольку это свойство конкретной используемой пружины.
  • Есть другие силы, пытающиеся остановить пружину, когда она движется. Трение воздуха препятствует движению, существует внутреннее трение между молекулами пружины и может быть внешний демпфер, препятствующий движению. Все это можно объединить в константу, называемую коэффициентом демпфирования C. Сила также противоположна направлению движения и пропорциональна скорости движущейся массы. Итак, -F / V = C или F = -CV. Обратите внимание, что когда система находится в состоянии покоя (V = 0), демпфирующая сила отсутствует.

Эти шесть параметров дают нам достаточно информации, чтобы привести нашу массу в движение и предсказать, как она будет двигаться. На практике цикл анимации предполагает приращение на одну единицу времени каждый раз. С некоторыми упрощающими предположениями новое расстояние X увеличивается на скорость V (X = X + V). Скорость изменяется на величину ускорения A (V = V + A). И, наконец, ускорение зависит от сил, действующих на массу, как описано выше. Вот где нам нужен 2-й закон Ньютона, A = F / M. Все наши силы действуют в одном направлении (вертикальном), поэтому мы можем просто сложить их: A = (MG-KX-CV) / M или A = G- (KX + CV) / M. Когда вы изучите код, вы увидите эти три уравнения для X, V и A как основу цикла. Все остальное - детали.

Код определяет объект TSpring как потомок TPanel. Timage, содержащийся в TSpring, является холстом для рисования. Предусмотрены методы для рисования изображения пружины и массы заданной длины и его стирания. Метод Animate содержит цикл, описанный выше, для вычисления новой длины, стирания старого и отрисовки нового изображения на каждом шаге. Большая часть оставшейся части кода получает параметры из полей редактирования и гарантирует, что они являются действительными числами.

Просмотры: 361
Дата: 07.07.2021, Автор: Gary Darby
Написать сообщение:
 

 

Скачать (9 Кб)   ↓ 6   Регистрация >>

 

© 2004-2022 "DS"

Соглашение пользователя / Реклама / Карта сайта             Created by BrokenByte Software