(lat) Mandelbrotus warholensis
http://dx.doi.org/10.13140/RG.2.2.34092.90243
Descripción artística:
Una cuadrícula de cuatro conjuntos de Mándelbrot de relativamente baja resolución con colores pop-art de la escuela de Andy Warhol.
Motivación:
El arte pop del estilo de Andy Warhol.
Descripción técnica:
Una vista de baja resolución del conjunto de Mándelbrot formada por triángulos, rombos y círculos.
El conjunto de Mándelbrot es el conjunto de todos los puntos del plano complejo tal que la sucesión (con ) no diverge (es decir, tal que es acotada).
El criterio usado para determinar si las sucesiones divergen o no, es si , con , tiene un módulo mayor que 2, es decir (procedimiento estándar para los conjuntos de Julia y de Mándelbrot). Puesto que no puede evaluarse hasta el infinito, se usa una cota: . Si la sucesión no “diverge” antes de llegar al -ésimo término de las sucesiones, se considera que no diverge, es decir que es acotada.
Código (CFDG):
# Copyright 2015 Eduardo Adam Navas López
# Este archivo es Software Libre liberado bajo la licencia GNU GPLv3 o su versión más reciente:
# http://www.gnu.org/licenses/gpl.html
#Para generar la imagen:
#$ cfdg -b 0 -s 8000 mandelbrotus.cfdg mandelbrotus.png
startshape mandelbrotus
LIMITE = 250
MAXPASOS = 100
LIMIZQ = -1.5
LIMDER = 0.5
LIMARRIBA = 1.0
LIMABAJO = -1.0
TAMX = (LIMDER-LIMIZQ)/(LIMITE-1)
TAMY = (LIMARRIBA-LIMABAJO)/(LIMITE-1)
shape mandelbrotus {
SQUARE[s (LIMDER-LIMIZQ) (LIMARRIBA-LIMABAJO) x (-LIMDER) h 76 sat 0.97 b 0.72]
mandelbrot(0)[h 278 sat 0.55 b 0.6]
SQUARE[s (LIMDER-LIMIZQ) (LIMARRIBA-LIMABAJO) x (-LIMIZQ) h 242 sat 0.72 b 0.48]
mandelbrot(1)[h 354 sat 0.97 b 0.91 x 2]
SQUARE[s (LIMDER-LIMIZQ) (LIMARRIBA-LIMABAJO) x (-LIMDER) h 204 sat 1 b 1.0 y (2*LIMARRIBA)]
mandelbrot(2)[h 329 sat 0.97 b 0.9 y 2]
SQUARE[s (LIMDER-LIMIZQ) (LIMARRIBA-LIMABAJO) x (-LIMIZQ) h 59 sat 0.97 b 1.0 y (2*LIMARRIBA)]
mandelbrot(3)[h 246 sat 0.77 b 0.49 x 2 y 2]
}
pasos(numPasos,z_r,z_i,c_r,c_i) =
if((numPasos < MAXPASOS) && (z_r*z_r+z_i*z_i<4),
pasos(numPasos+1, z_r*z_r - z_i*z_i + c_r, 2*z_r*z_i + c_i, c_r, c_i),
numPasos)
shape mandelbrot1 {
loop i = LIMITE [] {
c_i = (LIMARRIBA-LIMABAJO)*i/(LIMITE-1) + LIMABAJO #y
loop j = LIMITE [] {
c_r = (LIMDER-LIMIZQ)*j/(LIMITE-1) + LIMIZQ #x
if (pasos(0, 0.0, 0.0, c_r, c_i)==MAXPASOS)
CIRCLE[x c_r y c_i b 0 size TAMX TAMY]
}
}
}
raizde2 = 1.0/sqrt(2)
shape mandelbrot(figura) {
loop i = LIMITE [] {
c_i = (LIMARRIBA-LIMABAJO)*i/(LIMITE-1) + LIMABAJO #y
loop j = LIMITE [] {
c_r = (LIMDER-LIMIZQ)*j/(LIMITE-1) + LIMIZQ #x
if (pasos(0, 0.0, 0.0, c_r, c_i)==MAXPASOS){
switch(figura){
case 0:
CIRCLE[x c_r y c_i b 0 size TAMX TAMY]
case 1:
TRIANGLE[x c_r y c_i b 0 size TAMX TAMY]
case 2:
TRIANGLE[x c_r y c_i b 0 size TAMX TAMY r 180]
case 3:
SQUARE[x c_r y c_i b 0 size (TAMX*raizde2) (TAMY*raizde2) r 45]
}
}
}
}
}
No hay comentarios:
Publicar un comentario