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

viernes, 30 de enero de 2015

Actualización de perfil académico

Hace un par de semanas nos pidieron de la comisión de investigación de la facultad que actualizáramos nuestros perfiles académicos... Finalmente pude hacerlo:
http://www.matematica.ues.edu.sv/escuela/?p=173


Me hacían falta las cosas del 2014.

miércoles, 22 de octubre de 2014

Muy ocupado...

Últimamente he estado muy ocupado con muchas cosas... y he dejado mis proyectos personales en pausa... :'(

En las últimas semanas hice una presentación sobre códigos QR y su posible uso académico.

También he estado trabajando en la instalación y configuración de un software de videoconferencias para la Escuela de Matemática.
http://matematica.ues.edu.sv/video/

También he estado trabajando en la nueva materia de Tecnología y Educación para la carrera de Profesorado en Matemática para Tercer Ciclo y Educación Media. Nunca se ha impartido y es bastante práctica. Allí hemos revisado:
  • LibreOffice Writer
  • LibreOffice Math
  • LibreOffice Calc
  • LibreOffice Draw
  • LibreOffice Impress
  • Planner (para diagramas de gantt)
  • LyX
  • Kmplot (para gráficos cartesianos, paramétricos, polares e implícitos)
y falta que veamos:
  • Maxima
  • Geogebra
  • Xournal, y 
  • Moodle

También voy avanzando --lentamente-- con el libro de la materia de Introducción a la Informática, que cubre conceptos básicos de informática, representación de información y programación estructurada con pseudocódigo.

También en mis pocos tiempos de ocio (en mi casa claro) estoy avanzando con una serie de obras de arte digitales que estoy haciendo con el programa contextfree y con mis propios programas escritos en Python. Ya llevo nueve obras bien avanzadas... me hacen falta retoques... :P


Así que he estado bien ocupado últimamente.