Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Траектория Добавлено: 30.05.06 19:39  

Автор вопроса:  DaaGER | Web-сайт: smartic.ru | ICQ: 329195567 
Я хотел написать прогу, которая моделировала бы падение какого-либо тела. Человек вводит: вес тела, угол броска, начальную скорость и нажимает кнопочку, а прога строит траекторию падения тела и выдаёт расстояние на которое улетело тело, его конечную скорость, угол падения и т.д.
Проблема лишь в том, как построить эту траекторию. Пожалуйста подскажите.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #1 Добавлено: 30.05.06 19:56
Если в цикле - то все очень просто. Траектория не зависит от веса тела, она зависит от удельного сопротивления среды (линейной и квадратичной составляющих). Тело имеет положение скорость, и силу (в нашем случае это векторная сумма тяготения и сопротивления среды). Каждый цикл рассчитываем действующую на тело силу, прибавляем силу к скорости, а скорость к положению. Тяготение постоянно и направлено вниз, а сопротивление среды, при условии, что тело имеет форму сферы, противоположно по направлению вектору скорости, а его модуль в самом простом случае пропорционален скорости.

Ответить

Номер ответа: 2
Автор ответа:
 DaaGER



ICQ: 329195567 

Вопросов: 52
Ответов: 67
 Web-сайт: smartic.ru
 Профиль | | #2
Добавлено: 30.05.06 22:59
Судя по тому что ты написал ты не дебил...
Но мне этого мало! Мне бы КОДа!Потому что в теории у меня есть различные варианты, а на практике......

Ответить

Номер ответа: 3
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #3 Добавлено: 31.05.06 11:41
Открой учебник физики!!!
Если хош на мыло брошу прогу.

Ответить

Номер ответа: 4
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #4 Добавлено: 31.05.06 13:00
Могу предложить такой код (простейший способ):


Private Type PhysP
  X As Double ' Положение
  Y As Double
  XV As Double ' Скорость
  YV As Double
End Type

Private Sub MainLoop()
Dim P1 As PhysP

With P1 ' Начальные значения
  .X = 40
  .Y = 80
  .XV = 5
  .YV = 16
End With

Do
  With P1
    .XV = .XV * 0.95
    .YV = (.YV + 0.5) * 0.95
    .X = .X + .XV
    .Y = .Y + .YV
  End With
  
  ;DrawFrame ' Процедура отображения

  DoEvents
  SleepEx 1, 0
Loop
End Sub

Ответить

Номер ответа: 5
Автор ответа:
 DaaGER



ICQ: 329195567 

Вопросов: 52
Ответов: 67
 Web-сайт: smartic.ru
 Профиль | | #5
Добавлено: 01.06.06 01:25
2 Fever/
Давай скидывай, только. если она не очень большая, у меня Dial-UP!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам