0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
1

Моделирование полета тела с учетом сопротивления воздуха

22.10.2016, 19:02. Показов 21555. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребятки, требуется помощь , иначе всю мою группу отчислят
Вообщем препод потребовал составить две задачи, все в Delphi:
1)Моделирование полета тела, брошенного под углом к горизонту, без учета сопротивления воздуха.
2) Та же задача, но уже с учетом сопротивления воздуха.
Первую задачу успешно решил и сдал пусть и не досконально точно, задача в архиве ниже.
А вот по поводу второй нет ни малейшего представления, как решать... Пропод вроде дал хорошую подсказку, сказал, что нужны массивы для вычисления зависимости координат и скоростей от времени, однако, как в дальнейшем реализовывать это,я так и не понял. Векторно задать скорость тоже нельзя, не знаю почему...
Дано: начальные координаты (могут быть произвольные), начальная скорость, угол броска, масса объекта, радиус поперечного сечения, коэф. сопротивления Cх = от 0,1 до 1,29, плотность воздуха 1,2 кг.м^3 постоянная (высоты до 6000м), кривизной земного шара пренебрегаем, боковым ветром тож (все таки не в объеме отрисовываем ).
Требуется найти: дальность полета, высоту, время полета, вычислить x(t), y(t) в заданный в введенный пользователем момент времени. После этого нужно построить график используя tchart.
Помогите пожалуйста. Может у кого-то уже есть готовые задачи подобного рода.
Вложения
Тип файла: rar Задача 1.rar (233.7 Кб, 112 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2016, 19:02
Ответы с готовыми решениями:

Построить траекторию полета камня с учетом сопротивления воздуха
Пусть камень массой m брошен под углом α к гоизонту со скоростью vo. Построить траекторию полета...

Расчет траектории движении тела с учетом сопротивления воздуха
Подобная задача, без учета сопротивления среды была только, что мною решена. если поможет, могу...

Движение тела, брошенного под углом к горизонту, с учетом сопротивления воздуха
Пожалуйста, объясните как строить модель движения тела, брошенного под углом к горизонту, с учетом...

Траектория тела, брошенного под углом к горизонту, с учетом силы сопротивления воздуха
Помогите,пожалуйста, в построении графика движения тела , брошенного под углом к горизонту, с...

27
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
22.10.2016, 21:32 2
Что-то мне подсказывает, что сопротивление воздуха можно считать силой, направленной в противоположную скорости объекта сторону. Если вам нельзя использовать вектор скорости, то используйте вектор силы, который ей противоположен.

Хотя... Можно разбить их на горизонтальную и вертикальную компоненты, это все упростит.
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
22.10.2016, 21:36  [ТС] 3
Вектор силы - однозначно. По-другому препод не примет.
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
22.10.2016, 21:40 4
Да вот не однозначно. Давай рассмотрим физику. Сила - это ma. А как величина Cx влияет на величину силы?
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
22.10.2016, 21:57  [ТС] 5
Эээээм... А что, если я тебе скажу, что https://www.cyberforum.ru/cgi-bin/latex.cgi?F=\frac{d(m\bar{v})}{dt} ? B ускорение свободно расписывается на нужные составляющие. Cx учитывается в нем.
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
22.10.2016, 22:01 6
Я на это скажу, что у меня радиофизический факультет за плечами и я отлично знаю, что это те же яйца, только в профиль. Вот только в этой формуле второго закона Ньютона нет Cx и практической пользы от неё нам сейчас не много.
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
22.10.2016, 22:13  [ТС] 7
https://www.cyberforum.ru/cgi-bin/latex.cgi?F=\frac{Cx*S*\rho*{v}^{2}}{2}, если ты о том, что тебе нужна формула.

Дальше https://www.cyberforum.ru/cgi-bin/latex.cgi?X''t=V'x=\frac{-F*sin(\alpha)}{m}
Для Vy то же самое, но еще следует вычесть ускорение свободного падения. Проблема в том, что я не могу это реализовать программно, а не в том, что я не знаю формул. .
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
22.10.2016, 22:18 8
Давай уйдем от дифференциалов и производных. Совершенно нет желания уходить в численные методы, тем более, что все эти dv по dt совершенно эквивалентны обычному ускорению и по смыслу, и по сути.

Теперь к делу. В первой формуле будь добр, укажи что у тебя прячется за буквами, и приступим к делу.
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
22.10.2016, 22:33  [ТС] 9
Cx- как ты уже понял, кэф. лобового сопротивления, может меняться от 0,1 до 1,29, как пользователь введет так и будет
S - площадь поперечного сечения брошенного объекта (будем считать, что мы бросили ядро или любой другой шар)
p - плотность воздуха
v - скорость, видимо в какой-то определенный момент времени полета (вот тут я могу ошибиться...)
2 - просто двойка
Дальше m - масса брошенного шара, ну а остальное, вроде все понятное..
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
22.10.2016, 22:51 10
Вот, все данные есть. Если ты прикинешь в уме, то поймешь, что движение без сопротивления воздуха - это частный случай движения с сопротивлением воздуха, где Cx равно нулю. Отсюда вывод: выкладывай код программы движения без сопротивления, будем отталкиваться от неё.

В качестве бонуса: сила из второй формулы (с синусом) может дать представление о том, как разобьется сила сопротивления воздуха по x и y компонентам. Кстати, приложи схематический рисунок с указанием всех сил и их направлений, действующих на тело. Надо понять, правильно ли ты все понимаешь в задаче.

У меня уже 3 ночи, завтра программу напишем.

P.s. код увидел, посмотрю с утра. Рисуй схему.
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
23.10.2016, 00:23  [ТС] 11
Вообщем-то вот схема на бумажке. Надеюсь, нужно было на бумажке.
Если что забыл, то тоже по причине недосыпа.
Миниатюры
Моделирование полета тела с учетом сопротивления воздуха  
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
23.10.2016, 07:57 12
Красиво и подробно нарисовано, молодец. Сработаемся. Единственное мое дополнение - ты вектор скорости разбил на компоненты x и у, а вот силу сопротивления - нет. Так как я планирую рассматривать эти компоненты и скорости отдельно друг от друга, то это тоже важный момент.

Я, думаю, ты понимаешь, но дам комментарий для потомков: в такой ситуации движение можно разбить на два независимых друг от друга вектора - движение по горизонтали и движение по вертикали. На компоненту y скорости действует сила тяжести, что выражается в ускорении тела, направленном вниз (второй закон Ньютона). На компоненту x никакая сила не действует (все это справедливо для инерциальной системы отсчета в условии отсутствия силы трения воздуха). Т.е., как завещал нам дедушка Ньютон, по горизонтали шарик бы летел вечно и ничто бы его не остановило, но вот по горизонтали на него действует сила, скорость меняется и он падает.

Все это приводит к тому, что время полета нашего шарика ограничено полетом в вертикальной плоскости, и решать задачу по нахождению времени полеты мы можем только относительно его координат. Находим максимальный подъем и время падения по системе уравнений (сначала находим время нулевой скорости - максимальное возвышение, потом находим время и скорость на уровне земли - сумма максимального возвышения и "снижения" земли относительно точки запуска):
https://www.cyberforum.ru/cgi-bin/latex.cgi?v  = {v}_{0}  + at;
https://www.cyberforum.ru/cgi-bin/latex.cgi?S = {v}_{0}t + \frac{a{t}^{2}}{2}
Время касания нам известно, остается по второй формуле выше определить, насколько далеко улетел шарик. Ускорение при этом можно высчитать по следующей формуле:
https://www.cyberforum.ru/cgi-bin/latex.cgi?m{a}_{x}=0
https://www.cyberforum.ru/cgi-bin/latex.cgi?m{a}_{y}=mg

Далее. Появляется сопротивление воздуха. Если раньше ускорение (см строчкой выше) определялось как просто g, то теперь сумма сил меняется. Туда добавляется сопротивление воздуха. Чуть позже допишу.

Добавлено через 51 минуту
Продолжим.

Итак. Начинаем определять сопротивление воздуха. Разобьем нашу силу сопротивления воздуха на компоненты - x и у.

https://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{x} = {{C}_{x}*\rho *S * {v}^{2} * sin(\alpha )}/{2}
https://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{y} = {{C}_{x}*\rho *S * {v}^{2} * cos(\alpha )}/{2}

Но что в этом случае будет углом альфа? Это ведь угол, противоположные углу направления вектора скорости. А как его вычислить? Теоретически, можно. Но нужно ли?

Тут мы можем вспомнить, что у нас сама по себе задача уже разбита на вертикальную и горизонтальную составляющие. А значит, что мы уже без проблем находили х и у компоненты скорости. И ведь именно от этих компонент у нас и зависит сила сопротивления воздуха!

https://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{x} = {{C}_{x}*\rho *S * {{v}_{x}}^{2}}/{2}
https://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{y} = {{C}_{x}*\rho *S * {{v}_{y}}^{2}}/{2}

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

https://www.cyberforum.ru/cgi-bin/latex.cgi?m{a}_{x} = {F}_{sopr.x};
https://www.cyberforum.ru/cgi-bin/latex.cgi?m{a}_{y} = mg+{F}_{sopr.y}; //при движении вверх сила сопротивления воздуха будет сонаправлена силе тяжести
https://www.cyberforum.ru/cgi-bin/latex.cgi?m{a}_{y} = mg-{F}_{sopr.y}; //при движении вниз сила сопротивления воздуха будет противоположна силе тяжести

За знаки не ручаюсь, но я точно понимаю, что суммарная сила будет такой, как представлена выше. А со знаком определимся при решении (вернее, сила всегда будет направлена на торможение объекта и силе ускоряющей его).

Отсюда находим компоненты a:

https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{x} = {{C}_{x}*\rho *S * {{v}_{x}}^{2}}/{2m}
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{y} = g + {{C}_{x}*\rho *S * {{v}_{y}}^{2}}/{2m} //при движении вверх
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{y} = g - {{C}_{x}*\rho *S * {{v}_{y}}^{2}}/{2m} //при движении вниз

Ну что же, математика, на мой взгляд, закончена, можно переходить к программированию

Добавлено через 7 минут
Еще одна небольшая ремарка, относящаяся к делу: все эти дифференциалы из первых постов хороши для того, чтобы производить впечатление на школьниц чем-то новым, но совершенно противопоказано в программировании. Тут работает правило - чем проще математика тем легче его воплощение в жизнь. Дифференцирование и интегрирование - это задача численных методов, где функция вычисления такого интеграла или дифференциала будет по объему куда круче, чем вся программа, решающая задачу из первого поста.

Не усложняйте себе жизнь. Приводите все в максимально упрощенный вид. В дифурах - разбирайте неопределенности методом Лопиталя. В программировании - уходите от интегрирования к простой математике. Поверьте, на численных методах вам еще дадут "насладиться" высчитыванием всех этих прелестей.

Добавлено через 44 минуты
Так, переходим к программированию.

Первое: запомните, все введенные данные надо проверять на корректность. Иначе будут постоянно выбивать исключения (например, на одном компьютере за разделение целой и дробной части отвечает точка, а на другом - запятая).

Сделай процедуру (или функцию с возвратом значения типа boolean):
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function CheckValues:Boolean;
var t:Double;
begin
result := true;
//проверяем разделитель
if (pos(',',Edit1.Text) > 0) then Edit1.text[pos(',',Edit1.Text)] := DecimalSeparator;
if (pos('.',Edit1.Text) > 0) then Edit1.text[pos('.',Edit2.Text)] := DecimalSeparator;
//И так для всех пяти Edit'ов
if not trystrtofloat(Edit1.Text,t) then 
 begin
 Edit1.Text := '';
 result := false;
 end;
//И так для всех пяти Edit'ов
end;
И ставим эту функцию в самое начало обработчика нажатия кнопки "Расчитать", проверяя, что если результат равен false - то прерываем выполнение.

P.S. Что-то мне подсказывает, что я написал хреновый код, возможно, меня смогут поправить и показать как это сделать красивше.

Добавлено через 57 минут
Итак... Залез в код и сделал косметические изменения, которые заключаются в следующем:

1. Не стыдитесь использовать комментарии. Код становится читабельнее, проще искать ошибки. Я откомментировал только первую половину.

2. Не надо так часто использовать StrToFloat. Во-первых, это нерациональное использование ресурсов, во-вторых, StrToInt - это не безопасная функция в случае, если в нее передан неправильных параметр (использовать лучше strtointdef), в-третьих, StrToFloat(Edit3.Text) значительно хуже читаемо, чем x0, например.

3. Если надо взять квадрат числа - используем sqr, а не power.


Вопросы по коду я привел в комментариях. Жду на них ответа и продолжим.

Delphi
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
procedure TForm1.Button1Click(Sender: TObject);
var
  t,l,h,Vox,Voy,Voyt,rad,v,x,y,y1,x1, x2,x0,y0,tm: real;
  i: integer;
begin
 //Проверяем корректность введенных данных
 if not self.CheckValues then
 begin
 ShowMessage('Аллах Акбар! Обнаружена ересь в веденных значениях. Взрыв через 15 с.');
 Exit;
 end;
  //Переводим градусы в радианы, т.к. функции sin и cos в делфи работают именно с радианами.
  rad:=(StrToFloatDef(Edit4.Text,0)*pi)/180;
  //запоминаем x0 и y0
  x0 := StrToFloatDef(Edit1.Text,0);
  y0 := StrToFloatDef(Edit2.Text,0);
  //Разбиваем скорость на компоненты х и у. Тут косинус и синус не перепутаны местами?
  Vox:=StrToFloatDef(Edit3.Text,0)*cos(rad);
  Voy:=StrToFloatDef(Edit3.Text,0)*sin(rad);
  //Запоминаем необходимый промежуток времени
  tm := StrToFloatDef(Edit5.Text,0)
  //Высчитываем максимальный подъем шарика
  h:=(sqr(Voy))/(2*g)+y0;
  Label12.Caption:=FloatToStr(h);
  //Вычисляем время, необходимое для падения шарика на землю
  t:=(Voy)/g+sqrt((2*h)/g);
    Label11.Caption:=FloatToStr(t);
  //Определяем вертикальную скорость в заданный момент времени
  Voyt:=Voy-g*tm;
  //определяем длину вектора скорости. Vox не меняется, как я уже писал выше. Я оперирую понятие "длина вектора", что эквивалентно понятию "скорость" так как теорема Пифагора все же высчитывает длину.
  v:=sqrt(sqr(Vox)+sqr(Voyt));
  if tm>t then
   begin
     Label14.Caption:='0';
    end
   else
   begin
     Label14.Caption:=FloatToStr(v);
   end;
  //Тут точно sin(2*rad), а не квадрат синуса?
  l:=(sqr(v0)*sin(2*rad))/(2*g)+Vox*sqrt((2*h)/g);
    Label13.Caption:=FloatToStr(l);
  Label16.Caption:=FloatToStr((arctan(Vox/voyt)*180)/pi);
  x:=x0+Vox*tm;
    Label19.Caption:=FloatToStr(x);
  //Зачем тут sin(rad), ведь он и так присутствует в Voy?
  y:=y0+Voy*tm*sin(rad)-g*sqr(tm)/2;
    Label20.Caption:=FloatToStr(y);
     begin
     Series1.Clear;
     x1:=0;
     y1:=0;
     for i:=0 to 50 do
      begin
      x1:=(l-x0)/50*i+x0;
      x2:=l/50*i+x0;
      y1:=y0+(x2-x0)*tan(rad)-0.5*g*sqr((x2-x0)/Vox));
      Series1.AddXY(x1,y1);
      end;
      i:=i+1;
     end;
 end;
 
