domingo, 2 de octubre de 2011

Fractal Fdesign


FDESIGN
Este software fue desarrollado por D. Nelson. Es un programa orientado a la creación de fractales IFS. El método de creación de este tipo de fractales sin un programa como éste es poco menos que un infierno, al estar compuestos por una matriz ininteligible de números. Los requerimientos del programa son prácticamente los mismos que los de Fractint, y además es 100% compatible con este último, al poder exportar e importar archivos de parámetros.
Generan los algoritmos base y las gráficas con las que son trazados los dibujos de fractales naturales, los cuales son utilizados para las composiciones artísticas realizadas por Sebastián Salado tomando como base las diferentes imágenes producidas por estos y otros programas gráficos. Es un buen programa para DOS visualmente la construcción de fractales IFS arrastrando los triángulos con el ratón.
Fdesing es un programa de dominio público que es compatible con Fractint. Está escrito en TurboC++ por Doug Nelson.
Suponemos que lo has bajado y desempaquetado en el directorio donde tienes Fractint. Ejecuta bajo DOS en este directorio el programa Fdesign. Aparecerá una pantalla con el primer IFS de abajo. Presionando una tecla del ratón accederás a las opciones. El primer IFS corresponde a la opción Normal Plot equivalente al color 1 en Fractint para IFS. Y la segunda versión es el resultado de escoger Alternate Display, que es equivalente a color 0 en Fractint.

  
Selecciona Load from disk. Comprobarás que existe un buen repertorio de IFS que se visualizan rápidamente. Selecciona en concreto TELEPHONE.TRN apretando el botón derecho del ratón. Obtendrás la siguiente pantalla de trabajo: 


Fdesign nos muestra las transformaciones afines visualmente. El triángulo inicial o de referencia se dibuja en rojo y con líneas gruesas. TELEPHONE.TRN se genera mediante dos transformaciones contractivas. Cada triángulo en líneas continuas es el resultado de aplicar cada una de estas dos transformaciones respectivamente sobre el triángulo de referencia. El triángulo amarillo corresponde a una reducción y giro horario del triángulo de referencia. El triángulo morado corresponde a una reducción más acusada y un volteado del triángulo de referencia más una translación considerable. En todo momento puedes observar cuáles son los parámetros del IFS en la forma matricial, que ya vimos en Fractint.
  
Fdesign nos permitirá editar transformaciones manipulando triángulos semejantes a los anteriores. Hagamos variaciones sobre los triángulos. Para ello selecciona Adjust triangle. Escojamos el triángulo pequeño morado pulsando el botón izquierdo sobre él. Ahora haz clic cerca de un vértice y varía el tamaño del triángulo. El efecto sobre el IFS se mostrará a tiempo real. Aquí tienes un ejemplo:


domingo, 4 de septiembre de 2011

Tarea 4 Vector,punto y escalar

Vector
Es una herramienta geométrica utilizada para representar una magnitud física del cual depende únicamente un módulo (o longitud) y una dirección (u orientación) para quedar definido.

Graficos vectoriales
Una imagen vectorial es una imagen digital formada por objetos geométricos independientes (segmentos, polígonos, arcos, etc.), cada uno de ellos definido por distintos atributos matemáticos de forma, de posición, de color, etc. Por ejemplo un círculo de color rojo quedaría definido por la posición de su centro, su radio, el grosor de línea y su color.

Este formato de imagen es completamente distinto al formato de los gráficos rasterizados, también llamados imágenes matriciales, que están formados por píxeles. El interés principal de los gráficos vectoriales es poder ampliar el tamaño de una imagen a voluntad sin sufrir el efecto de escalado que sufren los gráficos rasterizados. Asimismo, permiten mover, estirar y retorcer imágenes de manera relativamente sencilla. Su uso también está muy extendido en la generación de imágenes en tres dimensiones tanto dinámicas como estáticas.

Ventajas
  • Dependiendo de cada caso particular, las imágenes vectoriales pueden requerir menor espacio en disco que un mapa de bits. Las imágenes formadas por colores planos o degradados sencillos son más factibles de ser vectorizadas. A menor información para crear la imagen, menor será el tamaño del archivo. Dos imágenes con dimensiones de presentación distintas pero con la misma información vectorial, ocuparán el mismo espacio en disco.
  • No pierden calidad al ser escaladas. En principio, se puede escalar una imagen vectorial de forma ilimitada. En el caso de las imágenes rasterizadas, se alcanza un punto en el que es evidente que la imagen está compuesta por píxeles.
  • Los objetos definidos por vectores pueden ser guardados y modificados en el futuro.
  • Algunos formatos permiten animación. Esta se realiza de forma sencilla mediante operaciones básicas como traslación o rotación y no requiere un gran acopio de datos, ya que lo que se hace es reubicar las coordenadas de los vectores en nuevos puntos dentro de los ejes x, y, y z en el caso de las imágenes 3D.
Desventajas
  • Los gráficos vectoriales en general no son aptos para codificar fotografías o vídeos tomados en el "mundo real" (fotografías de la Naturaleza, por ejemplo), aunque algunos formatos admiten una composición mixta (vector + imagen bitmap). Prácticamente todas las cámaras digitales almacenan las imágenes en formato rasterizado.
  • Los datos que describen el gráfico vectorial deben ser procesados, es decir, el computador debe ser suficientemente potente para realizar los cálculos necesarios para formar la imagen final. Si el volumen de datos es elevado se puede volver lenta la representación de la imagen en pantalla, incluso trabajando con imágenes pequeñas.
  • Por más que se construya una imagen con gráficos vectoriales su visualización tanto en pantalla, como en la mayoría de sistemas de impresión, en última instancia tiene que ser traducida a píxeles.
Puntos
Es una variación del diagrama lineal simple el cual esta formado por líneas rectas o curvas, que resultan de la representación, en un eje de coordenadas, de distribuciones de frecuencias, este construye colocando en el eje x los valores correspondientes a la variable y en el eje de las ordenadas el valor correspondiente a la frecuencia para este valor. Proporciona principalmente información con respecto a las frecuencias.

Escalar
Se puede representarse con un único número (única coordenada) invariable en cualquier sistema de referencia. Así la masa de un cuerpo es un escalar, pues basta un número para representarla (por ejemplo: 75 kg). Por el contrario una magnitud es vectorial o más generalmente tensorial, cuando se necesita algo más que un número para representarla completamente. Por ejemplo, la velocidad del viento es una magnitud vectorial, ya que además de su módulo (que se mide como una magnitud escalar), debe indicarse también su dirección (norte, este, etc.), que se define por un vector unitario. En cambio, la distribución de tensiones internas de un cuerpo requiere especificar en cada punto una matriz llamada tensor tensión y por tanto el estado de tensión de un cuerpo viene representado por una "magnitud tensorial.


Funciones del Opengl


glutInit(): Es la función que inicializa la librería GLUT y negocia con el sistema de ventanas la apertura de una nueva ventana. Sus parámetros deben ser los mismos que los de la función main() sin modificar.

glutInitDisplayMode(): Define el modo en el que se debe dibujar la ventana. Sus parámetros, como en muchas de las funciones OpenGL, se definen con flags o máscaras de bits. En este caso, GLUT_RGB indica el tipo de modelo de color con el que se dibujará (Red-Green-Blue), GLUT_DEPTH indica que se debe incluir un buffer de profundidad y GLUT_DOUBLE que se debe utilizar un doble buffer.

glutInitWindowSize(): Se define el tamaño de la ventana en píxeles (anchura y altura).

glutInitWindowPosition(): La distancia horizontal y vertical con respecto de la esquina superior izquierda del monitor donde la ventana deberá aparecer.

glutCreateWindow(): Se crea propiamente la ventana, y el string que se pasa como argumento, es utilizado como nombre de la nueva ventana.

glutDisplayFunc(): Esta función es la más importante de las funciones callback. Gracias a la definición de las funciones callback, GLUT hace posible una dinámica de programación de aplicaciones OpenGL.

glutDisplayFunc(display): Define que la función display que es pasada como argumento sea ejecutada cada vez que GLUT determine que la ventana debe ser dibujada (la primera vez que se
muestra la ventana) o redibujada (cuando se maximiza, cuando se superponen varias ventanas, etc).

display(): Definida como función callback para dibujar o redubujar la ventana cada vez que sea necesario.

glClearColor(): Establece el color de fono de la ventana, que es con
el que se “borra” la ventana.

glClear(): Esta función se encarga de borrar el fondo de la ventana. Acepta como argumento el buffer específico que se desea borrar, en este caso el GL_COLOR_BUFFER_BIT y el GL_DEPTH_BUFFER_BIT.

glColor3f(): Establece el color actual con el que se va a dibujar una figura.

glMatrixMode(): Especifica la matriz de transformación sobre la que se van a realizar las operaciones siguientes (de nuevo, recordar que OpenGL es una maquina de estados).

glMatrixMode(GL_PROJECTION) : Afecta la perspectiva de la proyección.

glLoadIdentity(): Carga como matriz de proyección la matriz identidad. Esto es como inicializar a uno los valores de dicha matriz.

jueves, 1 de septiembre de 2011

Tarea 3

Proporción Dorada

Se trata de un número algebraico irracional (decimal infinito no periódico) que posee muchas propiedades interesantes y que fue descubierto en la antigüedad, no como “unidad” sino como relación o proporción entre segmentos de rectas. Esta proporción se encuentra tanto en algunas figuras geométricas como en la naturaleza. Puede hallarse en elementos arquitectónicos, en las nervaduras de las hojas de algunos árboles, en el grosor de las ramas, en el caparazón de un caracol, en los flósculos de los girasoles, etc.

El número áureo o de oro (también llamado número dorado, sección áurea, razón áurea, razón dorada, media áurea, proporción áurea y divina proporción) representado por la letra griega φ (fi) (en honor al escultor griego Fidias), es el número irracional:

((1+ raíz cuad de 5)/2)= 1,618033988.......

Es la división armónica de una recta en media y extrema razón. Es decir que el segmento menor, es al segmento mayor, como éste es a la totalidad de la recta.

Asimismo, se atribuye un carácter estético especial a los objetos que siguen la razón áurea, así como una importancia mística. A lo largo de la historia, se le ha atribuido importancia en diversas obras de arquitectura y otras artes, aunque algunos de estos casos han sido objetables para las matemáticas y la arqueología.

lunes, 29 de agosto de 2011

Glosario de terminos

Raytracing: El raytracing o trazado de rayos es un algoritmo para síntesis de imágenes tridimensionales.
Clipping: Es el proceso de cortar los triángulos de manera que ocupen el área visible.
Transformación: Hace referencia a la acción o procedimiento mediante el cual algo se modifica, altera o cambia de forma manteniendo su identidad.
Raster: Es una estructura de datos que representa una red general rectangular de pixeles, o puntos de color, visible a través de un monitor, papel u otro medio de visualización.
Pipeline: Se refiere al estado actual del método de arte de la rasterización de datos, representación de los productos básicos como el apoyo de hardware de graficos.
Render: Es un término usado en jerga informática para referirse al proceso de generar una imagen desde un modelo. Este término técnico es utilizado por los animadores o productores audiovisuales y en programas de diseño en 3D.

CTR: El tubo de rayos catódicos (CRT del inglés Cathode Ray Tube) es un dispositivo de visualización que se emplea principalmente en monitores, televisores y osciloscopios, aunque en la actualidad se están sustituyendo paulatinamente por tecnologías como plasma, LCD, LED o DLP.

LCD: Una pantalla de cristal líquido o LCD (sigla del inglés liquid crystal display) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora.

VGA: Video Graphics Adapter (VGA) se utiliza tanto para denominar al sistema gráfico de pantallas para PC (conector VGA de 15 clavijas D subminiatura que se comercializó por primera vez en 1988 por IBM); como a la resolución 640 × 480.
DVD: El DVD es un disco óptico de almacenamiento de datos cuyo estándar surgió en 1995.
VRAM: Memoria gráfica de acceso aleatorio (Video Random Access Memory) es un tipo de memoria RAM que utiliza el controlador gráfico para poder manejar toda la información visual que le manda la CPU del sistema. La principal característica de esta clase de memoria es que es accesible de forma simultánea por dos dispositivos.
OCR: El Reconocimiento Óptico de Caracteres (OCR), así como el reconocimiento de texto, en general son aplicaciones dirigidas a la digitalización de textos. Identifican automáticamente símbolos o caracteres que pertenecen a un determinado alfabeto, a partir de una imagen para almacenarla en forma de datos con los que podremos interactuar mediante un programa de edición de texto o similar.

GIF: Graphics Interchange Format (GIF) es un formato sin pérdida de calidad para imágenes con hasta 256 colores, limitados por una paleta restringida a este número de colores.

BMP: Es un tipo de organización de la memoria o formato de imagen de archivo usado para almacenar imágenes digitales. El mapa de bits proviene de la terminología de programación de computadoras, es decir, solo un mapa de bits, un amplio espacio mapeado de bits.

Algoritmo: Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.

LCD: Técnica de compresión sin pérdidas admitida por los formatos de archivo TIFF, PDF, GIF y de lenguaje PostScript. Principalmente útil si necesita comprimir imágenes que contienen áreas grandes de un solo color.

JPEG: Es un método común de comprensión con perdida para la fotografía digital (imagen). El grado de comprensión puede ser ajustada, lo que permite una solución de compromiso puede seleccionar entre el tamaño de almacenamiento y calidad de imagen.

PNG: PNG (sigla en inglés de portable network graphics): Es un formato gráfico basado en un algoritmo de compresión sin pérdida para bitmaps no sujeto a patentes. Este formato fue desarrollado en buena parte para solventar las deficiencias del formato GIF y permite almacenar imágenes con una mayor profundidad de contraste y otros importantes datos.

SVG: Los Gráficos Vectoriales Escalables (del inglés Scalable Vector Graphics) o SVG es una especificación para describir gráficos vectoriales bidimensionales, tanto estáticos como animados (estos últimos con ayuda de SMIL), en formato XML.

RAW: El formato de imágenes RAW ("crudo" en inglés; en el caso de las imágenes, entiéndase como "Formato de Imagen sin modificaciones") es un formato de archivo digital de imágenes que contiene la totalidad de los datos de la imagen tal y como ha sido captada por el sensor digital de la cámara fotográfica.

MPEG-1: Es el nombre de un grupo de estándares de codificación de audio y vídeo normalizados por el grupo MPEG (Moving Pictures Experts Group). MPEG-1 vídeo se utiliza en el formato Video CD.

WAV: WAV (en ingles Waveform Audio Format): Es un formato de audio digital normalmente sin compresión de datos desarrollado y propiedad de Microsoft y de IBM que se utiliza para almacenar sonidos en el PC, admite archivos mono y estéreo a diversas resoluciones y velocidades de muestreo, su extensión es .wav.

OpenGL: OpenGL (Open Graphics Library) es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D.

DirectX : Es una 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.

API : Es un conjunto de funciones residentes en bibliotecas (generalmente dinámicas, también llamadas DLL por sus siglas en inglés, término usado para referirse a éstas en Windows) que permiten que una aplicación corra bajo un determinado sistema operativo.

Renderizar: Es la accion de asignar y calcular todas las propiedades de un objeto antes de mostrarlo en pantalla.

Lens Flare (destello de lente): Es la luz difusa en sistemas de lentes a través de los mecanismos de formación general de imagen no deseadas, tales como la reflexión interna y la dispersión de materiales no homogéneos en la serie.

































sábado, 20 de agosto de 2011

Tarea 2

Resumen de la historia de graficacion
En sus inicios las computadoras se utilizaban principalmente en aplicaciones científicas. La ENIAC, una de las primeras computadoras, calculaba densidades de neutrón transversales para ver si explotaría la bomba de hidrógeno. La primera computadora que utilizó un CRT (Tubo de Rayos Catódicos) como dispositivo de visualización fue Whirlw 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 primer videojuego de la historia fue creado en 1952, con el nombre de OXO. El juego era una versión del conocido “tres en raya” y fue escrito para la computadora EDSAC.
En 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 de Spacewar.
Fue en 1963 cuando 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).
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. El primer dispositivo de este tipo fue introducido al mercado por IBM en 1965.
En 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.
En 1968 Tektronix introdujo un CRT con tubo de almacenamiento que permitía retener permanentemente un dibujo hasta que el usuario decidiera borrarlo.
En 1970 un estudiante de nombre Edwin Catmull iniciaba sus estudios en la Universidad de Utah, inscribiéndose a la clase de gráficos por computadora de Sutherland.
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.
Uno de los mas importantes avances para los gráficos por computadora apareció en escena en 1971, el microprocesador.
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 de la Universidad de Cornell creó un laboratorio de gráficos por computadora que produjo nuevos métodos de simulación realista de superficies.
A finales de los 70’s Carpenter había construido modelos en 3D de diseños de aeroplanos y quería algunos escenarios para usarlos. En esa época se había estrenado Star Wars y siendo gran fan de la imaginación Carpenter soñó con crear algún tipo de paisaje extraterrestre. Esto lo condujo a hacerlo realmente; para 1979 tenía una idea de cómo crear un terreno fractal en animación. 
Durante un viaje de negocios al estado de Ohio en 1979, Carpenter encontró a una persona que conocía bastante gente en el campo de los gráficos por computadora, gente como Ed Catmull.

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.
Carpenter continuó trabajando, quería demostrar no solo que esas imágenes fractales lucían bien, sino que además podían animarse bien. Lo logró después de resolver varias dificultades técnicas y su película estuvo lista para presentarse en SIGGRAPH 1980.
Mas tarde, en 1981 Carpenter escribió su primer programa de rendering para Lucasfilm, llamado REYES (Renders Everything You Ever Saw). REYES eventualmente formaría parte del motor de Renderizado Renderman y actualmente, Carpenter aún está con Pixar.

En 1986 se formó Pixar cuando la división de gráficos por computadora de Lucasfilm fue adquirida por Steven Jobs.
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. Para 1995 las audiencias de todo el mundo estaban acostumbradas a ver asombrosos gráficos en películas, pero hubo otra revolución de gráficos, que comenzó ese año.
1996 podrá no ser el año más excitante en el uso de CGI en películas, pero la industria de los videojuegos experimentó un gran avance en los gráficos 3D con la salida de Quake de ID Software.
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.

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.

El año 2000 fue realmente “el año de nVidia“. En diciembre, nVidia adquirió los activos intelectuales de su alguna vez competidor 3DFX. Este es un buen recordatorio de que tan rápido cambian las cosas en la industria. 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. Jurassic Park triunfó de nuevo, por supuesto, con dinosaurios tan reales que incluso un artista gráfico podría sentarse a disfrutar la película sin pensar acerca de los efectos especiales.
Durante 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.
El 2004 fue un buen año para los videojuegos. Algunos de los juegos que aparecieron ese año comoFarCry de Ubisoft fueron de los primeros juegos en utilizar los últimos avances en los gráficos por computadora como los shaders de 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.