lunes, 3 de octubre de 2011

Fractal

La definición del sistema L
La definición de un sistema L especifica aspectos que tienen que ver con la propia
definición formal del sistema L, reglas de producción, axioma, etc., y su interpretación
geométrica. La definición de un sistema L viene a ser el equivalente al código fuente de
un programa escrito en un lenguaje de programación. En realidad, puede considerarse
como un lenguaje simplificado y especializado en la definición de sistemas L.
Por ejemplo, la siguiente definición corresponde a una de las estructuras arbóreas de
Honda:
SistemaL MonopodicoHondaA;
// estructura monopódica arbórea según Honda
define r1=0.9; // razón de contracción en el tronco
define r2=0.6; // razón de contracción en las ramas
define a0=45; // ángulo de ramificación respecto al tronco
define a2=45; // ángulo de ramificación en las ramas laterales
define wr=1/sqrt(2); // razón de estrechamiento
define d=FibAngle; // ángulo de divergencia
indicecolor = 1;
elementobase = {
forma = cilindro;
nocaras = 8;
};
noterminales = {A,B,C};
axioma = A(50,10);
derivaciones = 10;
producciones = {
p1: A(l,w) : true -> "(w)F(l)[&(a0)B(l*r2,w*wr)]/(d)A(l*r1,w*wr);
p2: B(l,w) : true -> "(w)F(l)[-(a2)$C(l*r2,w*wr)]C(l*r1,w*wr);
p3: C(l,w) : true -> "(w)F(l)[+(a2)$B(l*r2,w*wr)]B(l*r1,w*wr);
};
La definición formal del sistema L es obligatoria pero los aspectos relacionados con
la interpretación geométrica son opcionales. Al omitir alguno de ellos se asume su valor
por defecto.
Cada sentencia o definición de un aspecto del sistema L se termina con un punto y
coma que actúa como separador de sentencia. Los conjuntos se delimitan con llaves.
Aunque no hay límite en la longitud de cada línea de texto, una misma definición puede
ocupar varias líneas, por ejemplo en el caso de reglas de producción con condiciones o
sucesores demasiado grandes, para hacer la definición más legible.
Los identificadores de los parámetros y los símbolos de los módulos son sensibles a
las mayúsculas. No así las palabras reservadas para la definición del sistema L o las
funciones. Pueden contener números pero deben comenzar por una letra.
Para una descripción detallada de la sintaxis de las definiciones de los sistemas L se
puede consultar el anexo que contiene la gramática completa de las definiciones.
Nombre del sistema L
Cada sistema L posee un nombre o identificador a modo de título descriptivo.
Generalmente se coloca al principio de la definición. Por ejemplo
SistemaL PodaBasitona;
El nombre del sistema L no tiene por qué coincidir con el nombre del archivo DSL
en el que se guarda su definición.
Comentarios
Se pueden escribir notas o comentarios en la definición. El analizador sintáctico
ignora todos los caracteres que van después del símbolo // hasta el final de línea. Por
ejemplo:
define w0 = 1/sqrt(2); // grosor inicial del tronco
Definición de parámetros constantes
Cada sistema L puede definir un conjunto de parámetros constantes con un
significado particular. Su cometido es muy similar al de las constantes de los lenguajes
de programación. Facilitan la lectura e interpretación de las expresiones matemáticas y
estructuran la información relevante del sistema L. Su definición se hace con la palabra
reservada define.
La siguiente definición incluye varios parámetros significativos en la construcción
del sistema L:
SistemaL MonopodicoHondaC;
define r1=0.9; // razón de contracción en el tronco
define r2=0.8; // razón de contracción en las ramas
define a0=45; // ángulo de ramificación respecto al tronco
define a2=45; // ángulo de ramificación en las ramas laterales
define wr=1/sqrt(2); // razón de estrechamiento
define d=FibAngle; // ángulo de divergencia
noterminales = {A,B,C};
axioma = A(50,10);
derivaciones = 7;
73
producciones = {
p1: A(l,w) : true -> "(w)F(l)[&(a0)B(l*r2,w*wr)]/(d)A(l*r1,w*wr);
p2: B(l,w) : true -> "(w)F(l)[-(a2)$C(l*r2,w*wr)]C(l*r1,w*wr);
p3: C(l,w) : true -> "(w)F(l)[+(a2)$B(l*r2,w*wr)]B(l*r1,w*wr);
};
La definición de un parámetro constante puede estar en función de otro parámetro
constante siempre y cuando haya sido definido previamente.





