Если у вас есть угол и скорость (скаляр), компоненты в направлениях x и y просты:
vx = (speed)*cos(angle)
vy = (speed)*sin(angle)
Для большинства языков угол должен быть в радианах, а не в градусах.Убедитесь, что вы конвертировали его.
Так что, если у вас есть точка (ux, uy) в момент времени t1, то позиция в момент времени t2 будет такой:на Java:
/**
* Method for updating a position giving speed, angle, and time step
* @param original coordinates in x, y plane
* @param speed magnitude; units have to be consistent with coordinates and time
* @param angle in radians
* @param dtime increment in time
* @return new coordinate in x, y plane
*/
public Point2D.Double updatePosition(Point2D.Double original, double speed, double angle, double dtime) {
Point2D.Double updated = new Point2D.Double();
updated.x = original.x + speed*Math.cos(angle)*dtime;
updated.y = original.y + speed*Math.sin(angle)*dtime;
return updated;
}