Имитация полета ракеты, Есть проблема. |
Здравствуйте, гость ( Вход | Регистрация )
Имитация полета ракеты, Есть проблема. |
QMainWindow |
8.11.2010, 23:46
Сообщение
#1
|
Участник Группа: Участник Сообщений: 198 Регистрация: 1.8.2010 Пользователь №: 1922 Спасибо сказали: 0 раз(а) Репутация: 0 |
День добрый.
Пишу программу (для знакомого и ради интереса), в которой имитируется полет ракеты. Ракета управляется с клавиатуры (кнопки вправо и влево). Требуется чтобы при нажатии на кнопку ракета откланялась от текущего курса на 1 градус (ну или любое другое значение). Т.е., например, при длительном нажатии на клавишу она описала дугу окружности с некоторый радиусом. Чуть не забыл, летит она в поле тяжести, с заданной силой тяги и с учетом линейного сопротивления воздуха. Значит уравнения написал, все верно. Но вот когда нажимаю (удерживаю) клавишу (вправо например), то вместо дуги окружности получается следующая картина: Представьте себе экран компьютера, точка старта - (ширина/2, 0) - оси как в математике. Пуск, ракета взлетела, нажимаю вправо, ракета исчезает и появляется в другой части экрана (типа телепортируется туда), снова нажимаю - то же самое. Тем не менее, если понажимать так в разные значения времени и проводить прямые через точки, то получатся лучи, идущие из точки старта. Т.е. когда я нажимаю вправо, то ракета прыгает по этим лучам вправо, а не поворачивается, как это должно быть. Собственно вопрос: как сделать, чтобы она поворачивалась? В пейнтере для удобства отразил оси снизу вверх. Как пример что нужно - кто играл в Worms, тот помнил как летит летающая овца при нажатии на "вправо" , "влево" - описывает дугу окружности))). Сообщение отредактировал QMainWindow - 8.11.2010, 23:49 |
|
|
Текстовая версия | Сейчас: 25.4.2024, 8:30 |