Ventanas de visualización
Uno de los objetivos principales de la aplicación es poder visualizar de alguna
manera los objetos generados por los sistemas L. Para ello existe un tipo de ventana
especialmente dedicada a la visualización. Permite ver objetos planos o tridimensionales,
en perspectiva, con distintas opciones de iluminación y render. Además hace posible
observar los objetos visualizados desde distintos puntos de vista y a diferentes niveles de
detalle. Todo ello se logra de una manera muy sencilla, controlada de manera directa
con el ratón o de forma más precisa con el teclado.
Cada vez que sea necesario disponer de una nueva ventana de visualización bastará
con abrir una desde el menú Ventana > Nueva vista. La nueva vista aparecerá
inicialmente vacía. No obstante, hay que tener en cuenta que cada ventana abierta
consume recursos con lo que el rendimiento de las demás ventanas o de la aplicación en
general, puede verse disminuida.
Los resultados de las interpretaciones de cadenas producidas por los sistemas L se
mostrarán en la vista activa, es decir la última ventana de visualización sobre la que se
realizó algún tipo de operación. En caso de que ya existiera alguna escena previa se
eliminará para mostrar la nueva. Si no hay ninguna ventana de visualización disponible
se abrirá una de manera automática.


domingo, 11 de septiembre de 2011

HISTORIA DE LA GRAFICACION


 ENIAC, una de las primeras computadoras, calculaba densidades de neutrón transversales para ver si explotaría la bomba de hidrógeno.

     El siguiente paso en la evolución de las computadoras fue la creación de dispositivos de visualización que permitían al usuario de una computadora observar los resultados del procesamiento en el dispositivo. La primera computadora que utilizó un CRT (Tubo de Rayos Catódicos) como dispositivo de visualización fueWhirlw ind, construida en el MIT (Instituto Tecnológico de Massachussets) en 1950 para simular vuelos de entrenamiento de los escuadrones de bombarderos de la marina de Estados Unidos.


 El sistema para la defensa espacial SAGE, desarrollado para convertir los sonidos de detección de un radar en imágenes, fue el primero en emplear un lápiz óptico para seleccionar símbolos en la pantalla.

     El primer videojuego de la historia fue creado en 1952, con el nombre de OXO. Se elaboro para demostrar la interactividad entre computadoras y seres humanos. El juego era una versión del conocido “tres en raya” y fue escrito para la computadora EDSAC.

     La enorme computadora EDSAC en la que se corría el juego fue la primera computadora electrónica capaz de almacenar programas. El juego aunque tenía un nivel de interacción solo permitía un jugador. En 1961 un estudiante del MIT, Steve Russell creó el primer videojuego interactivo de naves espaciales. Fue en 1963 cuando se creó el primer sistema que permitía la manipulación directa de objetos gráficos y fue el precursor de los sistemas modernos de gráficos por computadora y los programas de diseño asistido por computadora (CAD). El sistema, creado para aplicaciones de diseño e ingeniería fue desarrollado por Ivan Sutherland. El sistema permitía a los usuarios dibujar puntos, segmentos de líneas rectas y arcos circulares directamente sobre la pantalla mediante un lápiz óptico.

     El Sketch pad inventado por Ivan Sutherland fue el primer sistema interactivo de gráficos por computadora utilizado para aplicaciones de diseño e ingeniería.

     En 1966 Sutherland  junto con Bob Sproull fue el primero en implementar un sistema de realidad virtual, a través del cual, con la ayuda de un casco, los usuarios podían ingresar virtualmente en una habitación y mirar en todas direcciones una vez adentro. El primer dispositivo de este tipo fue introducido al mercado por IBM en 1965.

     En 1968 Tektronix introdujo un CRT con tubo de almacenamiento que permitía retener permanentemente un dibujo hasta que el usuario decidiera borrarlo. Sus modelos 601 y 611 fueron los primeros en su línea de productos diseñados especialmente para gráficos por computadora. El primer modelo comercial de Tektronix fue el 4002A con un precio aproximado de 9000 dólares.

     1970 La primera animación por computadora que Catmull vio fue la de si mismo. El creó una animación de su mano abriéndose y cerrándose. Se volvió uno de sus objetivos crear una película entera usando gráficos por computadora.

     A partir de 1970 se comenzaron a introducir los gráficos por computadora en el mundo de la televisión. Computer Image Corporation (CIC) desarrollo sistemas complejos de hardware y software como ANIMAC, SCANIMATE y CAESAR. Todos esos sistemas funcionaban escaneando una imagen existente, para después manipularla, aplastándola, estirándola, girándola y haciéndola volar por la pantalla, etc

     1971, el microprocesador. Usando tecnología de circuitos integrados desarrollada en 1959, la electrónica de un procesador de computadora fue reducida a un único chip, el microprocesador a veces llamado CPU. Primeras microcomputadoras de escritorio diseñada para uso personal fue la Altair 8800 de Micro Instrumentation Telemetry Systems (MITS) se vendia alrededor de los 400 dolares

     En el mismo año Nolan Kay Bushnell  creo elAtari. Después de esto comenzó el desarrollo de un videojuego de arcadia llamado Pong, que se conoció en 1972 y comenzó una industria que continúa siendo hasta hoy una de las que mayor uso hace de los gráficos por computadora.

 Durante la década de los 70’s Don Greenberg creó un laboratorio de gráficos por computadora que produjo nuevos métodos de simulación realista de superficies. El programa es bien conocido por sus trabajos en síntesis de imágenes realistas, incluyendo el método de radiosidad para el cálculo de iluminación directa e indirecta en escenas sintéticas.

     1980 fue mostrada una impactante película titulada “Vol Libre”. Se trataba de un vuelo de alta velocidad a través de montañas fractales generadas por computadora.

     A finales de los 70’s Carpenter había construido modelos en 3D de diseños de aeroplanos.

     En 1986 se formó Pixar cuando la división de gráficos por computadora de Lucasfilm fue adquirida por Steven Jobs. Produjo el famoso software Renderman. Renderman es un API desarrollada por los estudios de animación Pixar para describir escenas tridimensionales y convertirlas en imágenes digitales fotos realistas. Terminator 2 fue estrenada en 1991 e impuso un nuevo estándar para los efectos con imágenes generadas por computadora (CGI).


 El verano de 1994 trajo toda una gama de películas llenas de gráficos por computadora. Algunos efectos sin embargo, eran tan fotorealistas que el uso de la computadora era indetectable.

   En 1995 se presentó la primera película de larga duración con gráficos y animaciones 3D por computadora. La película realizada por Pixar fue llamada Toy  Story.

   1995 Sony lanzó al mercado mundial su consola de juegos Playstation. Hasta entonces las llamadas consolas de videojuegos solamente podían manejar gráficos 2D, pero el Playstation contenía un chip (además del CPU) de 3D acelerado por hardware capaz de dibujar 360,000 polígonos por segundo.
1996 Quake de ID Software. 3D acelerado por hardware se convirtió en la frase de moda y al menos dos fabricantes sacaron al mercado aceleradores gráficos para PC (Diamond Edge de Diamond Multimedia usando el procesador NV1 de nVidia, y Virge de S3).

   En 1997 la industria de los videojuegos experimentó de nuevo una revolución, esta vez fue el acelerador 3DFX Voodoo 3D. Este chip 3D aplastó por completo a la competencia con su increíble y extremadamente práctico desempeño en 3D

   La GeForce (nombre código nv10) fue la primera tarjeta 3D que poseía un motor de hardware llamado Transform & Lighting. Ninguno de los títulos lanzados en 1999 soportaba esta opción con la excepción de Quake III, el cual salió a la venta en diciembre.

     El año 2000 fue realmente “el año de nVidia“. En el 2001 nVidia continuó dominando el mercado con una competencia ocasional por parte de ATI.

  Nintendo lanzó el Gamecube en septiembre de 2001, al igual que el Gameboy Advance. Pero probablemente el gran evento del 2001 fue el lanzamiento de la consola Xbox de Microsoft.

     Empezando los 2000 el mundo de la cinematografia al igual que los videojuegos se vio beneficiada con todos estos avances, al lanzar películas generadas en su mayoría en computadora como lo son:        

    • Jurassic Park
    • A.I.
    • Terminator 2
    • Lord of The Rings
    • X-Men
    • Matrix
     El 2004 fue un buen año para los videojuegos. Algunos de los juegos que aparecieron ese año como FarCry de Ubisoft y Doom 3, primeros juegos en utilizar Direct X 9.0.

     Para la película Spider-Man 3 de 2007 Sony Pictures Imageworks (SPI) usó el software Autodesk Maya para la animación en 3D, el modelado, texturizado y combinación de movimientos de los personajes y efectos visuales aproximadamente en 80% de las tomas realizadas por el estudio. Se usó el sistema de efectos visuales Autodesk Flame para hacer cambios en el rostro de los personajes y para integrar tomas reales de ellos en ambientes generados totalmente por computadora.



GLOSARIO


Renderizar. La renderización es el proceso de generar una imagen (imagen en 3D o una animación en 3D) a partir de un modelo, usando una aplicación de computadora. Se utiliza en la producción de imágenes en 3D para juegos, diseño computacional, efectos especiales del cine y la TV, etc.

Render. Dibujar, crear en forma automática una imagen de acuerdo al modelo tridimensional que existe en el ordenador.

API. interfaz de programación de aplicaciones o API (Application Programming Interface) conjunto de funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Son usadas generalmente en las bibliotecas (también denominadas comúnmente "librerías"). Servicios o funciones que el Sistema Operativo ofrece al programador, como por ejemplo, imprimir un caracter en pantalla, leer el teclado, escribir en un fichero de disco, etc.

DirectX. Colección de API desarrolladas para facilitar las complejas tareas relacionadas con multimedia, especialmente programación de juegos y vídeo, en la plataforma Microsoft Windows

Consta de las siguientes API:
  • Direct3D
  • Direct Graphics
  • DirectInput
  • DirectPlay
  • DirectSound
  • DirectMusic
  • DirectShow
  • DirectSetup
  • DirectCompute

Lens Flare. Pueden ser causa de confusión en usuarios novatos, ya que se presentan como pequeños círculos u óvalos de colores a lo largo de la imagen sin tener una razón aparente para su existencia. Es producido cuando algún rayo de luz de una fuente muy potente llega a la lente y se cuela a través de esta. La fuente usual es el sol, pero también puede ser producido por cualquier fuente artificial como luces, lamparas y flashes. Este rayo de luz “intruso” se refleja y rebota dentro de las imperfecciones de la lente creando dos tipos de manifestaciones: en primer lugar se muestra como una bruma, que lava los colores y reduce la saturación de estos, y en segundo lugar como los pequeños círculos

domingo, 21 de agosto de 2011

Resumen

1950

La primera computadora que utilizó un CRT como dispositivo de visualización fueWhirlw ind, construida en el MIT (Instituto Tecnológico de Massachussets) para simular vuelos de entrenamiento de los escuadrones de bombarderos de la marina de Estados Unidos.

 1952

El primer videojuego de la historia fue creado, con el nombre de OXO. Fue producto de la tesis doctoral de Alexander Sandy Douglas en la Universidad de Cambridge para demostrar la interactividad entre computadoras y seres humanos. El juego era una versión del conocido “tres en raya” y fue escrito para la computadora EDSAC.

1961

Un estudiante del MIT, Steve Russell dirigió un equipo que creó el primer videojuego interactivo de naves espaciales. Le tomó al equipo cerca de 200 horas- hombre escribir la primera versión deSpacewar. El juego se escribió en una PDP- 1 que fue una donación de DEC al MIT esperando que en el MIT se pudiera hacer algo trascendente con su producto.

 1963

Se creo el primer sistema que permitía la manipulación directa de objetos gráficos y fue el precursor de los sistemas modernos de gráficos por computadora y los programas de diseño asistido por computadora (CAD). El sistema, creado para aplicaciones de diseño e ingeniería fue desarrollado porIvan

1965

En el ámbito del hardware, los CRT utilizados hasta entonces podían trazar líneas rectas entre dos puntos en la pantalla, pero ya que las líneas dibujadas se desvanecían en la pantalla, era necesario redibujarlas varias veces por segundo, lo que solo era posible por medio de dispositivos muy costosos de hardware. Estos dispositivos se denominaban pantallas de vector, de trazo o caligráficas.