function TForm1.CheckValues: Boolean;
var t:Double;
begin
result := true;
 
if (pos(',',Edit1.Text) > 0) then Edit1.text[pos(',',Edit1.Text)] := DecimalSeparator;
if (pos('.',Edit1.Text) > 0) then Edit1.text[pos('.',Edit1.Text)] := DecimalSeparator;
 
if (pos(',',Edit2.Text) > 0) then Edit2.text[pos(',',Edit2.Text)] := DecimalSeparator;
if (pos('.',Edit2.Text) > 0) then Edit2.text[pos('.',Edit2.Text)] := DecimalSeparator;
 
if (pos(',',Edit3.Text) > 0) then Edit3.text[pos(',',Edit3.Text)] := DecimalSeparator;
if (pos('.',Edit3.Text) > 0) then Edit3.text[pos('.',Edit3.Text)] := DecimalSeparator;
 
if (pos(',',Edit4.Text) > 0) then Edit4.text[pos(',',Edit4.Text)] := DecimalSeparator;
if (pos('.',Edit4.Text) > 0) then Edit4.text[pos('.',Edit4.Text)] := DecimalSeparator;
 
if (pos(',',Edit5.Text) > 0) then Edit5.text[pos(',',Edit5.Text)] := DecimalSeparator;
if (pos('.',Edit5.Text) > 0) then Edit5.text[pos('.',Edit5.Text)] := DecimalSeparator;
 
 
if not trystrtofloat(Edit1.Text,t) then
 begin
 Edit1.Text := '';
 result := false;
 end;
if not trystrtofloat(Edit2.Text,t) then
 begin
 Edit2.Text := '';
 result := false;
 end;
if not trystrtofloat(Edit3.Text,t) then
 begin
 Edit3.Text := '';
 result := false;
 end;
if not trystrtofloat(Edit4.Text,t) then
 begin
 Edit4.Text := '';
 result := false;
 end;
if not trystrtofloat(Edit5.Text,t) then
 begin
 Edit5.Text := '';
 result := false;
 end;
end;
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
23.10.2016, 10:53  [ТС] 13
Только проснулся, а тут такой годный подарочек . Щас до конца проснусь, детально все изучу. Ответишь мне на вопросы, если появятся?
Кстать я скинул случайно код, который еще нужно было докорректировать. Мелкие недочеты, вроде того синуса, учтенного в Voy. Я этот код на значения не проверял. После проверки, уже в вузе, допилил как надо, а сохранить забыл, получилась такая ересь.
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
23.10.2016, 10:59 14
В целом, моя задача - как раз помочь сделать программу и отвечать на вопросы. Так что жду разбора моих вопросов и двинемся дальше.
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
23.10.2016, 11:36  [ТС] 15
Итак, продолжим.
Строка 17 - нет, ничего не перепутано.
Строка 40 - прям точно синус 2rad/
Строка 46 - sin(rad) действительно лишний, я забыл, что подставлял не Vo, Voy.

По поводу комментариев, я как-то уже по зрительной памяти ориентируюсь, где что. Да и преподу потом на словах все объясняю, что где и как. Так он хоть видит, что я непосредственно сам участвовал в создании кода и я понимаю, что за чем идет. Ну а т.к. эта задача, будет решена не только моими силами, я обязательно вставлю пояснительные комментарии

По поводу StritToFloatDef. Проблема в том, что я еще учусь и мы не касались еще таких параметров, поэтому я их не использовал. Но, поскольку в первой задаче была такая проблема, что вводилась разделяющая точка вместо запятой (программа ругалась), буду теперь использовать вашу конструкцию. Только я не понимаю, что значит запятая и 0 после каждого эдита. Я понял ,что это какое-то проверяемое в дальнейшем значение, но как оно работает?

power уже ввожу на автомате, если есть какая-то степень

Ты же сохранил все эдиты? Если я к примеру сейчас вставлю этот код в свой юнит, он будет работать?
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
23.10.2016, 12:16 16
W3Avenger, работать все будет, но лучше перепроверить формулы. Запятая и ноль - это

Delphi
1
strtointdef(value:double; defaultvalue:double):double;
Т.е. он проверяет, если value - вещественное число, то он возвращает это число, а если оно некорректное, то возвращает defaultvalue.

