Страница: 1 |
Страница: 1 |
Вопрос: Траектория
Добавлено: 30.05.06 19:39
Автор вопроса: DaaGER | Web-сайт:
Я хотел написать прогу, которая моделировала бы падение какого-либо тела. Человек вводит: вес тела, угол броска, начальную скорость и нажимает кнопочку, а прога строит траекторию падения тела и выдаёт расстояние на которое улетело тело, его конечную скорость, угол падения и т.д.
Проблема лишь в том, как построить эту траекторию. Пожалуйста подскажите.
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #1
Добавлено: 30.05.06 19:56
Если в цикле - то все очень просто. Траектория не зависит от веса тела, она зависит от удельного сопротивления среды (линейной и квадратичной составляющих). Тело имеет положение скорость, и силу (в нашем случае это векторная сумма тяготения и сопротивления среды). Каждый цикл рассчитываем действующую на тело силу, прибавляем силу к скорости, а скорость к положению. Тяготение постоянно и направлено вниз, а сопротивление среды, при условии, что тело имеет форму сферы, противоположно по направлению вектору скорости, а его модуль в самом простом случае пропорционален скорости.
Номер ответа: 2
Автор ответа:
DaaGER
ICQ: 329195567
Вопросов: 52
Ответов: 67
Web-сайт:
Профиль | | #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
 rawFrame ' Процедура отображения
DoEvents
SleepEx 1, 0
Loop
End Sub
Номер ответа: 5
Автор ответа:
DaaGER
ICQ: 329195567
Вопросов: 52
Ответов: 67
Web-сайт:
Профиль | | #5
Добавлено: 01.06.06 01:25
2 Fever/
Давай скидывай, только. если она не очень большая, у меня Dial-UP!