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]);
¿Fue útil?

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
scroll top