Delphi
1
TryStrToInt(value:double; var rslt:double):Boolean;
Если value - вещественное число, то возвращает true и записывает это число в rslt, иначе возвращает false.

В общем, сейчас задача - довести формулы до идеала. Но этим я займусь часа через три-четыре.

По поводу синуса и косинуса: у меня возникло ощущение, что перепутано т.к. если поставить угол равным 0, то у нас должна остаться только y компонента скорости, а если угол равен 90 градусов - то только х компонента. Так или я что-то путаю?
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
23.10.2016, 12:25  [ТС] 17
ПО поводу последнего - при подстановке 0: cos0=1, sin0=0; при подстановке 90: cos90=0, sin90=1.
По поводу кода, я подставил, он выдал кучу ошибок в роде не декларированных переменных эдит + ему очень не нравится оглавление функции CheckValue. Я сейчас постараюсь кое-что еще переделать, пока ты занят, посмотрим, что из этого выйдет.
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
23.10.2016, 14:39 18
Логично. Надо добавить объявление функции CheckValue в private, protected или public секцию класса TForm1. Мой косяк, что скинул без учета этого.

По поводу косинуса-синуса: я правильно понял, что в принятой системе отсчета 0 градусов - это направление вправо по горизонту? Если да, то тогда вопросов у меня нет, все правильно, так как я принимал 0 градусов за направление наверх когда выводил формулы. На коде это скажется минимально.
0
0 / 0 / 0
Регистрация: 26.11.2015
Сообщений: 15
23.10.2016, 15:04  [ТС] 19
0 - вправо по горизонту.
Вообщем, успехов 0, навалилось дел других, к переписыванию кода так и не приступал
Возможно ли дефолтный разделитель поставить на всю форму, оценивая только первый эдит? Тип, если ввели с запятой, то во всех эдитах дефолтным разделителем вещественных чисел будет запятая. И так же в случае точки. Можно это как-то реализовать? А то как-то каждый эдит проверять - куча строчек кода.

