Форум программистов, компьютерный форум CyberForum.ru

Задача по физике. С некоторой высоты под углом к горизонту брошено тело. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 64, средняя оценка - 4.67
Василий1029
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 20
01.04.2012, 14:30     Задача по физике. С некоторой высоты под углом к горизонту брошено тело. #1
С некоторой высоты http://www.cyberforum.ru/cgi-bin/latex.cgi?h_0 под углом к горизонту http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha со скоростью http://www.cyberforum.ru/cgi-bin/latex.cgi?U брошено тело.
Вычислить,какое расстояние по горизонтали оно пролетит до соприкосновения с землей.Определить время полета.Вычисления координат производить в цикле, производя приращение http://www.cyberforum.ru/cgi-bin/latex.cgi?t на величину http://www.cyberforum.ru/cgi-bin/latex.cgi?\triangle t
Сопротивлением воздуха пренебречь
Формулы расчета.

http://www.cyberforum.ru/cgi-bin/latex.cgi?x=U_x t<br />
y=h_0+U_y t- \frac{g t^2}{2}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 14:30     Задача по физике. С некоторой высоты под углом к горизонту брошено тело.
Посмотрите здесь:

C++ Вычислить угол под которым брошено тело
Движение тела брошенного под углом к горизонту с сопротивлением воздуха C++
C++ Расчёт траектории полёта тела брошенного под углом к горизонту
C++ Тело падает под действием силы тяжести
задача по лабе (переписать программу так, чтобы у цикла отсутствовало тело) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
01.04.2012, 14:49     Задача по физике. С некоторой высоты под углом к горизонту брошено тело. #2
Цитата Сообщение от Василий1029 Посмотреть сообщение
С некоторой высоты h0 под углом к горизонту http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha со скоростью U брошено тело.
Вычислить,какое расстояние по горизонтали оно пролетит до соприкосновения с землей.Определить время полета.Вычисления координат производить в цикле, производя приращение t на величину дельта t
Сопротивлением воздуха пренебречь
Формулы расчета.
x=Ux*t
y=h0+Uy*t-g*t^2/2
Так тебе физику решить или программу написать?

Элементарно решается аналитически:
h0+Uy*t-g*t^2/2=0
t=(Uy+sqrt(Uy^2+4g*h0/2)/g
Подставляем t в x=Ux*t и получаем дальность полёта.
X=Ux*(Uy+sqrt(Uy^2+4g*h0/2)/g
или тебе надо на Cи смоделировать.

Советую метод конечных приращений
C++
1
2
3
4
5
6
7
8
9
10
11
12
y=h0;
x=0.0;
g=9.81;
dt=0.01;
time=0.0;
while(y>0){
  Uy=Uy-g*dt; 
  y=y+Uy*dt;
  x=x+Ux*dt;
  time+=dt;
}
cout<<"distance="<<x<<"; time="<<t<<endl;
Василий1029
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 20
01.04.2012, 16:06  [ТС]     Задача по физике. С некоторой высоты под углом к горизонту брошено тело. #3
Спасибо,физически я понимаю как делать,вот в C++ не разобрался,метод притащении мы не проходили еще,как сделать просто с помощью цикла?
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
01.04.2012, 16:58     Задача по физике. С некоторой высоты под углом к горизонту брошено тело. #4
Цитата Сообщение от Василий1029 Посмотреть сообщение
Спасибо,физически я понимаю как делать,вот в C++ не разобрался,метод притащении мы не проходили еще,как сделать просто с помощью цикла?
выше пост сделан с помощью цикла
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
07.04.2012, 16:30     Задача по физике. С некоторой высоты под углом к горизонту брошено тело. #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const double dt=1e-3;
const double g=9.81;
double fly(double U, double alfa){
  double y=h0;
  double x=0;
  double t=0;
  double Uy=U*sin(alfa);
  double Ux=U*cos(alfa);
  while(y>0){
    Uy=Uy-g*dt;
    x=x+Ux*dt;
    y=y+Uy*dt;//вариант y=y+Uy*dt-g*dt*dt/2, но не обязательно
    t=t+dt;
  }
  printf("time=%f distance=%f \n", t, x);
  return x;
}
Василий1029
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 20
08.04.2012, 21:33  [ТС]     Задача по физике. С некоторой высоты под углом к горизонту брошено тело. #6
задачу вроде написал,нужно вычислить x и t,вводить нужно высоту ,если не ошибаюсь!
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.04.2012, 21:39     Задача по физике. С некоторой высоты под углом к горизонту брошено тело. #7
Цитата Сообщение от Василий1029 Посмотреть сообщение
,вводить нужно высоту ,если не ошибаюсь!
все правильно: вводить нужно U, alfa и h0. dt у Вас задано.
Поэтому в функцию fly() нужно передавать не 2 параметра а три:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double fly(double U, double alfa, double h0){
 double y=h0;
 double x=0;
 double t=0;
 double Uy=U*sin(alfa);
 double Ux=U*cos(alfa);
 while(y>0){
 Uy=Uy-g*dt;
 x=x+Ux*dt;
 y=y+Uy*dt;
 t=t+dt;
 }
 printf("time=%f distance=%f \n", t, x);
 return x;
 }
не забудьте про main() где Вы и будете вводить эти данные и вызывать fly()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2012, 23:05     Задача по физике. С некоторой высоты под углом к горизонту брошено тело.
Еще ссылки по теме:

C++ Сделать блок-схему к курсовой работе (движения тела, брошенного под углом к горизонту)
C++ Решение физической задачи: рассчитать полет камня, брошенного под углом к горизонту
SFML движение под углом C++

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

Или воспользуйтесь поиском по форуму:
antonboom
bmstu-team
 Аватар для antonboom
301 / 136 / 56
Регистрация: 10.01.2012
Сообщений: 419
Записей в блоге: 10
18.12.2012, 23:05     Задача по физике. С некоторой высоты под углом к горизонту брошено тело. #8
объясните, пожалуйста, поподробнее, как физически это решить. откуда такое to взялось?
Yandex
Объявления
18.12.2012, 23:05     Задача по физике. С некоторой высоты под углом к горизонту брошено тело.
Ответ Создать тему
Опции темы

Текущее время: 19:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru