Имитация полета ракеты, Есть проблема. |
Здравствуйте, гость ( Вход | Регистрация )
Имитация полета ракеты, Есть проблема. |
QMainWindow |
8.11.2010, 23:46
Сообщение
#1
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
День добрый.
Пишу программу (для знакомого и ради интереса), в которой имитируется полет ракеты. Ракета управляется с клавиатуры (кнопки вправо и влево). Требуется чтобы при нажатии на кнопку ракета откланялась от текущего курса на 1 градус (ну или любое другое значение). Т.е., например, при длительном нажатии на клавишу она описала дугу окружности с некоторый радиусом. Чуть не забыл, летит она в поле тяжести, с заданной силой тяги и с учетом линейного сопротивления воздуха. Значит уравнения написал, все верно. Но вот когда нажимаю (удерживаю) клавишу (вправо например), то вместо дуги окружности получается следующая картина: Представьте себе экран компьютера, точка старта - (ширина/2, 0) - оси как в математике. Пуск, ракета взлетела, нажимаю вправо, ракета исчезает и появляется в другой части экрана (типа телепортируется туда), снова нажимаю - то же самое. Тем не менее, если понажимать так в разные значения времени и проводить прямые через точки, то получатся лучи, идущие из точки старта. Т.е. когда я нажимаю вправо, то ракета прыгает по этим лучам вправо, а не поворачивается, как это должно быть. Собственно вопрос: как сделать, чтобы она поворачивалась? В пейнтере для удобства отразил оси снизу вверх. Как пример что нужно - кто играл в Worms, тот помнил как летит летающая овца при нажатии на "вправо" , "влево" - описывает дугу окружности))). Сообщение отредактировал QMainWindow - 8.11.2010, 23:49 |
|
|
Алексей1153 |
9.11.2010, 9:29
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
QMainWindow, Покажи, как делаешь приращение параметров движения
|
|
|
QMainWindow |
11.11.2010, 22:10
Сообщение
#3
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
Все, вроде разобрался. Такая ерунда получалась, потому что функция и ее первая производная были разрывны.
|
|
|
Алексей1153 |
12.11.2010, 7:12
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
QMainWindow, покажи свой шедевер то хоть )
|
|
|
Текстовая версия | Сейчас: 18.4.2024, 6:26 |