перемещение CGPoint на определенное расстояние вдоль определенного курса ... iphone - PullRequest
3 голосов
/ 03 июня 2010

это кажется такой простой проблемой, но я не смог найти ответ (и я плохо разбираюсь в математике). Я пытаюсь переместить UIView на новое расстояние CGPoint X вдоль определенного заголовка. Какая формула для определения новых координат?

(я не хочу, чтобы это было анимировано, просто мгновенный ход)

что-то вроде:

x = 100; (current x value)
y = 150; (current y value)
d = 25; (distance to move the point)
h = 90; (west)

\\\ insert formula to determine new x,y coords

self.car.center =  (CGPointMake ([newX],[newY]);

1 Ответ

6 голосов
/ 04 июня 2010

Если p - ваша точка, D - расстояние, а θ - угол направления относительно оси X,

p new .x = p old .x + D * cos (θ)
p новый .y = p старый .y + D * sin (θ)

Вместо сохранения расстояний и углов, однако, это обычно делается с использованием векторов (что устраняет необходимость в sin / cos)

...