Biomorfos - V Función Z^5 + C





50 SCREEN 12: KEY OFF: CLS

60 XI = -1.4: XA = 1.4: YI = -1.4: YA = 1.4: REM Plano Complejo

70 P = .7: Q = .01: REM Constantes de C

80 DX = (XA - XI) / 400: DY = (YA - YI) / 400


100 FOR NX = 1 TO 400

    110 FOR NY = 1 TO 400

        120 X = XI + NX * DX: Y = YI + NY * DY

        130 FOR K = 1 TO 16

            140 XN = X * X * X * X * X + 5 * X * Y * Y * Y * Y - 10 * X * X * X * Y * Y + P

            150 Y = 5 * X * X * X * X * Y - 10 * X * X * Y * Y * Y + Y * Y * Y * Y * Y + Q

            160 X = XN

            170 IF X * X + Y * Y > 100 THEN GOTO 405

            180 IF INSTAT THEN END: REM Detiene la ejecucion pulsando una tecla

        190 NEXT K

    200 NEXT NY

210 NEXT NX: END

405 IF ABS(X) < 50 OR ABS(Y) < 50 THEN PSET (NX, NY), K: K = 16: GOTO 190

410 K = 16: GOTO 190



Biomorfos - IV Funcion Z^4+C





50 SCREEN 12: KEY OFF: CLS

60 XI = -1.4: XA = 1.4: YI = -1.4: YA = 1.4: REM Plano Complejo

70 P = .7: Q = .01: REM Constantes de C

80 DX = (XA - XI) / 400: DY = (YA - YI) / 400


100 FOR NX = 1 TO 400

    110 FOR NY = 1 TO 400

        120 X = XI + NX * DX: Y = YI + NY * DY

        130 FOR K = 1 TO 16

            140 XN = X * X * X * X + Y * Y * Y * Y - 6 * X * X * Y * Y + P

            150 Y = 4 * X * X * X * Y - 4 * X * Y * Y * Y + Q

            160 X = XN

            170 IF X * X + Y * Y > 100 THEN GOTO 405

            180 IF INSTAT THEN END: REM Detiene la ejecucion pulsando una tecla

        190 NEXT K

    200 NEXT NY

210 NEXT NX: END

405 IF ABS(X) < 50 OR ABS(Y) < 50 THEN PSET (NX, NY), K: K = 16: GOTO 190

410 K = 16: GOTO 190


Biomorfos - III Funcion Z^3+C






50 SCREEN 12: KEY OFF: CLS

60 XI = -1.4: XA = 1.4: YI = -1.4: YA = 1.4: REM Plano Complejo

70 P = .7: Q = .01: REM Constantes de C

80 DX = (XA - XI) / 400: DY = (YA - YI) / 400


100 FOR NX = 1 TO 400

    110 FOR NY = 1 TO 400

        120 X = XI + NX * DX: Y = YI + NY * DY

        130 FOR K = 1 TO 16

            140 XN = X * X * X - 3 * X * Y * Y + P

            150 Y = 3 * X * X * Y - Y * Y * Y + Q

            160 X = XN

            170 IF X * X + Y * Y > 100 THEN GOTO 405

            180 IF INSTAT THEN END: REM Detiene la ejecucion pulsando una tecla

        190 NEXT K

    200 NEXT NY

210 NEXT NX: END

405 IF ABS(X) < 50 OR ABS(Y) < 50 THEN PSET (NX, NY), K: K = 16: GOTO 190

410 K = 16: GOTO 190



Biomorfos - II








Con este programa podremos hacer zoom con la tecla de Inicio y las fechas de dirección:

50 SCREEN 9: KEY OFF: CLS

55 DIM B(10000)

60 XI = -1.4: XA = 1.4: YI = -1.4: YA = 1.4

70 P = .7: Q = .01: LX% = 639: LY% = 349

80 DX = (XA - XI) / LX%: DY = (YA - YI) / LY%

90 REM


100 FOR NX = 1 TO LX%

    110 FOR NY = 1 TO LY%

        120 X = XI + NX * DX: Y = YI + NY * DY

        130 FOR K = 1 TO 16

            140 XN = X * X * X * X + Y * Y * Y * Y - 6 * X * X * Y * Y + P

            150 Y = 4 * X * X * X * Y - 4 * X * Y * Y * Y + Q

            160 X = XN

            170 IF X * X + Y * Y > 100 THEN GOTO 240

            180 IF INSTAT THEN END

        190 NEXT K

    200 NEXT NY

210 NEXT NX

220 W$ = INPUT$(1)

230 GOTO 5000

240 IF ABS(X) < 50 OR ABS(Y) < 50 THEN PSET (NX, NY), K: K = 16: GOTO 190

250 K = 16: GOTO 190


Biomorfos-I


de A.K. Dewdney y Dr. Clifford A. Pickover

     ¿Que es un biomorfo ?. El término no es nuevo. El biólogo de la Universidad de Oxford Richard Dawkins creo un programa que describía formas cuasi biológicas, y a partir de una colección de formas dendríticas, un operador humano selecciona una; arrancando de ésta, el programa desarrolla otra colección de figuras semejantes a ella con alguna variante respecto a la seleccionada.

     Aunque el Dr. Pickover desarrolló sus biomorfos de manera independiente y casi simultanea, el método con que se generan y presentan es del todo distinto.

     A diferencia de los biomorfos de Dawkins, los de Pickover tienen aspecto manifiestamente microbiano. Los biomorfos de Pickover habitan en el plano complejo, sede del afamado conjunto de Mandelbrot. Son producidos por una versión abreviada del proceso que traza la delicada geometría fractal de los conjuntos de Julia, parientes cercanos del conjunto de Mandelbrot. Cada biomorfo se genera mediante iteraciones múltiples, repeticiones de una función particular, o sea, de una secuencia de operaciones matemáticas. Cada iteración utiliza la salida de la precedente tanda de operaciones como valor de entrada de la siguiente iteración.

     Por ejemplos la función:  Z(n+1) <-------- Z^3 + C

     Se empieza "sembrando" como valor inicial un número complejo Z(0), que se eleva al cubo y a cuya potencia se le suma un número complejo fijo, C.  Las mismas operaciones aritméticas se efectúan seguidamente sobre la suma resultante, Z(l), lo que produce Z(2), y así sucesivamente.

El algoritmo para la generación de biomorfos es:

C <-------- 0,5 + 0,0 i
     para j <---------- 1 hasta 100
            para k <---------- 1 hasta 100
                  calcular Z(0)
                  Z < ---------------Z(0)
                  para n < -------1 hasta 10
                  Z < -------..Z^3 + C
                  si /real(z)/ o /imag(z)/ o Z > 10
                              entonces salir del bucle
                  si /real(z) o / imag(z) / < 10
                               entonces dibujar (j,k) en negro
                               si no, dibujar (j,k) en blanco.


     La instrucción "computar Z(0)", aunque de sencilla apariencia, no es en realidad tan trivial. Exige la conversión de cada par (j,k) de coordenadas de píxel en un número complejo. Ello se efectúa dividiendo respectivamente la longitud y la anchura de una porción del plano complejo por el número de valores de j y de k. Estos cocientes sirven entonces como incrementos en los cuales son sistemáticamente aumentadas las partes real e imaginaria de Z(0) en cada uno de los ciclos del algoritmo.

     Por ejemplo para empezar; una buena ventana dentro del plano complejo, es la delineada por las siguiente cotas para las partes real e imaginaria de Z(0).

     -1.5 < real(Z0) <1.5

     -1.5 < inag(Z0) <1.5



     Dado que lo mismo j que k recorren los valores enteros de 1 a 100, tanto la parte real como la imaginaria son sistemáticamente incrementadas en pasos de 0.03. Por consiguiente, la versión de algoritmo antes presentado ha de basarse en sentencias del tipo

     real (Z0) <----------  -1.5 + 0.03j

     imag (Z0) <--------- -1.5 + 0.03k