Добавлено через 16 минут
Искал искал ,толком ничего не нашел, про эдиты. Похоже что ваш вариант единственно-правильный
0
884 / 404 / 174
Регистрация: 20.10.2016
Сообщений: 1,828
23.10.2016, 15:40 20
Да можно и вариант с заменой разделителя делать. Надо просто DecimalSeparator присвоить желаемый символ. Просто это нежелательный способ, ибо от этой переменной многое зависит. Да и он не дает 100% гарантии отсутствия ошибки ввода, а мой способ - дает.
0
23.10.2016, 15:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2016, 15:40
Помогаю со студенческими работами здесь

Моделирование движения материальной точки в поле тяжести с учетом силы сопротивления воздуха
Задание 1. Моделирование движения материальной точки в поле тяжести с учетом силы сопротивления...

Смоделировать бросок камня под углом к горизонту без учета сопротивления, и с учетом сопротивления воздуха
Задание: Смоделировать бросок камня под углом к горизонту без учета сопротивления, и с учетом...

Падения тела с учетом сопротивления среды
Имеются начальные данные: начальный момент времени, начальная координата, начальная скорость. Нужны...

Моделирование траектории полета тела
подскажите алгоритм-формулу по моделированию полета тела, учитывается угол под каким бросают тело...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru