Перемещение CGPoint на определенное расстояние вдоль определенного курса...iphone
Это кажется такой простой проблемой, но я не смог найти ответ (и я не очень хорош в математике). Я пытаюсь переместить 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 ответ
Решение
Если p - это ваша точка, D - это расстояние, а θ - угол направления от оси X,
pновый.x = pстарый.x + D * cos (θ)
pновый.y = pстарый.y + D * sin(θ)
Однако вместо сохранения расстояний и углов это обычно делается с использованием векторов (что устраняет необходимость в sin/cos)