1966

Sutherland, ejerciendo como profesor en Harvard, junto con Bob Sproull fue el primero en implementar un sistema de realidad virtual, a través del cual, con la ayuda de un casco, los usuarios podían ingresar virtualmente en una habitación y mirar en todas direcciones una vez adentro.


1968

Tektronix introdujo un CRT con tubo de almacenamiento que permitía retener permanentemente un dibujo hasta que el usuario decidiera borrarlo. Este sistema eliminó la necesidad de utilizar costosos sistemas especiales de hardware y memoria para redibujado.


1970

El mayor de los primeros avances en gráficos por computadora tridimensionales fue creado, el algoritmo de superficie oculta. Para dibujar la representación tridimensional de un objeto en la pantalla, la computadora debe determinar cuales superficies están “detrás” del objeto desde la perspectiva del observador, y de ese modo serían “escondidas” cuando la computadora crea (o renderiza) la imagen.

Se comenzaron a introducir los gráficos por computadora en el mundo de la televisión. Computer Image Corporation (CIC) desarrollo sistemas complejos de hardware y software como ANIMAC, SCANIMATE y CAESAR.


1971

Uno de los mas importantes avances para los gráficos por computadora apareció en escena, el microprocesador.

Nolan Kay Bushnell junto con un amigo creo el Atari. Después de esto comenzó el desarrollo de un videojuego de arcadia llamadoPong, que se conoció en 1972 y comenzó una industria que continúa siendo hasta hoy una de las que mayor uso hace de los gráficos por computadora.


1980

En la conferencia SIGGRAPH de 1980 fue mostrada una impactante película titulada “Vol Libre”. Se trataba de un vuelo de alta velocidad a través de montañas fractales generadas por computadora.


1986

Se formó Pixar cuando la división de gráficos por computadora de Lucasfilm fue adquirida por Steven Jobs. El equipo pionero de la compañía formado por John Lasseter, Ed Catmull y Ralph Guggenheim produjo el famoso software Renderman.

1994

El verano de 1994 trajo toda una gama de películas llenas de gráficos por computadora. Algunos efectos sin embargo, eran tan foto realistas que el uso de la computadora era indetectable.


1995

Se presentó la primera película de larga duración con gráficos y animaciones 3D por computadora. La película realizada por Pixar fue llamada Toy Story. La película no presentó mejoras revolucionarias, sin embargo solo por ser una película de larga duración tuvo un gran impacto en la manera en que la gente percibía los gráficos por computadora.

Sony lanzó al mercado mundial su consola de juegos Playstation. Hasta entonces las llamadas consolas de videojuegos solamente podían manejar gráficos 2D, pero el Playstation contenía un chip (además del CPU) de 3D acelerado por hardware capaz de dibujar 360,000 polígonos por segundo.


1996

La industria de los videojuegos experimentó un gran avance en los gráficos 3D con la salida deQuake de ID Software. 3D acelerado por hardware se convirtió en la frase de moda y al menos dos fabricantes sacaron al mercado aceleradores gráficos para PC (Diamond Edge de Diamond Multimedia usando el procesador NV1 de nVidia, y Virge de S3). Sin embargo los aceleradores de esta primera generación fueron prácticamente inútiles.Quake nunca los requirió y aún cuando los usara, los aceleradores ofrecían un pobre desempeño.


1997

La industria de los videojuegos experimentó de nuevo una revolución, esta vez fue el acelerador 3DFX Voodoo 3D. Este chip 3D aplastó por completo a la competencia con su increíble y extremadamente práctico desempeño en 3D.


1999

Fue probablemente el año más excitante para los videojugadores de todo el mundo. nVidia finalmente logró superar el desempeño de 3DFX en la batalla de los chips 3D con su procesador TNT2. Ni siquiera la Voodoo 3 podría igualar al chip TNT2 (y TNT2 Ultra). Pero nVidia no se detuvo ahí. En octubre sacaron a la venta el primer GPU (Unidad Gráfica de Procesamiento) para consumidor del mundo, laGeForce256. La GeForce (nombre código nv10) fue la primera tarjeta 3D que poseía un motor de hardware llamado Transform & Lighting. Ninguno de los títulos lanzados en 1999 soportaba esta opción con la excepción de Quake III, el cual salió a la venta en diciembre. La GeForce 256 podía renderizar triángulos con soporte de T&L en hardware, todo esto capaz de trabajar en conjunto con un rendimiento igual o mayor a 10 millones de polígonos por segundo.

2001

Nintendo lanzó elGamecube en septiembre de 2001, al igual que elGameboy Advance. Pero probablemente el gran evento del 2001 fue el lanzamiento de la consolaXbox deMicrosoft. Con un procesador gráfico desarrollado por nVidia, disco duro, CPU Intel y más, fue diseñada para ganarles a sus principales competidores que serían el Playstation 2 y el Gamecube de Nintendo. El alguna vez tan influyente SEGA había dejado el negocio del hardware y ahora se concentraba en el software.

El mundo de la cinematografía también se vio beneficiado con estos avances y se puede ver en películas como Final Fantasy: The Spirits Within, tal vez el primer intento verdadero por crear humanos realistas en una película completamente generada por computadora.


2003

Aparecieron varias secuelas cinematográficas con grandes efectos especiales. X-Men 2, Matrix 2 y Terminator 3 son solo algunos ejemplos.Matrix Revolutions presentó una gran cantidad de asombrosos efectos especiales.

2007

Para la películaSpider-Man 3 de 2007 Sony Pictures Imageworks (SPI) usó el software Autodesk Maya para la animación en 3D, el modelado, texturizado y combinación de movimientos de los personajes y efectos visuales aproximadamente en 80% de las tomas realizadas por el estudio.

martes, 16 de agosto de 2011

Introduccion a la graficacion por computadora

CONCEPTOS

1.-Aplicaciones por graficos por computadoras.-Es el campo de la informática visual, donde se utilizan computadoras tanto para generar imágenes visuales sintéticamente como integrar o cambiar la información visual y espacial probada del mundo real.

2.-Sistema de graficos.-Es un método actual de diseño, prototipaje y creación de sistemas integrados el cual combina programación gráfica con hardware COTS para simplificar el desarrollo, dando como resultado diseños de gran calidad y la posiblidad de diseños personalizados.

3.-Procesador.-Es un procesador dedicado al procesamiento de gráficos u operaciones de coma flotante, para aligerar la carga de trabajo del procesador central en aplicaciones como los videojuegos y o aplicaciones 3D interactivas.

4.-Memoria.-

5.-Framer buffer.-A una categoría de dispositivos gráficos, que representan cada uno de los píxeles de la pantalla como ubicaciones en la memoria de acceso aleatorio.

6.-Dispositivos de entrada.-Son aquellos que sirven para introducir datos a la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la información en señales eléctricas que se almacenan en la memoria central.

7.-Dispositivos de salida.-Son los que permiten representar los resultados (salida) del proceso de datos. El dispositivo de salida típico es la pantalla o monitor. Otros dispositivos de salida son: impresoras (imprimen resultados en papel), trazadores gráficos (plotters), bocinas, entre otros.

8.-Memoria.- En informática, la memoria se refiere a parte de los componentes que forman parte de una computadora. Son dispositivos que retienen datos informáticos durante algún intervalo de tiempo. Las memorias de computadora proporcionan una de las principales funciones de la computación moderna, la retención o almacenamiento de información

9.-Disparidad Binocular.-
Se conoce como disparidad binocular o retinal a la ligera diferencia entre los dos puntos de vista proporcionados por ambos ojos. La disparidad binocular es la forma de percibir profundidad y relieve más utilizada por el cerebro humano, y es la que permite ser más manipulada, convirtiéndose en la base para la creación de imágenes 3D en superficies llanas. El cerebro coge estos dos puntos de vista distintos y los integra, creando así un objeto en tres dimensiones.

10.-Información Monocular.- Cada vez que se observa una escena o un objeto empleando para ello un solo ojo, se obtiene una imagen plana, bidimensional. En esta imagen, al igual que cuando vemos un cuadro o una fotografía, existen una serie de factores que, de una forma intuitiva, aportan información sobre aspectos tridimensionales como distancia o profundidad.



BIBLIOGRAFIA