(es) Fiordos helados
(eo) Malvarmaj fjordoj
http://dx.doi.org/10.13140/RG.2.2.34092.90243
Descripción artística:
Una vista aérea de unos fiordos nevados, sus delgadas costas de arena oscura y el mar profundamente azul.
Motivación:
Los fiordos tienen una forma fractal natural.
Descripción técnica:
Una vista de un conjunto de Julia con semilla en el intervalo de los reales: [0.01,0.09] y en los imaginarios: [0.02,0.10].
El conjunto de Julia con semilla es el conjunto de todos los puntos del plano complejo tal que la sucesión (con ) diverge (o más pragmáticamente tal que es no 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.
La coloración de esta obra tiene un tinte constante al igual que la saturación, pero el brillo es variable en función del número de pasos en donde se determina que el punto pertenece o no pertenece al conjunto.
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 1000 fiordos.cfdg fiordos.png startshape fiordos(-1.384286,0.004286) LIMITE = 1000 #Resolución de la imagen MAXPASOS = 300 LIMIZQ = 0.01 LIMDER = 0.09 LIMARRIBA = 0.10 LIMABAJO = 0.02 TAMX = (LIMDER-LIMIZQ)/(LIMITE-1) TAMY = (LIMARRIBA-LIMABAJO)/(LIMITE-1) 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 fiordos(c_r,c_i) { #Océano: FILL[h 214 sat 0.89 b 0.95] loop i = (LIMITE) [] { z_i = (LIMARRIBA-LIMABAJO)*i/(LIMITE-1) + LIMABAJO #y loop j = LIMITE [] { z_r = (LIMDER-LIMIZQ)*j/(LIMITE-1) + LIMIZQ #x numPasos = pasos(0, z_r, z_i, c_r, c_i) if(numPasos<MAXPASOS){ SQUARE[x z_r y z_i size TAMX TAMY h 30 sat 0 b (1+(1-numPasos)/(MAXPASOS-1))] } } } }
No hay comentarios:
Publicar un comentario