Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 5

Моделирование упругого столкновения шаров

01.06.2016, 07:39. Показов 7380. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста!!!( я не сильна в программировании но мне очень надо написать программу на Паскаль. Что должно изображаться: два шарика катятся навстречу друг другу, происходит упругое соударение и они разлетаются. Когда они катятся мы не учитываем никакие силы, Т. е. обычное движение без ускорения, силы трения и т.д. В главной программе мы задаем одинаковые массы, начальную скорость, угол!, координаты шаров..Ну и еще что то наверно.... Потом мы пишем логическую функцию которая будет определять произошло ли столкновение(сумма радиусов там должна быть меньше чем расстояние между центрами шаров). И она вот проверяет:есть столкновение-нет, шары катятся дальше. Есть столкновение-нет. Есть-да. И тут, учитывая какой мы задали угол, функция считает скорости после соударения и рассчитывает как то Куда полетят дальше шары.
И потом когда программу напишем мы будем тестировать ее. Т. е. Изменяя скорость в главной программе и угол мы рассмотрим:
1.центральное соударение
А) один шар неподвижен
Б) оба шара двигаются
-с одинак скоростями но разные по направлению
-с разными скоростями и разными по направлению
-с разными скоростями и одинак по направлению
2. Не центральное соударение
— то же самое
Короче играя изменениями параметров, посмотреть все варианты.
Как это реализовать?((
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2016, 07:39
Ответы с готовыми решениями:

Визуализация столкновения шаров
написать программу.которая выводит на экран два шара:красный стоит на месте,а зеленый по горизонтали движется к нему навстречу .после...

Столкновения двух шаров, движущихся со скоростью V1 и V2
Помогите пожалуйста решить задачу по физике на Pascal! Очень нужно к диплому. столкновения двух шаров, движущихся со скоростью V1 и V2. ...

Зная скорость и массу шаров до столкновения, расчитать скорости шаров после столкновения
Задача: Два шара с заданными массами и заданной скоростью (массы и скорость шаров различны) двигаются навстречу друг другу. В конце...

7
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
01.06.2016, 14:16
Вот это?
Столкновения двух шаров, движущихся со скоростью V1 и V2
0
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 5
05.06.2016, 19:36  [ТС]
Формулы правильные, но я не могу запустить предложенную там программу, что бы посмотреть то или нет(

Добавлено через 6 минут
Мне на PascalABC.net надо...
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
05.06.2016, 20:01
Лучший ответ Сообщение было отмечено Cvetlan как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
program Stolknovenie;
 
Uses 
  CRT, GraphABC;
var
  w1x, w2x, w1y, w2y, v1x, v2x, v1y, v2y, k, m1, m2: real;
  fi1, fi2, n1, n2: integer;
  gd, gr: integer;
  i, x1, x2, y1, y2, x, y, x10, x20, y10, y20, t: integer;
 
begin
  x10 := 30;
  y10 := 300;
  x20 := 600;
  y20 := 12;
  m1 := 4;
  m2 := 12;
  v1x := 1;
  v2x := 1;
  v1y := 0;
  v2y := 1;
  fi1 := 0;
  k := 0;
  fi2 := trunc(45 / 57);
  n1 := 1;
  n2 := 1;
  y := 0;
  x := 0;
  delay(10);
  y1 := 0;
  t := 0;
  while (abs((x10 + x1) - (x20 - x2)) > 8) or (abs((y10 + y1) - (y20 + y2)) > 8) do
  begin
    x1 := trunc(v1x * t);
    x2 := trunc(v2x * t);
    y1 := trunc(v1y * t);
    y2 := trunc(v2y * t);
    t := t + 1;
    SetPenWidth(1);
    SetPenColor(clBlue);
    Circle(x10 + x1, y10 + y1, 8);
    SetPenColor(clGreen);
    Circle(x20 - x2, y20 + y2, 8);
    delay(10);
    SetPenWidth(6);
    SetPenColor(clWhite);
    Circle(x10 + x1, y10 + y1, 8);
    Circle(x20 - x2, y20 + y2, 8);
  end;
  x10 := x10 + x1;
  y10 := y10 + y;
  x20 := x20 - x2;
  y20 := y20 + y2;
  t := 0;
  for i := 1 to 300 do
  begin
    t := t + 1;
    W1x := V1x + M2 * (1 + k) / (M1 + M2) * (abs(V1x) * cos(fi1) + abs(V2x) * cos(fi2)) * n1;
    W2x := V2x + M1 * (1 + k) / (M1 + M2) * (abs(V1x) * cos(fi1) + abs(V2x) * cos(fi2)) * n2;
    W1y := V1y + M2 * (1 + k) / (M1 + M2) * (abs(V1y) * cos(fi1) + abs(V2y) * cos(fi2)) * n1;
    W2y := V2y + M1 * (1 + k) / (M1 + M2) * (abs(V1y) * cos(fi1) + abs(V2y) * cos(fi2)) * n2;
    x1 := -trunc(w1x * t);
    x2 := -trunc(w2x * t);
    y1 := -trunc(w1y * t);
    y2 := -trunc(w2y * t);
    SetPenColor(clBlue);
    SetPenWidth(1);
    Circle(x10 + x1, y10 + y1, 8);
    SetPenColor(clGreen);
    Circle(x20 - x2, y20 + y2, 8);
    delay(10);
    SetPenWidth(6);
    SetPenColor(clWhite);
    Circle(x10 + x1, y10 + y1, 8);
    Circle(x20 - x2, y20 + y2, 8);
  end;
  Readkey;
end.
0
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 5
05.06.2016, 20:15  [ТС]
Даа) это почти то что нужно)) разобраться бы еще! Спасибо огромной.
У меня пару вопросов:
1. как сделать что бы шары останавливались у стенок экрана?
2. что бы протестировать центральное и не центральное соударение и разные скорости это вначале менять параметры нужно?

