crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Имитация полета ракеты, Есть проблема.
QMainWindow
  опции профиля:
сообщение 8.11.2010, 23:46
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


День добрый.
Пишу программу (для знакомого и ради интереса), в которой имитируется полет ракеты. Ракета управляется с клавиатуры (кнопки вправо и влево). Требуется чтобы при нажатии на кнопку ракета откланялась от текущего курса на 1 градус (ну или любое другое значение). Т.е., например, при длительном нажатии на клавишу она описала дугу окружности с некоторый радиусом. Чуть не забыл, летит она в поле тяжести, с заданной силой тяги и с учетом линейного сопротивления воздуха.
Значит уравнения написал, все верно. Но вот когда нажимаю (удерживаю) клавишу (вправо например), то вместо дуги окружности получается следующая картина:
Представьте себе экран компьютера, точка старта - (ширина/2, 0) - оси как в математике. Пуск, ракета взлетела, нажимаю вправо, ракета исчезает и появляется в другой части экрана (типа телепортируется туда), снова нажимаю - то же самое. Тем не менее, если понажимать так в разные значения времени и проводить прямые через точки, то получатся лучи, идущие из точки старта. Т.е. когда я нажимаю вправо, то ракета прыгает по этим лучам вправо, а не поворачивается, как это должно быть. Собственно вопрос: как сделать, чтобы она поворачивалась? В пейнтере для удобства отразил оси снизу вверх. Как пример что нужно - кто играл в Worms, тот помнил как летит летающая овца при нажатии на "вправо" , "влево" - описывает дугу окружности))).

Сообщение отредактировал QMainWindow - 8.11.2010, 23:49
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 8:30