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