Добавлено через 8 минут
Если вам не сложно, сделайте комментарии, пожалуйста
0
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 5
07.06.2016, 21:02  [ТС]
Не пойму почему именно такая формула расчета скорости после удара?!(((
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
07.06.2016, 21:23
Цитата Сообщение от Cvetlan Посмотреть сообщение
именно такая формула расчета скорости
Изучал физику 35 лет назад, поэтому просто не помню. Взята программа по ссылке и переделана на pabc.net
0
0 / 0 / 0
Регистрация: 01.06.2016
Сообщений: 5
08.06.2016, 07:05  [ТС]
При абсолютно упругом столкновении k и n можно не учитывать наверно... Это коэффициент какой то и плотность наверно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2016, 07:05
Помогаю со студенческими работами здесь

Найти скорость шаров после столкновения и изменение кинетической энергии шаров в результате удара.
Помогите пожалуйста решить блок заданий...и пожалуйста по базовой формулке запишите к решению..очень прошу!!!Ответы есть,мне нужно решение....

Написание программного кода упругого столкновения
Программа для Delphi. Упругое столкновение двух шаров Добавлено через 22 часа 26 минут Упругое столкновение двух шаров.

Найти скорость и угол после столкновения 2 шаров
Есть 2 шара, известна их векторная скорость, масса и угол столкновения. Помогите найти их скорость и угол после столкновения.

Моделирование движения упругого мяча, брошенного под углом к горизонту
Дано: на вложениях. Решал похожую задачу с условиями: Упругий мячик имеет начальное положение и скорость. Сопротивление воздуха...

В урне содержится 8 шаров и 6 белых шаров. Случайным образом вынимают 4 шара
В урне содержится 8 шаров и 6 белых шаров. Случайным образом вынимают 4 шара. Найти вероятность того, что среди них имеется: 3 белых шара;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru