Посмотрите в направлении 2d Vector - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь создать простое приложение, которое поворачивает персонажа к вектору относительно его текущей позиции.

Значение поворота составляет от 0 до 180 и от -180 до 0.

Математика не является моей сильной стороной, и я был бы признателен, если бы можно было объяснить примеры кода на C #, мне нужно установить значение переменной поворота в диапазонах, упомянутых выше.

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Используйте функцию Atan2() для преобразования относительной x , y позиции в углы

        double dx=target.X-actor.X;
        double dy=target.Y-actor.Y;
        double angle=Math.Atan2(dy, dx)*180/Math.PI;
1 голос
/ 03 апреля 2012

Угол может быть рассчитан путем перевода вектора в полярную запись (r, theta): http://en.wikipedia.org/wiki/Polar_coordinate_system#Converting_between_polar_and_Cartesian_coordinates

Чтобы получить данные из x и y, вы можете использовать http://msdn.microsoft.com/en-us/library/system.math.atan2.aspx

Приветствия.

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