con el fin de computar 10.000 valores de (Z0), cada uno de los cuales se itera y ensaya.

     Dentro del bucle más interno de 10 iteraciones, se supervisa continuamente el "tamaño" de Z (denotado |z|), al que los matemáticos llama "modulo" o "valor absoluto", así como el tamaño de las partes real e imaginaria (|real(z>|  e |imag(z)|).  El tamaño o modulo de un número complejo es sencillamente la raíz cuadrada de la suma de los cuadrados de las partes real e imaginaria del número; el tamaño de sus partes componentes está dado por sus respectivos valores absolutos. (El valor absoluto de un número es el valor numérico positivo resultante de despreciar el signo).


Conjunto de Mandelbrot - III



 -2.5
 1.49
 -1.5
  1.5



-2.0441784784197810
-0.6517373919487000
-0.5372491925954819
 0.5372493267059326




-0.4456810876727104
 0.1475113034248352
 0.7607450187206268
 1.2163323909044270



Conjunto de Mandelbrot - II


Transcribo el articulo de A.K. Devdney, en el que se desarrolla el Conjunto de Mandelbrot, publicado en la revista de Investigación y Ciencia de Enero 1988,

Articulo original en PDF:

https://www.scientificamerican.com/media/inline/blog/File/Dewdney_Mandelbrot.pdf

EL OBJETO MAS COMPLEJO DE LA MATEMÁTICA

"El conjunto de Mandelbrot cavila en silente complejidad, en el centro de una vasta lámina bidimensional de números, llamada plano complejo. Cuando a estos números se les aplica reiteradamente una cierta operación, los situados en el exterior del conjunto huyen, despavoridos, hacia el infinito. Los números del interior permanecen en él, donde danzan y vagabundean de un lado a otro. En la proximidad de la frontera, erráticos vaivenes de minuciosa coreografía, señalan el comienzo de la inestabilidad. Acontece aquí una infinita regresión de minucioso detalle, que nos deja estupefactos por su variedad, su complejidad y su insólita belleza.

El conjunto recibe su nombre en honor de Benoit Mandelbrot, investigador numerario del Centro de Investigaciones Thomas J. Watson de la IBM en Yorktown Heights, Nueva York. A partir de sus trabajos con forma geométricas, Mandelbrot ha desarrollado un campo llamado geometría fractal, estudio matemático de formas que tienen dimensión fraccionaria. En particular, la frontera del conjunto de Mandelbrot es una fractal, aunque también es mucho mas.

Benoit Mandelbrot se concibe mejor como refugiado. Nació en Varsovia en 1924 en el seno de una familia judía lituana; su padre era vendedor ai por mayor de trajes, y su madre, dentista. Los Mandelbrot, atentos a la situación geopolítica, se trasladaron a París en 1936, atraídos parcialmente por la presencia en aquella ciudad del tío de Benoit, el matemático Szolen Mandelbrojt. Declarada la guerra, la familia se anticipó una vez más a los nazis. Abandonó sus bienes, salvo unas cuantas maletas, y se incorporó a la riada de fugitivos que atascó las carreteras del sur de París. Llegó, al fin a la ciudad de Tulle. Durante cierto tiempo, Benoit vivió como aprendiz de fabricante de herramientas, peligrosamente visible a causa de su estatura y su educación. Fue época de visiones y miedos inolvidables; pero, mas tarde, recordó escasas penalidades personales, y rememoró en cambio, su amistad en Tulle y otros lugares con profesores, algunos de ellos eruditos distinguidos, también desplazados por la contienda. En conjunto, su formación fue irregular y entrecortada. Afirmó después que jamas había aprendido el alfabeto, ni, lo que resultaba más singular, la tabla de multiplicar más allá del cinco.

Merced a un programa relativamente sencillo, un ordenador puede convertirse en una especie de microscopio con el que observar la frontera del conjunto de Mandelbrot. En teoría, se puede escudriñar cualquier porción del conjunto, y hacerlo con tanta aproximación como se quiera. Desde la lejanía, el conjunto recuerda un odio gordezuelo, yacente sobre un costado y cubierto de verrugas. En el interior de la figura es de negrura siniestra; la envuelve un halo blanco azulado, como de arco eléctrico, que va dando paso a azules más profundos y a bandas negras, conforme nos adentramos en los dominios más exteriores del plano.

Al acercarnos al conjunto de Mandelbrot, descubrimos que cada verruga es una diminuta figura de forma muy similar a la del conjunto paterno. Sin embargo, al hacer Zoom con nuestro microscopio, para observar con más detalle estas diminutas figurillas, se abre ante nosotros un motivo de muy diferente diseño: una lujuriante orgía de zarcillos y voluta de aspecto orgánico, que se abren es espiras y verticilos y en hileras. Al amplificar un voluta se nos revela todavía una nueva escena: la voluta está formada por pares de verticilos entrelazados por puentes de filigrana. La ampliación del puente muestra otras dos espiras que brotan de su centro. En el centro de este centro, por así decirlo, se encuentra un puente cuádruple con cuatro volutas más, y en el centro de éstas, otra versión del conjunto de Mandelbrot.

Mas la versión amplificada no es del todo igual al conjunto de Mandelbrot. Al seguir amplificando parecen ir reapareciendo objetos similares, en los que una inspección minuciosa revela siempre nuevas diferencias. La situación prosigue indefinidamente, siempre igual, siempre infinitamente diferente y sobrecogedoramente encantadora.

Mandelbrot descubrió que, al paso de la escala de medición se hace más pequeña, la longitud medida de un litoral aumenta sin límite: Las bahías y penínsulas revelan subbahías y subpeninsulas más minúsculas, al menos hasta la escala atómica, en la que el proceso se acaba por fin. Quizá.

La dimensión fractal representa el medio de ponderar cualidades que, de otra suerte, carecerían de definición clara, como el grado de escabrosidad, discontinuidad o irregularidad de un objeto. Una costa serpenteante, por ejemplo, pese a su en cuanto a la longitud, posee cierto grado escabrosidad. Mandelbrot especificó modos de calcular la dimensión fraccional de los objetos reales, dada una técnica para construir una figura o dados algunos datos, y permitió que su geometría reclamase ciertos presupuestos sobre las pautas irregulares que había estudiado en la naturaleza. Un presupuesto era que el grado de irregularidad permanece constante a diferentes escalas. Esta pretensión acostumbra ser sorprendentemente afinada. Una y mil veces, el mundo exhibe irregularidad regular.

Mandelbrot dio con el adjetivo Fractus, derivado del verbo Frangere, -romper-. La resonancia de los principales vocablos ingleses afines -Fracture, -fractura-, y fraction, -fracción- se le antojó idónea. Y creó la palabra Fractal (sustantivo y adjetivo).

"Un fractal es una manera de ver lo infinito con el ojo de la mente".


La mente no puede visualizar la interminable auto inclusión de la complejidad. Sin embargo, para quien dispone de la capacidad de pensar sobre la forma como un geómetra, este género de repetición de la estructura, a escala de tenuidad creciente, abre un mundo entero. Mandelbrot caracterizó la dimensión fraccional con ayuda de técnicas de matemáticos del principio de este siglo, que habían sido olvidadas. Y la imaginación era lo único que avanzaba en la contemplación de un universo de detalles progresivamente más sutiles.

Fractal significa, sobre todo Autosemejante. La autosemejanza quiere decir simetría dentro de una escala. Implica recurrencia, pauta en el interior de pauta.

El vocablo fractal denota un procedimiento de descripción, cálculo y pensamiento sobre las figuras irregulares y fragmentadas, dentadas y descoyuntadas, figuras que van desde las lineas cristalinas de los copos de nieve al polvo discontinuo de las galaxias. Una curva fractal implica una estructura organizadora oculta en la detestable complicación de esas formas.

Cabe ahora describir el proceso iterativo que engendra al conjunto de Mandelbrot. Se parte de la expresión Z^2+C, donde Z es número complejo que puede tomar distintos valores (una variable), y C es un cierto número complejo fijo. Hagamos, inicialmente, que Z sea igual al número complejo 0. El cuadrado de Z es entonces 0, y el resultado de sumarle C a Z^2 es, sencillamente, C. Ahora sustituyamos por el valor así obtenido la Z de la expresión Z^2+C.

La nueva suma es C^ 2+ C. Volvamos a sustituir la Z por este valor. La suma siguiente es (C^2+C)^2+C. Prosigamos con este proceso, tomando siempre el resultado del último cálculo como valor inicial para el nuevo.

Cuando el proceso de iteración prosigue, en este caso concreto, indefinidamente, los números complejos resultantes van, haciéndose progresivamente mayores.

Dado que los números complejos se corresponden con puntos del plano complejo, podemos aplicar aquí la noción de distancia. El tamaño de un número complejo, o como se le llama en matemáticas, su módulo, es sencillamente su distancia al número complejo 0. Tal distancia es la longitud de la hipotenusa de un triángulo rectángulo, cuyos catetos son las partes real e imaginaria del número complejo. Así pues, para hallar el tamaño, o módulo, del número, se elevan al cuadrado sus partes real e imaginaria, se suman estos cuadrados y se extrae la raíz cuadrada de esta suma.

Cuando los números complejos, merced al proceso iterativo que acabo de describir, alcanzan un cierto tamaño, crecen después muy rápidamente; tanto así, que tras unas cuantas iteraciones más, rebasan la capacidad de cualquier ordenador. Entonces podemos despreciar todos los números que tienden al infinito. El conjunto de Mandelbrot es el conjunto de todos los números complejos C para los cuales el tamaño de Z^2+C permanece acotado, esto es, sus infinitas iteraciones pueden quedar todas encerradas en un circulo.

Un posible desarrollo del programa: