24 votos

En una cuadrícula bidimensional, ¿hay alguna fórmula que pueda usar para las coordenadas en espiral en un patrón externo?

No sé exactamente cómo describirlo, pero de una manera programática quiero girar en espiral hacia afuera desde las coordenadas 0,0 hasta el infinito (para fines prácticos, aunque en realidad solo necesito ir a aproximadamente +/-100,000: +/-100,000)

Así que si esta es mi cuadrícula:

Quiero girar en espiral en un orden algo así como:

¿Existe una fórmula o método para hacer esto?

20voto

lhf Puntos 83572

Aquí hay un código que encuentra el punto $n$-ésimo en la espiral. Desafortunadamente, gira en espiral hacia el otro lado, pero tal vez ayude de todos modos.

Véase http://upload.wikimedia.org/wikipedia/commons/1/1d/Ulam_spiral_howto_all_numbers.svg.

0voto

TheoretiCAL Puntos 145

Implementación en Python de un generador de coordenadas en espiral basado en la respuesta de lhf:

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X