Mostrando entradas con la etiqueta Fractales. Mostrar todas las entradas
Mostrando entradas con la etiqueta Fractales. Mostrar todas las entradas

martes, 21 de julio de 2015

Planeta fractal

(es) Planeta fractal

(eo) Fraktalplanedo

Planeta fractal

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

Descripción artística:

Un mundo fractal.

Motivación:

Una revisión de las diferentes variantes conocidas de fractales de la familia Mándelbrot.

Descripción técnica:

Una vista de alta resolución de un conjunto fractal similar al de Mándelbrot, pero con ecuación recursiva z n+1 = exp ( z n 2 -1,00001 z n c 3 ) .
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.

Archivos

lunes, 20 de julio de 2015

El jardinero de Neruda

(es) El jardinero de Neruda

(eo) La ĝardenisto de NERUDA

El jardinero de Neruda

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

Descripción artística:

Un jardín de plantas fractales rodeando un gran árbol cuadrado que representa una Ceiba.

Motivación:

El recuerdo de un capítulo nunca hecho del libro de Graficación por Computadora del autor... Sería un capítulo sobre fractales biológicos.

Descripción técnica:

Se han utilizado cuatro algoritmos recursivos determinísticos que dibujan “ramas que tienen ramas”. Uno de los algoritmos divide sus ramas en dos ramas, otro divide sus ramas en tres ramas, otro en cuatro y el último en cinco.
Cada árbol depende además de una posición, ángulos de las ramas divididas, tamaño, proporciones entre las ramas y sus ramas hijas, la cantidad de subdivisiones (niveles), posiciones relativas de los brotes de las ramas hijas y el color.

Archivos

domingo, 19 de julio de 2015

Anillo de Fuego

(es) Anillo de fuego

(eo) Fajroringo

Anillo de fuego

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

Descripción artística:

Un anillo de fuego que emana calor.

Motivación:

Una lectura parcial del libro Indra's Pearls (ISBN: 0 521 35253 3), y curiosidad sobre las transformaciones de Möbius.

Descripción técnica:

La imagen es una coloración particular de la traza del grupo θ -Schottky con θ = π 4 enfatizando su conjunto límite en amarillo intenso.
Los cuatro círculos grandes son los círculos generadores (discos de Schottky). Luego se dibujan las imágenes de cada tres de ellos al interior del cuarto (dadas unas transformaciones de Möbius). Este proceso se repite una y otra vez hasta el infinito. Todos estos círculos se conocen como el grupo de Schottky. Al conjunto de puntos resultantes del proceso (una especie de polvo) se le conoce como El Conjunto Límite del grupo. El conjunto límite del grupo dibujado es exactamente una circunferencia.
El intervalo dibujado es [ -1.3,-1.3 ] × [ 1.3,1.3 ] .

Archivos

sábado, 18 de julio de 2015

Las cuatro nobles verdades

(es) Las cuatro nobles verdades

(eo) La kvar noblaj veraĵoj

Las cuatro nobles verdades

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

Descripción artística:

Una vista de Buda sentado en posición de loto.

Motivación:

Un documental sobre las maravillas del mundo budista.
Las cuatro nobles verdades son:
  1. Toda existencia es sufrimiento: Nacer es sufrir, enfermar es sufrir, envejecer es sufrir, morir es sufrir, amar es sufrir, perder al ser amado es sufrir, etc. Todo conlleva sufrimiento, la existencia y sus partes son sufrimiento.
  2. La causa del sufrimiento es el apego, el deseo.
  3. El apego y el deseo pueden suprimirse extinguiendo su causa.
  4. El apego y el deseo pueden extinguirse por medio del noble camino óctuple:
    1. Comprensión correcta
    2. Pensamiento correcto
    3. Palabra correcta
    4. Acción correcta
    5. Ocupación correcta
    6. Esfuerzo correcto
    7. Atención correcta
    8. Concentración correcta

Descripción técnica:

