sábado, 28 de febrero de 2015

Delirio

(es) Delirio

(eo) Deliro

Delirio

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Una espiral formada por la cinta enrrollada de una Máquina de Turing binaria. En el centro de la imagen está el motor de la máquina.

Motivación:

Los recuerdos del curso de Teoría Matemática de la Computación.

Descripción técnica:

Dos espirales exponenciales entrelazadas con ecuaciones r= ± ( 11 10 ) θ , con 0 θ 20 π . Cada celda contiene un bit y tiene igual probabilidad de ser uno o cero.

Archivos

viernes, 27 de febrero de 2015

La batalla de Esmolensco

(es) La batalla de Esmolensco

(eo) La batalo de Smolensko

(be) Смаленская бітва

La batalla de Esmolensco

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Un baño de sangre sobre el suelo helado de Esmolensko (Смаленск).

Motivación:

Una serie de documentales sobre la Segunda Guerra Mundial, particularmente sobre la Operación Barbarroja y cómo se desarrollaron los hechos del avance alemán en suelo soviético en el período de 1941-1943.

Descripción técnica:

Una vista de un conjunto de Julia con semilla c=0.39-0.252857i en el intervalo de los reales: [-0.21,0.63] y en los imaginarios: [-0.865714,-0.025714].
El conjunto de Julia con semilla c es el conjunto J c de todos los puntos z del plano complejo tal que la sucesión z n+1 = z n 2 +c (con z 0 =z ) diverge (o más pragmáticamente tal que es no acotada).
El criterio usado para determinar si las sucesiones divergen o no, es si z k , con kN , tiene un módulo mayor que 2, es decir | z k |2 (procedimiento estándar para los conjuntos de Julia y de Mándelbrot). Puesto que no puede evaluarse hasta el infinito, se usa una cota: N . Si la sucesión no “diverge” antes de llegar al N -ésimo término de las sucesiones, se considera que no diverge, es decir que es acotada.
La coloración de esta obra son puntos de tono rojo y brillo máximo con saturación más baja para los puntos mientras más rápido se determine que no pertenecen al conjunto, y más alta mientras más se tarde en determinar la no pertenencia. Los puntos que sí pertenecen al conjunto se pintan como rojo intenso.

jueves, 26 de febrero de 2015

Sexo oral

(es) Sexo oral

(eo) Buŝa seksumado

Sexo oral

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Una vista de cunnilingus.

Motivación:

Ver el nombre.

Descripción técnica:

Una serie segmentos de rectas tangentes a la elipse x 2 + y 2 2 =1 que pasan por la circunferencia x 2 + y 2 =49 , más el dibujo de la elipse.

Archivos

miércoles, 25 de febrero de 2015

El baile de los primos

(es) El baile de los primos

(eo) Primobalo

El baile de los primos

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Los números primos danzando junto con los números compuestos al rededor del número uno.

Motivación:

Una lectura sobre la Esprial de Sacks y sus curiosidades.

Descripción técnica:

Es una espiral polar de la forma ( r( ρ ), θ ( ρ ) ) , con θ = ρ , y r= ρ , con 1 ρ 10000 , ρ N y θ medido en revoluciones. Para cada ρ se dibujó un círculo de color negro si es primo y griz si es compuesto.
Esta construcción se conoce como la Espiral de Sacks.

Alineaciones libres de números primos:

  • Semirrecta horizontal derecha: cuadrados perfectos.
  • Línea inmediatamente inferior a la anterior: números de la forma n 2 -1 , divisibles siempre por n+1 y n-1 .
  • Semirrecta horizontal izquierda: números de la forma n 2 +n , divisibles siempre por n y n+1 .

Curvas aparentemente densas en números primos:

  • Una espiral que, en la ilustración, termina cerca de la parte inferior del disco: números de la forma n 2 +n+41 , el polinomio descubierto por Euler.
  • Otra espiral situada varios lugares por encima de la anterior: números de la forma n 2 +n+17 .
  • Línea inmediatamente superior a la semirrecta horizontal izquierda: números de la forma n 2 +n-1 .
Archivos

martes, 24 de febrero de 2015

Proyección ortogonal del cubo RGB

(es) Proyección ortogonal del cubo RGB

(eo) Orta projekcio de la kubo RGB

Proyección ortogonal del cubo RGB

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Un cubo hecho de cubitos de los colores brillantes del arcoiris.

Motivación:

Fue una de las primeras ideas de experimento del autor aprendiendo el lenguaje CFDG aunque su concreción requirió más madurez y más experiencia en el lenguaje.

Descripción técnica:

Es la vista clara del cubo de color RGB, proyectado ortogonalmente.
El modelo de color RGB (Red-Green-Blue) es el modelo de colores aditivos más usado y usado en las pantallas emisoras de luz (monitores de computadora, televisores, teléfonos, etc.).
En este modelo los colores están determinados por su combinación de luz roja, luz verde y luz azul. La combinación máxima de los tres tipos de luz produce el color blanco. La ausencia de los tres tipos de luz produce el color negro.

Archivos

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 rgb.cfdg rgb.png

#Número de hexágonos de radio
RADIO = 64 #16

startshape cubo

PORCENTAJE_ESPACIO = 1.1
const1_r3 = (1/sqrt(3))
MEDIOANCHO = (sqrt(3)/2)*PORCENTAJE_ESPACIO
MEDIOALTO = 0.5*PORCENTAJE_ESPACIO
SATMIN = 0.01

shape prueba{
 hexagono1[]
 hexagono2[]
 hexagono3[]
}

shape cubo {
 loop bloque = 3 [r 120]{
  loop anillo = RADIO []{
   loop i = (anillo+1) []{
    loop j = (anillo+1) []{
     px = (i*MEDIOANCHO-j*MEDIOANCHO)
     py = (MEDIOALTO*(i+j))
     hexagono1[x px y py b 1
     sat ((1-SATMIN)*max(i,j)/(RADIO-1)+SATMIN)
     h (atan2(py,px)-30+bloque*120) ]
    }
   }
  }
 }
}

shape dosTriangulos {
  loop i = 2 [r 60]{
   TRIANGLE[y const1_r3 r 180]
  }
}

shape hexagono1 {
 dosTriangulos[r -30]
}

shape hexagono2 {
 dosTriangulos[r 90]
}

shape hexagono3 {
 dosTriangulos[r 210]
}

lunes, 23 de febrero de 2015

Ragnarök

(sv) Ragnarök

(es) El ocaso de los dioses

(eo) Ekfiniĝo de la dioj

El ocaso de los dioses

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Un escenario áspero, afilado y nórdico que ilustra el cataclismo del Ragnarök, que es el apocalipsis vikingo.

Motivación:

La historia del violento apocalipsis vikingo.

Descripción técnica:

Una vista de un conjunto de Julia con semilla c=-1.4+0.0i en el intervalo de los reales: [-0.6,0.6] y en los imaginarios: [-0.6,0.6].
El conjunto de Julia con semilla c es el conjunto J c de todos los puntos z del plano complejo tal que la sucesión z n+1 = z n 2 +c (con z 0 =z ) diverge (o más pragmáticamente tal que es no acotada).
El criterio usado para determinar si las sucesiones divergen o no, es si z k , con kN , tiene un módulo mayor que 2, es decir | z k |2 (procedimiento estándar para los conjuntos de Julia y de Mándelbrot). Puesto que no puede evaluarse hasta el infinito, se usa una cota: N . Si la sucesión no “diverge” antes de llegar al N -ésimo término de las sucesiones, se considera que no diverge, es decir que es acotada.
La coloración de esta obra tiene un brillo blanco variable más alto mientras más rápido se determina que los puntos no pertenecen al conjunto. Los puntos que sí pertenecen al conjunto son negros.

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 ragnarok.cfdg ragnarok.png

#Posibilidades de ragnarok
#-1.384286,0.004286
#-1.3, 0.00525
#-1.3,0.0
#-1.5, 0.0

startshape rag(-1.4, 0.0)

LIMITE = 1000 #Resolución de la imagen
MAXPASOS = 100

LIMIZQ = -0.6
LIMDER = 0.6
LIMARRIBA = 0.6
LIMABAJO = -0.6

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 rag(c_r,c_i) {
 loop i = LIMITE/2 []  {
  z_i = (LIMARRIBA-LIMABAJO)*i/(LIMITE-1) + LIMABAJO #y
  loop j = LIMITE/2 [] {
   z_r = (LIMDER-LIMIZQ)*j/(LIMITE-1) + LIMIZQ #x
   
   numPasos = pasos(0, z_r, z_i, c_r, c_i)
   brillo = (1+(1-numPasos)/(MAXPASOS-1))
   SQUARE[x z_r    y z_i    size TAMX TAMY b brillo]
   SQUARE[x (-z_r) y z_i    size TAMX TAMY b brillo]
   SQUARE[x z_r    y (-z_i) size TAMX TAMY b brillo]
   SQUARE[x (-z_r) y (-z_i) size TAMX TAMY b brillo]
  }
 }
}

domingo, 22 de febrero de 2015

Psicodelia

(es) Psicodelia

(eo) Psikedelo

Psicodelia

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Un horizonte de colores psicodélicos, con colores predominantemente cálidos en el “cielo” y predominantemente fríos en la “tierra”.

Motivación:

La cultura Hippie de los años 60's que influyó enormemente en el desarrollo de la tecnología de finales del siglo 20.

Descripción técnica:

Una vista girada del conjunto de Mándelbrot en el que los puntos que no pertenecen al conjunto se dibujan como capas de colores variables en función del número máximo de iteraciones para determinar la no pertenencia y el valor del complejo final de la sucesión.
Mientras que para los puntos que sí pertenecen se dejaron los puntos negros.
El conjunto de Mándelbrot es el conjunto M de todos los puntos c del plano complejo tal que la sucesión z n+1 = z n 2 +c (con z 0 =0+0i ) no diverge (es decir, tal que es acotada).
El criterio usado para determinar si las sucesiones divergen o no, es si z k , con kN , tiene un módulo mayor que 2, es decir | z k |2 (procedimiento estándar para los conjuntos de Julia y de Mándelbrot). Puesto que no puede evaluarse hasta el infinito, se usa una cota: N . Si la sucesión no “diverge” antes de llegar al N -ésimo término de las sucesiones, se considera que no diverge, es decir que es acotada.

sábado, 21 de febrero de 2015

El gemido del bosque de Pripiat

(es) El gemido del bosque de Pripiat

(eo) La ĝemo de la arbaro ĉe Pripjat

(uk) Стогін прип'ятського лісу

(Se agradece a Leonid Valeri Fessenko, por la traducción al ucraniano)
El gemido del bosque de Pripiat

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Es un bosque enfermo en los alrededores de la ciudad de Pripiat. Esta ciudad fantasma (abandonada) es conocida porque sufrió los efectos del peor accidente de la historia de la energía nuclear el 26 de abril de 1986, cuando se produjo el sobrecalentamiento y explosión del reactor número 4 de la Central Nuclear de Chernóbil.

Motivación:

Un documental detallado sobre el desastre nuclear de la central de energía nuclear de Chernóbil. Ver enlace: http://youtu.be/kJMPERF41P8.

Descripción técnica:

Una vista de un conjunto de Julia con semilla c=-0.381966+0.618034i en el intervalo de los reales: [-0.052857,0.188571] y en los imaginarios: [-0.105714,0.135714].
El conjunto de Julia con semilla c es el conjunto J c de todos los puntos z del plano complejo tal que la sucesión z n+1 = z n 2 +c (con z 0 =z ) diverge (o más pragmáticamente tal que es no acotada).
El criterio usado para determinar si las sucesiones divergen o no, es si z k , con kN , tiene un módulo mayor que 2, es decir | z k |2 (procedimiento estándar para los conjuntos de Julia y de Mándelbrot). Puesto que no puede evaluarse hasta el infinito, se usa una cota: N . Si la sucesión no “diverge” antes de llegar al N -é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 variable aleatorio entre 60 y 74, una saturación aleatoria variable entre 0.41 y 0.66, y un brillo máximo aleatorio variable entre 0.32 y 0.35 para los puntos que no pertenecen al conjunto.

viernes, 20 de febrero de 2015

La piscina de los topólogos

(es) La piscina de los topólogos

(eo) Naĝejo por topologiistoj

La piscina de los topólogos

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Una curva espiral que tiende a la circunferencia.

Motivación:

Los recuerdos de un curso de topología general.

Descripción técnica:

Es la curva polar definida por r= θ θ +1 , con θ 0 . Nótese que lim θ r=1 , por lo que la curva se acerca infinitesimalmente a la circunferencia unitaria, pero nunca la alcanza.
Formalmente hablando, la piscina del topólogo es el conjunto W=A S 1 , donde A es el conjunto de todos los puntos de la espiral descrita y S 1 es el conjunto de la circunferencia unitaria. Este conjunto es un ejemplo de un espacio topológico que es conexo pero que no es conexo por caminos.

Archivos

jueves, 19 de febrero de 2015

Solamente pi

(es) Solamente pi

(eo) Nur pi

Solamente pi

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Dibujo de muchos decimales de π con una circunferencia, un diámetro y un radián.

Motivación:

La maravilla de π y su omniprescencia en la naturaleza.

Descripción técnica:

En el fondo una circunferencia de longitud L y un diámetro de longitud D que proveen la definición de π = L D .
Luego está sombreado un segmento circular de un radián de amplitud. Un radián es la medida del ángulo central en una circunferencia que abarca un arco cuya longitud es igual a la del radio.
Encima de todo están los primeros decimales de π .

Archivos

miércoles, 18 de febrero de 2015

Latido mestizo

(es) Latido mestizo

(eo) Mestiza korbato

Latido mestizo

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Un corazón humano latiendo al interior de un exterior mestizo.

Motivación:

El autor es mestizo.

Descripción técnica:

Una vista girada del conjunto de Mándelbrot en el que los puntos que no pertenecen al conjunto se dibujan como capas blancas y grices (según si el número de pasos requerido para determinar que no pertenecen es par o impar), mientras que para los puntos c que sí pertenecen se dibujan como puntos rojos con brillo máximo y con saturación igual a la expresión cos (32(( c ) 2 +( c ) 2 ) ) .
El conjunto de Mándelbrot es el conjunto M de todos los puntos c del plano complejo tal que la sucesión z n+1 = z n 2 +c (con z 0 =0+0i ) no diverge (es decir, tal que es acotada).
El criterio usado para determinar si las sucesiones divergen o no, es si z k , con kN , tiene un módulo mayor que 2, es decir | z k |2 (procedimiento estándar para los conjuntos de Julia y de Mándelbrot). Puesto que no puede evaluarse hasta el infinito, se usa una cota: N . Si la sucesión no “diverge” antes de llegar al N -ésimo término de las sucesiones, se considera que no diverge, es decir que es acotada.

martes, 17 de febrero de 2015

Mandelbrotus warholensis

(lat) Mandelbrotus warholensis

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 M de todos los puntos c del plano complejo tal que la sucesión z n+1 = z n 2 +c (con z 0 =0+0i ) no diverge (es decir, tal que es acotada).
El criterio usado para determinar si las sucesiones divergen o no, es si z k , con kN , tiene un módulo mayor que 2, es decir | z k |2 (procedimiento estándar para los conjuntos de Julia y de Mándelbrot). Puesto que no puede evaluarse hasta el infinito, se usa una cota: N . Si la sucesión no “diverge” antes de llegar al N -ésimo término de las sucesiones, se considera que no diverge, es decir que es acotada.

lunes, 16 de febrero de 2015

Las curvas de Melissa

(es) Las curvas de Melissa

(eo) Kurboj de Melissa

Las curvas de Melissa

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Una curva de Lissajous delineando una figura femenina.

Motivación:

Una hermosa muchacha llamada Melissa, con una encantadora sonrisa y precioso cabello negro ondulado.

Descripción técnica:

Una versión alterada de la curva rectangular paramétrica: ( x,y )=( sin ( 21 θ ), sin ( 4 θ ) ) , con 0 θ 2 π . La amplitud de la curva en el eje horizontal se alteró con un Polinomio Interpolante de Lagrange de orden k-1 , que tiene la forma:
L(x)= j=1 k y j j (x)
j (x)= i=1,i = j k ( x- x i ) ( x j - x i )

Archivos

domingo, 15 de febrero de 2015

Claroscuro multicolor

(es) Claroscuro multicolor

(eo) Multkolora helmalhelaĵo

Claroscuro multicolor

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Una serie de cuadrados con cambio de color en el tinte en el eje X, y brillo y saturación en el eje Y.

Motivación:

Fue uno de los primeros experimentos del autor con el lenguaje CFDG.

Descripción técnica:

Cada fila y cada columna de cuadros rota 90 grados de un extremo al otro. Aunque pueda parecer lo contrario, los centros de todos los cuadrados forman una cuadrícula perfecta.
Desde arriba, los cuadros tienen un brillo constante (máximo) pero una saturación incremental. Al llegar al centro hay un cambio y los cuadros tienen una saturación constante (máxima) pero un brillo decreciente.

Archivos

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 hsb.cfdg hsb.png

startshape cuadros

#Va aumentando la saturación con un brillo constante (máximo=1) y luego va disminuyendo el brillo con una saturación constante (máximo=1), de manera consecutiva
shape cuadros{
 numCols = 20 #Número de las filas/columnas
 ang = 90 #Ángulo de giro en cada fila/columna
 minSat = 0.2 #Límite inferior de la saturación [0,1)
 minBrillo = 0.2 #Límite inferior del brillo [0,1)
 d = sqrt(2)
 loop j=(numCols/2) [y (-d)]{
  loop i=(numCols) [x d] {
   SQUARE[b 1
   r (i*ang/(numCols-1)+j*ang/(numCols-1)) 
   h (i*359/numCols) 
   sat (minSat+j*(1-minSat)/(numCols/2-1))]
  }
 }
 loop j=(numCols/2) [y (-d)]{
  loop i=(numCols) [x d] {
   SQUARE[sat 1 
   r (i*ang/(numCols-1)+j*ang/(numCols-1)+45) 
   h (i*359/numCols) 
   b (1+j*(minBrillo-1)/(numCols/2-1)) y -(d*numCols/2)]
  }
 }
}

sábado, 14 de febrero de 2015

Girasol áurea

(es) Girasol áurea

(eo) Ora sunfloro

Girasol áurea

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

El centro de una flor de girasol pero con los colores del arcoiris.

Motivación:

Una flor de girasol.

Descripción técnica:

Es una espiral polar paramétrica de la forma ( r(t), θ (t) ) , con θ = 2 π φ 2 t , y r=2 t , con 1t2000 y t N . Para cada t se dibujó un círculo de un color del arcoiris.
Esta espiral, dependiente tanto de π como de φ (la proporción áurea), permite que los objetos se acumulen más cerca entre sí y con menos desperdicio de espacio.

Archivos

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 -s 8000 girasol.cfdg girasol.png

CF::Size = [s 183 183]

startshape espiral

NUMSEGMENTOS = 2000 #Número de segmentos para formar la curva
TAM = 2
phi = (1+sqrt(5))/2
pi = 3.14159

shape espiral {
 loop i = NUMSEGMENTOS []  {
  ang = 2*pi*(i+1)/(phi*phi) #+1 para evitar el punto rojo del centro
  rad = TAM*sqrt(i+1)
  ang_grad = 180*ang/pi
  xc = rad * cos(ang_grad)
  yc = rad * sin(ang_grad)
  CIRCLE[x xc y yc hue (ang_grad) b 1 sat 1 s 3]
 }
 loop j = (NUMSEGMENTOS*10/9) []{ # Si sólo son NUMSEGMENTOS quedan huecos en las esquinas
  i = j+NUMSEGMENTOS
  ang = 2*pi*(i)/(phi*phi)
  rad = TAM*sqrt(i)
  ang_grad = 180*ang/pi
  xc = rad * cos(ang_grad)
  yc = rad * sin(ang_grad)
  CIRCLE[x xc y yc hue (ang_grad) b 1 sat 0.3 s 3 ]
 }
}

viernes, 13 de febrero de 2015

Las campanas del príncipe

(es) Las campanas del príncipe

(eo) Sonoriloj de la princo

Las campanas del príncipe

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

El resonar de las campanas del Príncipe de las Matemáticas.

Motivación:

La curva normal es fundamental en la naturaleza.

Descripción técnica:

Una gran cantidad de campanas de Gauss (curvas de distribución de probabilidad normal), con diferente amplitud, media, desviación y color. Las curvas más distantes son más oscuras y las más próximas al observador son más brillantes.

Archivo

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 -s 8000 -v FLVQXF gauss.cfdg gauss.png

NUMSEG = 50 #Número de segmentos para formar la curva
LIMITE = 2.5 #Intervalo de dibujo: [-lim,lim]

NUMCURVAS = 750 #Número de campanas a dibujar
LIM_AMPLITUD = 4
LIM_Y = 5
LIM_X = 5
LIM_SUP_DESV = 2
LIM_INF_DESV = 0.5

MAX_BRILLO = 1.0

CF::Size = [s (2*LIM_X) (2*LIM_X) x 0 y -(LIM_Y*0.2)]
startshape principal

path campana(media, desviacion, amplitud) {

 MOVETO(media, amplitud) #mitad derecha
 loop i = NUMSEG []  {
  xc = ((LIMITE*(i+1)/(NUMSEG-1)) +media)
  LINETO(xc, amplitud*exp(-((xc-media)/desviacion)^2))
 }
 STROKE(CF::RoundCap)[]
 
 MOVETO(media, amplitud) #mitad izquierda
 loop i = NUMSEG []  {
  xc = ((-LIMITE*(i+1)/(NUMSEG-1)) +media)
  LINETO(xc, amplitud*exp(-((xc-media)/desviacion)^2))
 }
 STROKE(CF::RoundCap)[]
}

shape principal{
 FILL[]
 loop i = NUMCURVAS []{
  campana(rand(-LIM_X, LIM_X), rand(LIM_INF_DESV,LIM_SUP_DESV), rand(LIM_AMPLITUD*0.1,LIM_AMPLITUD)) [y rand(-LIM_Y,LIM_Y) 
  hue randint(360) 
  b (i*MAX_BRILLO/(NUMCURVAS-1)) 
  sat 1]
 }
 
 campana(0,1,1)[b 1 sat 0 s 2] #curva blanca en el centro
}

jueves, 12 de febrero de 2015

Homenaje al gato sin hogar

(es) Homenaje al gato sin hogar

(eo) Omaĝo al senhejmaj gekatoj

Homenaje al gato sin hogar

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Un gato sentado viendo a lo lejos en dirección del observador.

Motivación:

Hay una gran cantidad de gatos y gatas que son abandonados y/o maltratados por los humanos. En su mayoría porque no tienen los medios económicos para darles el cuido correcto y en otras ocaciones por falta de humanidad.
Si los humanos no desean lidiar con la procreación de sus mascotas, deben esterilizarlos.

Descripción técnica:

Perfil de un gato delineado con curvas cúbicas de Bézier.
Dados cuatro puntos P 0 , P 1 , P 2 , P 3 (que pueden ser unidimensionales, bidimensionales, tridimensionales, etc.), llamados puntos de control, se define la curva de Bézier de la siguiente manera:
B(t)=(1-t ) 3 P 0 +3t(1-t ) 2 P 1 +3 t 2 ( 1-t ) P 2 + t 3 P 3 ,0t1
Las curvas de Bézier son ampliamente usadas para la modelación por computadora por su simplicidad de cálculo frente a cualquier técnica de interpolación polinomial o racional.

Archivos

miércoles, 11 de febrero de 2015

Fiordos helados

(es) Fiordos helados

(eo) Malvarmaj fjordoj

Fiordos helados

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 c=-1.384286+0.004286i en el intervalo de los reales: [0.01,0.09] y en los imaginarios: [0.02,0.10].
El conjunto de Julia con semilla c es el conjunto J c de todos los puntos z del plano complejo tal que la sucesión z n+1 = z n 2 +c (con z 0 =z ) diverge (o más pragmáticamente tal que es no acotada).
El criterio usado para determinar si las sucesiones divergen o no, es si z k , con kN , tiene un módulo mayor que 2, es decir | z k |2 (procedimiento estándar para los conjuntos de Julia y de Mándelbrot). Puesto que no puede evaluarse hasta el infinito, se usa una cota: N . Si la sucesión no “diverge” antes de llegar al N -é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))]
   }
  }
 }
}

martes, 10 de febrero de 2015

Perfección

(es) Perfección

(eo) Senerareco

Perfección

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Una circunferencia perfecta.

Motivación:

Una circunferencia puede considerarse como la figura geométrica más perfecta.

Descripción técnica:

Es una circunferencia dibujada con el algoritmo de línea de Bresenham.
Algoritmo básico para dibujar una circunferencia de un pixel de grueso (en lenguaje C):
// Función auxiliar
void marcarPixelesCicunferencia(int x, int y, int xc, int yc){
    marcarPixel( x+xc, y+yc);
    marcarPixel( x+xc,-y+yc);
    marcarPixel(-x+xc, y+yc);
    marcarPixel(-x+xc,-y+yc);
    marcarPixel( y+xc, x+yc);
    marcarPixel( y+xc,-x+yc);
    marcarPixel(-y+xc, x+yc);
    marcarPixel(-y+xc,-x+yc);
}
void circunferencia_punto_medio(int xc, int yc, int radio){
    int x,y,d;
    x=0;
    y=radio;
    d=1-radio;
    marcarPixelesCicunferencia(x,y, xc,yc);
    while(y>x){
        if(d<0){
            d += x * 2 + 3;
        }else{
            d += (x - y) * 2 + 5;
            y--;
        }
        x++;
        marcarPixelesCicunferencia(x,y, xc,yc);
    }
}
 

lunes, 9 de febrero de 2015

El arco del triunfo de Cantor

(es) El arco del triunfo de Cantor

(eo) Triumfarko de Cantor

El arco del triunfo de Cantor

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Una ilustración del conjunto de Cantor en forma de Arco de Triunfo.

Motivación:

Los grandes logros intelectuales de Georg Cantor.

Descripción técnica:

La forma geométrica de describir el conjunto de Cantor es la siguiente:
  1. Se toma un segmento de longitud 1. Se puede considerar como el intervalo [0,1].
  2. A este segmento se le quita el tercio medio del segmento. Se puede considerar que al intervalo [0,1] se le resta el intervalo abierto ( 1 3 , 2 3 ) , con lo que queda el intervalo [ 0, 1 3 ][ 2 3 ,1 ] .
  3. A cada uno de los dos segmentos disjuntos restantes se les resta el intervalo abierto equivalente a su tercio interior. En este momento quedan cuatro intervalos cerrados disjuntos.
  4. A cada uno de los intervalos se les resta el intervalo abierto equivalente a su tercio interior. Y este paso se repite hasta el infinito.
  5. La unión de todos los segmentos o intervalos cerrados resultante es el conjunto de Cantor.
Además de una curiosidad matemática, contradice una intuición relativa al tamaño de objetos geométricos, ya que es un conjunto de medida nula (es decir que la suma de todos los segmentes resultantes es cero), pero no es vacío ni numerable, es decir, que además es infinito.


Archivos

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 -s 8000 -b 0 -x 5 cantor.cfdg cantor.png

startshape principal

shape principal{
 loop i=4 []{
  SQUARE[s 12 0.9 y (i+1)]
 }
 cantor[]
 CIRCLE[b 1 s 4 z 2 y (-1/2)]
}

shape cantor {
 SQUARE[s 12 0.95]
 cantor[y -1 x (-12/3) s (1/3) (0.9)]
 cantor[y -1 x  (12/3) s (1/3) (0.9)]
}

domingo, 1 de febrero de 2015

El viaje del caballo por mesoamérica

(es) El viaje del caballo por Mesoamérica

(eo) Ĉevalvojaĝo tra Mezameriko

El viaje del caballo por Mesoamérica

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Es un tablero de ajedrez con una ruta del caballo escrita con números mayas.

Motivación:

El recuerdo de un programa desarrollado durante los años de juventud del autor... un programa que utiliza fuerza bruta para encontrar una ruta del caballo.

Descripción técnica:

Es una ruta del caballo escrita con números mayas, comenzando con se (uno) en la esquina inferior izquierda, luego ume (dos) dos casillas a la derecha y una arriba, luego yey (tres) dos casillas a la derecha y una abajo, … y así sucesivamente, hasta llegar a yey pual nawi (64) en la casilla abajo de la esquina superior derecha.

Archivos