Как получить координаты на основе направления в математике C ++ - PullRequest
0 голосов
/ 15 марта 2019

У меня есть функция on_key, которая срабатывает, если нажата кнопка «w» (вперед), «a» (повернуть влево), «d» (повернуть вправо), если нажата «w», я хочу вычислить новыйх, у.У меня есть координаты x, y и градус, в зависимости от того, в какой степени объект в данный момент находится, я хочу вычислить новые координаты, например, на один пиксель в этом направлении.

        _ship->x = _ship->speed*cos(_ship->rotation+90)+_ship->x;
        _ship->y = _ship->speed*sin(_ship->rotation+90)+_ship->y;

Это мое решение, которое делаетне работа.примечание: _ship-> вращение + 90, +90, потому что изображение перпендикулярно

Пример: я нажал w и повернул его.

example

1 Ответ

1 голос
/ 15 марта 2019

Функции триггера C ++ cos() и sin() принимают аргументы в радианах, а не в градусах.

Чтобы преобразовать градусы в радианы, умножьте градусы на pi / 180.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...