Una vista de alta resolución de un conjunto basado en el de Mándelbrot, conocido como Búdabrot, dibujado con la traza de los puntos de las sucesiones requeridas para determinar la pertenencia de puntos aleatorios c en el conjunto de Mándelbrot. Es decir, se toman puntos complejos c aleatorios. Luego se determina su pertenencia al conjunto de Mándelbrot de la manera estándar:
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.
La imagen está dividida en cuatro partes. Las de los “cuadrantes” I y III fue construida haciendo N=200 iterando 1,54 × 1 0 10 puntos aleatorios c del plano complejo. Las de los “cuadrantes” II y IV fue construida haciendo N=2000 iterando 3,1 × 1 0 9 puntos aleatorios c del plano complejo. En todos los casos c[ -1.5,0.5 ] × [ -1i,1i ] .

Archivos

jueves, 5 de marzo de 2015

Las mariposas de El Mozote

(es) Las mariposas de El Mozote

(eo) Papilioj de El Mozote

Las mariposas de El Mozote

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

Descripción artística:

Las mariposas del perdón revoloteando en el cielo azul con nubes blancas.

Motivación:

Un capítulo de la amarga historia de nuestro querido El Salvador.

Descripción técnica:

Se han dibujado una serie de mariposas –con la ecuación polar m( θ )= e cos θ -2 cos ( 4 θ )+ ( sin θ 12 ) 5 , con 0 θ 10 π – sobre una nube generada por un algoritmo recursivo probabilístico.

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.

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.

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.

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))]
   }
  }
 }
}

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)]
}

lunes, 8 de marzo de 2010

Una Humilde Introduccióna la Graficación por Computadora y Otras Yerbas

ISBN 978-99923-73-36-1

Support independent publishing: Buy this book on Lulu.


Descripción general

Este libro está siendo desarrollado con el propósito de ser libro de texto para diversas materias impartidas y a impartir para la carrera de Licenciatura en Ciencias de la Computación y otras carreras de grado y postgrado en la Universidad Centroamericana “José Simeón Cañas” en El Salvador. Está pensado para estudiantes que ya han aprobado los cursos en los que se estudia cálculo infinitesimal, geometría analítica vectorial, estructura de datos y programación orientada a objetos.

La graficación por computadora es una de las principales áreas de estudio de las ciencias de la computación, con aplicación en todos los ámbitos de la computación; desde la necesidad de representar medianas o grandes cantidades de datos numéricos que serían ilegibles en texto, hasta el desarrollo de sofisticadas aplicaciones científicas de simulación de modelos matemáticos del clima; desde el uso de software de edición de fotografías, hasta el desarrollo de videojuegos. En todos los ámbitos, surge la necesidad de tener conocimientos elementales de graficación por computadora.

El contendio del libro comienza con una breve introducción a SDL (y PyGame) que es la biblioteca gráfica base a ser usada en los primeros capítulos del libro. Se sigue con una introducción teórica a la graficación por computador, en la que se presentan algunos conceptos elementales que son imprescindibles para la programación de aplicaciones gráficas interactivas.

En el capítulo siguiente se aborda ámpliamente el tema de la discretización de líneas rectas y circunferencias de un pixel de grosor. Se aborda también el tema de relleno de circunferencias. Luego se procede a hacer un riguroso análisis vectorial del tema de cambio de coordenadas o cambio de marco de referencia. Allí se incluye una aplicación de ejemplo en la que se pone en práctica la teoría presentada.

Después, se describe la teoría matemática matricial relacionada con las transformaciones geométricas bidimensionales y tridimensionales. Se incluye entonces una aplicación de corte pedagógico que permite practicar transformaciones geométricas tridimensionales y permite ver en tiempo real sus efectos sobre un conjunto de objetos geométricamente sencillos.

El siguiente capítulo, muestra la teoría necesaria para comprender cómo transformar un objeto de tres dimensiones a una imagen bidimensional y cómo implementar tal transformación.

A continuación, se incluye una reflexión sobre el diseño de la interacción entre el humano y las aplicaciones gráficas.

Una vez hecha dicha reflexión, se procede al estudio de la aproximación de curvas arbitrarias por medio de segmentos cúbicos paramétricos. Y luego de la presentación de la teoría matemática implicada, se presentan cinco implementaciones sencillas. Después se hace una breve mención de superficies paramétricas.

Hacia el final del contenido principal del libro, se presenta una descripción de las estructuras de datos utilizables para representar mallas poligonales, que representan la técnica usada para modelar superficies arbitrarias en todo el software de modelación tridimensional.

Finalmente se hace una introducción a la graficación por medio de técnicas fractales que incluye implementación de aplicaciones de dibujo fractal.

Por último, pero no menos importante, se incluyen algunos temas no relacionados directamente con la graficación por computadora, pero sí relevantes para facilitar la lectura y comprensión de algunos temas y códigos fuente incluídos. Entre ellos, instrucciones sencillas y concisas para compilar proyectos en lenguaje C estándar distribuidos en varios archivos fuente; y un brevísimo resumen de notación UML para diagramas de clases y diagramas de objeto.

Lo que queda fuera

Como se dijo antes, la graficación por computadora es una de las grandes áreas de las ciencias de la computación, razón por la cual, cualquier obra que pretenda cubrirla toda, se quedará corta. En el caso de este libro, estos son los temas que no se cubren en la versión actual de la obra:

• Temas avanzados de SDL

• Interfaces gráficas de usuario (GUI)

• Modelado de sólidos

• Renderización de texto

• Operaciones de bajo nivel (en ensamblador, por ejemplo)

• Manipulación de mapas de bits

• Hardware gráfico

• Iluminación, sombreado y texturas

• Detalles de instalación de las herramientas en ambientes Windows

Esto no significa que no sean temas interesantes para un computólogo, o para un científico. Pero esta edición simplemente no los contempla.

Lo que conviene saber

Antes de escrutar este libro, es recomendable tener una base aceptable en los siguientes temas:

• Operaciones básicas con matrices

• Álgebra vectorial y nociones de cálculo vectorial

• Operaciones básicas con números complejos

• Parametrización de curvas

• Sistemas de coordenadas rectangulares, cilíndricas y esféricas

• Estructuras de datos básicas (listas, pilas, colas, árboles, directorios de nodos, grafos, etc.)

• Nociones claras de Programación Estructurada y Programación Orientada a Objetos

• Conocimientos sólidos del lenguaje C estándar en ambiente GNU/Linux

• Conocimientos intermedios en lenguaje Python en ambiente GNU/Linux

• Conocimientos intermedios del lenguaje Java

• Destrezas elementales del uso de sistemas operativos GNU/Linux

Motivación al lector

En general, el autor desea expresar su deseo de seguir mejorando y ampliando, en la medida de lo posible, esta obra para beneficio de la sociedad salvadoreña. Y también desea invitar al apreciable lector a que le saque todo el provecho posible, que aplique sus aportes en todas las áreas posibles de su trayectoria profesional; y también que no lo considere una serie de afirmaciones incuestionables, sino una contribución al desarrollo tecnológico salvadoreño y a la independencia tecnológica de la región centroamericana.

Como toda obra académica de programación, o como la mayoría, los códigos (y programas) incluídos pretenden mantener simplicidad y claridad para no dificultar innecesariamente la comprensión, pero se recomienda hacer el ejercicio de optimizarlos.

Cambios en esta versión

En esta nueva versión (que se corresponde con la segunda edición), se han hecho muchos cambios a lo largo de todo el texto. Se han corregido diversos errores tipográficos en todos los capítulos, se han revisado todos los códigos fuente que ya estaban y las imágenes se han revisado en su resolución y distribución. El tamaño de las páginas también se ha cambiado al tamaño carta, que es el estándar de facto en El Salvador.

Todos los bloques de código fuente se han resaltado para su más cómoda y más fácil lectura.

El capítulo 1 se ha ampliado en el tema de la instalación de SDL. Los ejemplos básicos fueron revisados y reordendados.

El capítulo 2 incluye ahora una sección especial sobre el ciclo de interacción de aplicaciones gráficas interactivas.

El capítulo 9 incluye mucho nuevo material, incluyendo nuevas imágenes, más algoritmos, más profundidad y nuevos programas de ejemplo.

El capítulo 10 también cuenta con nuevas imágenes, hechas con Maxima. El contenido del 12 fue revisado y cuenta con nuevas imágenes.

Y finalmente, se ha integrado la biblioteca pygame para Python en la primera parte del texto, en paralelo con SDL para C.

http://aliamondano-eo.wdfiles.com/local--files/libro-graficos-1-0/graficos-1.0.pdf
http://aliamondano-eo.wdfiles.com/local--files/libro-graficos-1-0/codigo-1.0.tar.gz Support independent publishing: Buy this book on Lulu.