Aprender a generar el conjunto de Mandelbrot En este artículo, me encontré con la definición de la "condición de escape", que es la que decide el color que se aplica a cada punto del plano donde se calcula el conjunto de Mandelbrot.
Intenté utilizar ese concepto de "condición de escape" en una prueba relativa a la parte fraccionaria de $\sqrt{n}$ , $f(n)=\sqrt{n}-\lfloor \sqrt{n} \rfloor$ truncado a 7 decimales. El algoritmo encuentra $\forall f(n)$ la primera aparición de un valor específico $k \in \{0,1,2,3,4,5,6,7,8,9\}$ en los decimales de $f(n)$ . Por ejemplo $0.0123456$ tiene su primer valor decimal $k=0$ en posición $1$ por otro lado $0.1230320$ tiene su primer valor decimal $k=0$ en posición $4$ . Si no se encuentra, el valor de escape será el máximo posible, $8$ . Como en el conjunto de Mandelbrot, dependiendo del valor de escape, se utilizará un color diferente.
A) Primero he organizado $n \in \Bbb N$ en las posiciones $a_{xy}$ de un plano de la siguiente manera:
(1) $a_{n0}=n^2$
(2) $a_{n1}=(n^2)+1$
(3) $a_{n2}=(n^2)+2$
...
(i) $a_{ni}=(n^2)+i$
(Esto se hace mientras $i\lt n$ )
Así es como se ve, en el primer archivo hay casillas, en el segundo casillas + 1, en el tercero casillas +2, etc. mientras que los valores son menores que la siguiente casilla:
$0,1,4,9,16,25,36...$
$0,2,5,10,17,26,37...$
$0,3,6,11,18,27,38...$
$0,0,7,12,19,28,39...$
$0,0,8,13,20,29,40...$
$0,0,0,14,21,30,41...$
etc.
B) Entonces cada elemento $a_{ni}$ se sustituye por $f(a_{ni})=\sqrt{a_{ni}}-\lfloor \sqrt{a_{ni}} \rfloor$ truncando hasta 7 decimales.
C) Finalmente, $\forall f(a_{ni})$ ahora es posible encontrar la primera ocurrencia de, por ejemplo $k=0$ en $f(a_{ni})$ . Se encuentra a partir del valor decimal superior. La posición donde se encuentra es la "posición de escape", y cada posición tendrá su propio color.
Este es el trazado de colores de cada posición de escape para el algoritmo cuando se buscan las primeras ocurrencias de $k=0$ en $f(a_{ni})$ :
El mismo ejercicio para las primeras apariciones de $k=1$ :
Son muy similares, pero no son lo mismo. Parece que hay patrones estelares que actúan como "atractores" locales (disculpen si abuso de la terminología).
Esta es una imagen animada con el mismo gráfico cuando se busca el primer $k=0$ entonces $k=1$ ... hasta la primera $k=9$ . El mismo color en la animación significa que la primera aparición de $k$ está en una misma posición específica. Se reduce para ajustarse a la pantalla, al hacer clic en la imagen se puede ver correctamente:
Al observar la animación, parece que las primeras apariciones de cada tipo de $k$ están "girando" alrededor de los "atractores locales". Por ejemplo, en la columna $n=500$ es fácil observar la rotación.
Parece que hay una simetría en el fondo entre el lado superior y el lado inferior de la bisección del triángulo que tiene (0,0) como vértice de bisección. La dirección de la "rotación" explicada anteriormente se invierte entre ambos lados de la bisección (la parte superior "gira" hacia la derecha, y la parte inferior hacia la izquierda), pero el mapeo de colores en ambos lados parece ser inicialmente el mismo.
He trazado las imágenes con un gradiente de escala de grises, por lo que ahora es posible ver más detalles de la imagen giratoria anterior:
La siguiente animación es la búsqueda de la posición del primer valor decimal $k=0$ en los dígitos fraccionarios obtenidos aplicando las funciones $f(n)=n^{t}-\lfloor n^{t} \rfloor$ donde $t \in [0.49995..0.50006]$ cada fotograma se incrementa en $0.00001$ . El patrón se "dobla" en $XY$ y los patrones estelares de fondo se reubican en función de los ligeros cambios de $t$ .
Por último, como $+XY$ es simétrico en $-XY$ así es como se ve el cuadro completo, sin la restricción de que los valores sean menores que el siguiente cuadro, por lo que se llena el $XY$ avión por completo:
Me gustaría preguntar lo siguiente:
¿Tiene sentido un patrón como este con respecto a la primera ocurrencia de cada $k \in \{0,1,2,3,4,5,6,7,8,9\}$ para cada $f(a_{ni})=\sqrt{a_{ni}}-\lfloor \sqrt{a_{ni}} \rfloor$ ?
¿Es el patrón un resultado de la forma de representar los valores en el plano, por ejemplo un patrón de Moiré como en los casos de aritmética modular ?
Gracias.
** ACTUALIZACIÓN 2015/08/25 **
He podido aislar el mismo patrón estelar en coordenadas polares $(r,\theta)$ utilizando el mismo algoritmo para una función diferente. En este caso:
$r=\lfloor \frac{n}{2\pi} \rfloor$ , $n \in \Bbb N$
El valor del ángulo en porcentaje será la parte fraccionaria:
$\theta_\%(n) = \frac{n}{2\pi}-\lfloor \frac{n}{2\pi} \rfloor$
así:
$\theta= \theta_\%(n) \cdot 2\pi = (\frac{n}{2\pi}-\lfloor \frac{n}{2\pi} \rfloor) \cdot 2\pi = n - (\lfloor \frac{n}{2\pi} \rfloor \cdot 2\pi)$
Cada cuadro de la animación cíclica representa $\forall n \in [0,10^7]$ la búsqueda de $k=0$ , $k=1$ ,..., $k=9$ en $\theta_\%(n)$ (el valor de los dígitos fraccionarios del ángulo truncado hasta $7$ decimales):
** ACTUALIZACIÓN 2015/08/26 **
Según lo solicitado, códigos de color y explicación sobre el trazado (gráficos iniciales multicolor arriba):
- Código de colores:
Asociados a puestos de $k \in \{0,1,2,3,4,5,6,7,8,9\}$ cuando se encuentra en la posición decimal $p$ (a partir del punto decimal).
$p=0=$ "verde (marco grande)", $p=1=$ "verde" (marcos pequeños), $p=2=$ "cian", $p=3=$ "azul", $p=4=$ "magenta", $p=5=$ "rojo", $p=6=$ "amarillo", $p=7=$ "blanco".
por ejemplo, 0,354697812
$k=1$ está en la posición $p=7$ , blanco
$k=3$ está en la posición $p=0$ , verde (marco grande)
$k=4$ está en la posición $p=2$ , cian
$k=5$ está en la posición $p=1$ , verde (marcos pequeños)
$k=6$ está en la posición $p=3$ , azul
$k=7$ está en la posición $p=5$ , rojo
$k=8$ está en la posición $p=6$ , amarillo
$k=9$ está en la posición $p=4$ , magenta
si $k$ no se encuentra en las siete primeras posiciones, la posición asociada es la más profunda, $p=7$ .
$k=2$ está en la posición $p=8$ , $8 \gt 7$ , por lo que también es blanco.
- Trazado de los ejemplos iniciales anteriores (gráficos multicolores)
Los tickers (unidades) del $x$ eje son $n^2, n \in \Bbb N$ Así que $x=0$ representa $0^2$ , $x=1$ representa $1^2$ , $x=2$ representa $2^2$ ... $x=i$ representa $i^2$ .
Los teletipos de la $y$ eje son $m \in \Bbb N$ : 0,1,2,3...
Así que cada punto trazado $(x,y)$ representa el código de color del par $(n^2,m)$ convertido en $\sqrt{(n^2+m)}-\lfloor \sqrt{(n^2+m)} \rfloor$ es decir, la parte fraccionaria de $\sqrt{(n^2+m)}$ truncado a 7 dígitos.
Resumiendo: cada gráfico es el trazado de la búsqueda de un único $k$ en todos los pares $(x,y)=(n^2,m)$ del plano XY (los gráficos iniciales anteriores estaban restringidos a $n^2+m \lt (n+1)^2$ por eso son gráficos triangulares y no llenan todo el $XY$ plano). Por ejemplo, el primer gráfico añadido en la pregunta es la búsqueda $\forall (x,y)=(n^2,m)$ de la primera aparición del dígito $k=0$ en los 7 primeros dígitos truncados de la parte fraccionaria de $\sqrt{(n^2+m)}$ .