Esto es imposible de responder sin comprender cómo se proporcionan los datos del mapa. Dijiste “a tener un gráfico”. ¿Cuál es tu gráfica? ¿Es una serie de números que dan los números de carreteras en cada intersección en las direcciones cardinales? Es un conjunto de puntos x, y para los caminos, ya que en el camino a comienza en x0, y0 va a x1, y1, luego a x2, y2 y termina en x3, y3. Sin esa definición, cualquier respuesta aquí es solo especulación.
Aquí está mi especulación, la definición de izquierda. Dibuja una línea desde el punto de tu nariz justo entre tus ojos, extendido en una dirección perversa. Esta línea se extiende hasta la cabeza y sobresale por la espalda. Ahora, todo en el lado de su cuerpo donde está su mano izquierda, se llama “izquierda” siempre que nunca cruce la línea. Si un objeto está del lado de su cuerpo con su mano izquierda, se considera izquierdo. Si hace llegar a una intersección, todos los giros posibles son a la izquierda o giran dependiendo de qué lado de la línea se origine. Si comienza a girar a la izquierda y llega a cualquier intersección que no estaba en el lado izquierdo de esta línea cuando comenzó a girar, ahora gira a la derecha, a pesar de que giró “izquierda” (en el sentido de las agujas del reloj).
- ¿Qué tipo de algoritmos han escrito los ingenieros de Facebook para que funcione la búsqueda de gráficos de Facebook?
- Soy bueno en algoritmos y estructuras de datos, ¿cuál debería ser mi estrategia para comenzar una carrera independiente en este dominio?
- ¿Cuál es una explicación simple del algoritmo del modelo oculto de Markov?
- Visión por computadora: las aplicaciones de Richard Szeliski ofrecen una buena (amorosa) montaña rusa a través de la historia de los algoritmos. ¿Cómo puedo usarlo mejor?
- ¿Cuál es la diferencia entre los siguientes dos fragmentos de código?
Así que aquí hay una representación del automóvil, una caja amarilla con una flecha amarilla que indica la parte delantera del automóvil. Izquierda y derecha se define por la línea roja. Cualquier punto en el círculo entre las líneas es “izquierda” o “derecha”, independientemente de la rotación del automóvil.
Ahora tenemos que elegir una dirección de referencia, que me gusta ya que la parte superior es de 0 grados, por lo que en la imagen de arriba el automóvil está orientado a 0 grados (el norte está arriba en la mayoría de los mapas). Entonces, aquí hay una intersección con el automóvil hacia 0 en la aproximación a la intersección:
Obviamente, la izquierda es fácil de ver a 270, pero en realidad lo dejó de 180.1 a 359.9 grados. Si nos acercamos a la intersección desde una dirección diferente, digamos desde el este (90 grados) obtenemos esto:
Aquí a la izquierda es de 90.1 a 269.9 grados, así que ahora es matemática simple. Se deja la rotación del automóvil en grados menos 180. Hacer cálculos matemáticos en ángulos es más fácil en radianes, pero si los datos del mapa están en grados, esto funcionará bien.
Aquí hay una intersección en la Ciudad de México:
Usando esta regla, todavía es fácil descubrir qué queda y qué no si tiene los ángulos de las calles entrando en la intersección en referencia desde el punto de referencia.
Ahora, si tiene datos x, y, entonces necesitará hacer dos cosas: usar radianes para representar la rotación, y usar trigonometría (porque le da la x, sin la y) y la rotación para hacer el trabajo por usted.