Mover CGPoint una cierta distancia a lo largo de cierto encabezado ... iPhone
-
24-10-2019 - |
Pregunta
Esto parece un problema tan simple, pero no he podido encontrar una respuesta (y no soy bueno en matemáticas). Estoy tratando de mover una vista UIView a una nueva distancia CGPoint X de distancia a lo largo de cierto encabezado. ¿Cuál es la fórmula para determinar las nuevas coordenadas?
(No quiero que esto sea animado, solo un movimiento instantáneo)
algo como:
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]);
Solución
Si pags es tu punto, d es la distancia, y θ es el ángulo de encabezado del eje x,
pagsnuevo.x = pagsantiguo.x + d * cos (θ)
pagsnuevo.y = pagsantiguo.y + d * sin (θ)
Sin embargo, en lugar de almacenar distancias y ángulos, esto generalmente se hace usando vectores (que elimina la necesidad del pecado/cos)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow