Расчет движения X Y на основе угла поворота?
Скажем, у меня есть объект в 2D пространстве, который может вращаться, а затем должен двигаться в соответствии с его углом поворота.
Например:
-
Если угол равен 0 (направлен вверх), то on_timer
он должен переместить 1 на Y и 0 на X.
-
Если угол равен 45, то он должен двигаться 1 на Y и 1 на X.
-
Если на 90 градусов, то 0 на Y и 1 на X.
-
Если указывать 135 градусов, то -1 через Y и +1 на X и т.д.
Знаете ли вы какие-либо функции для вычисления этого?
Ответы
Ответ 1
хорошо, он, кажется, движется с разной скоростью для разных углов.
Для 0 degress (прямо вверх) он перемещается на 1, но 45 начинается с того, что он переместил sqrt (1 ^ 2 + 1 ^ 2) = 1,41.
Я думаю, вы хотите посмотреть на Sin and Cos.
X += Speed * Math.Cos(angle);
Y += speed * Math.Sin(angle);
С уважением Герт-Ян
Ответ 2
Проверьте это: http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix.aspx (примеры внизу страницы)