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

•  DeLiKaTeS Tetris (Тетрис)  3 679

•  TDictionary Custom Sort  5 814

•  Fast Watermark Sources  5 613

•  3D Designer  8 238

•  Sik Screen Capture  5 935

•  Patch Maker  6 396

•  Айболит (remote control)  6 389

•  ListBox Drag & Drop  5 246

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

•  Графические эффекты  6 580

•  Рисование по маске  5 657

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

•  Canvas Drawing  5 144

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

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

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

•  Paint on Shape  2 369

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

•  Головоломка Paletto  2 559

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

 

 

Каталог исходников

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

 

 

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 содержит цикл, описанный выше, для вычисления новой длины, стирания старого и отрисовки нового изображения на каждом шаге. Большая часть оставшейся части кода получает параметры из полей редактирования и гарантирует, что они являются действительными числами.

Просмотры: 1 116
Дата: 07.07.2021, Автор: Gary Darby
Скачивания: 19
Написать сообщение:

 

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

 

© 2004-2025 "DS"

Соглашение пользователяКонфиденциальностьПравила обработки cookie       BrokenByte Software