jueves, 1 de diciembre de 2011

PROYECTO FINAL: Blender

Consiste en una pelota que rebota y gira sobre su propio eje. Basados en los tutoriales de Blender mencionados posteriormente. Se usaron las prooiedades de Traslacion, Rotacion y Escalacion cambio de color de multiples texturas.

Aqui una muestra de la animacion:
REFERENCIAS:
http://cgcookie.com/blender/2010/08/31/blender-intro-to-animation/
http://cgcookie.com/blender/2010/08/31/blender-intro-to-materials/
http://jackepc.powweb.com/documentacion/tutorial-blender-parte4.pdf

miércoles, 30 de noviembre de 2011

UNIDAD IV. Actividad 1

Capítulo III. Procesamiento de imágenes
En el procesamiento digital de imágenes se distinguen dos niveles principales de manera general:

·         Procesamiento de imágenes a bajo nivel
Muy poco uso de conocimiento respecto al contenido de las imágenes.
Comúnmente se reconoce una secuencia de cuatro para el procesamiento a bajo nivel: adquisición de la imagen, pre-procesamiento, segmentación de la imagen, descripción y clasificación de objetos.
·         Entendimiento de imágenes a alto nivel
Existe la capacidad de realizar toma de decisiones respecto al contenido de las imágenes.

El el procesamiento de imágenes está dado por  un conjunto de operaciones llevadas a cabo sobre las imágenes a fin de realizar mediciones cuantitativas para poder describirlas; es decir, extraer ciertas características que permitan mejorar, perfeccionar o detallar la imagen.

Las herramientas para la adquisición de imágenes transforman la imagen visual de un objeto físico y sus características intrínsecas en un conjunto de datos digitalizados, usados para procesarla.

En el procesamiento digital de imágenes, existen diversas aplicaciones y problemas:
- Representación
- Transformación
- Modelado
- Restauración
- Reconstrucción
- Análisis
- Compresión de datos

3.2  Filtros para la eliminación de ruido en las imágenes
Se define como ruido cualquier entidad en las imágenes, datos o resultados intermedios que no son interesantes para la computación que se pretende llevar a cabo.


Capítulo III. Animación por Computadora
La animación es la simulación de un movimiento, creada por la muestra de una serie de imágenes o cuadros. Un ejemplo sencillo de esto son las caricaturas, que pertenecen a la animación tradicional. Con el paso de los años, la animación de imágenes he evolucionado de forma considerable. Hace algunos años se debía dibujar cada cuadro y se unían para formar una imagen animada. Ahora, el uso de la computadora permite crear escenas mucho más reales.

3.1 Características de la Animación 3D
Una característica importante de la animación por computadora es que nos permite crear escenas “realmente” tridimensionales. Esto quiere decir que, a diferencia de la animación dibujada a mano, en una escena animada por computadora es posible cambiar el ángulo de la cámara y con esto, ver otra parte de la escena. John Lasseter de Pixar fue una de las primeras personas en crear animación por computadora y el tiene un trabajo muy reconocido presentado en SIGGRAPH 84 llamado “Las Aventuras de Andre y Wally B”.

Otra ventaja de la animación por computadora es que se pueden reutilizar partes de la animación por separado. Incluso, una animación puede verse muy diferente simplemente cambiando el ángulo de la cámara o cambiando el tiempo del movimiento o de partes de la animación. Por ejemplo, si tenemos un conjunto de elementos iguales que se mueven en forma similar (como en el caso de esta tesis un grupo de animales), podemos hacer que cada uno de ellos tenga ligeros movimientos independientes además del movimiento que hace el grupo. De esta manera la animación se verá mucho más dinámica.


3.2 Animación en el Cine
Sin duda la industria del cine es una de las que más estudios sobre animación por computadora ha hecho, tanto en efectos visuales como en películas totalmente animadas por computadora.

Los estudios de Animación Pixar crearon en conjunto con los estudios Disney la primera película animada completamente por computadora: Toy Story. Esta además ganó el premio de la Academia en 1995. Otras películas producidas por pixar son Bichos (“A Bugs Life”, 1998), Toy Story 2 (1999) y Monsters Inc. (2001).
Monsters Inc. [12] Copyright © Pixar Animation Studios Otros estudios famosos que también producen películas con animación por computadora son Dream Works SKG. Estos estudios fueron creados en 1994 por Steven Spielberg, Jeffrey Katzenberg y David Geffen. Algunas películas conocidas de estos estudios son: Pollitos en Fuga (Chicken Run), Pequeños Soldados (Small Soldiers), Hormiguitaz (Antz) y Shrek ganadora del premio de la Academia en el año 2001 por mejor película animada y ganándole a la producción de Pixar, Monsters Inc.  

3.3 Técnicas de animación
Algunas técnicas que se utilizan en la animación tradicional son la animación en acetatos (cel animation), la animación basada en cuadros (flipbook animation) y la animación en sprite.
3.3.1 Animación Basada en Cuadros
La animación basada en cuadros es una de las más utilizadas. Una película contiene 24 cuadros por segundo generalmente, las caricaturas tienen solamente 12. Para hacer una secuencia, se van filmando las imágenes cuadro por cuadro y luego estos se unen para formar la animación. Es posible formar bibliotecas de movimientos de cada parte del cuerpo de la animación para de esta forma combinarlas y hacer animaciones diferentes.
3.3.2 Animación Basada en Sprites
Sobre la animación en Sprites, esta se refiere a animaciones de objetos sobre fondos estáticos, es decir, lo que cambia son los personajes. Esta técnica es aplicada en los video juegos. Con el paso del tiempo, se han creado nuevas técnicas como key framing, rotoscopiado, motion control [17] y wavelets [18].

3.3.3 Key Framming
El key framing se refiere a establecer posiciones en puntos específicos de tiempo en una animación y la parte intermedia la obtiene la computadora por medio de interpolación matemática. Es necesario hacer un key frame para cada control en cada nivel de la jerarquía del modelo.
3.3.4 Rotoscopiado
El Rotoscopiado consiste en una forma más elaborada de key framing. En este caso se obtienen la posición y el ángulo de los puntos clave de imágenes reales y se trata de hacer converger los modelos en computadora con ellos.
3.3.5 Motion Control
La técnica de Motion control es muy utilizada actualmente, sobre todo en sets virtuales y en el cine. Consiste en obtener posiciones clave de manera automática a partir de un actor real por medio de dispositivos que se conectan a su cuerpo. El primer modelo importante utilizando esta técnica fue Sexy Robot en 1985 creado por Robert Abel & Associates. En México, un modelo muy conocido de esta técnica es el Ponchito Virtual,  utilizado por Andrés Bustamante en el programa de TV Azteca Los Protagonistas. El Ponchito Virtual fue construido por la empresa mexicana ARTEC.

3.3.6 Wavelets
Wavelets significa “pequeñas ondulaciones”. Esta técnica permite que en una sola imagen se compriman una gran cantidad de datos para que al acercarse a ella, se vayan viendo los detalles.
Por ejemplo, con esta técnica es posible que al irse acercando a una planta, se vayan viendo las ramas, las hojas y todos los detalles necesarios. Esto no es posible lograrlo con una imagen normal, ya que si nos acercamos a ella, solo se verá cada vez más distorsionada.
La técnica de los Wavelets es una teoría puramente matemática que ha sido aplicada en distintas áreas, por ejemplo, fue utilizada para buscar una manera de transmitir mensajes claros a través de los hilos telefónicos, encontrar una forma mejor de interpretar las señales sísmicas e incluso es utilizada por el FBI para codificar su base de datos de 30 millones de huellas digitales.  La técnica de los Wavelets fue utilizada en la realización de la película Bichos (Bugs) de Pixar.
3.3.7 Técnicas de Pixar
El proceso que utiliza Pixar  para crear sus animaciones se compone de cuatro etapas principales: Desarrollo (crear el guión de la historia), preproducción (se direccionan los retos técnicos), producción (creación de la película) y post producción (pulir los últimos detalles). El proceso es largo y si lo vemos mas a detalle, es el siguiente: El primer paso de la producción es la presentación de una idea por parte de los empleados a su equipo. Se escribe un texto llamado Text Treatment que es un pequeño documento que resume la idea principal de la historia.
¿Qué es la visión por computadora y por qué deberíamos estar interesados en estudiarla?
Hay varias razones por las que debemos estar interesados en la visión computacional o visión artificial, pero los dos siguientes aspectos nos permitirán observar las distintas direcciones en las cuales se puede ver el tema:
·         Todas las formas de vida inteligente poseen la capacidad de obrar recíprocamente y de manipular su ambiente de una manera coherente y estable. Esta interacción es facilitada por la continua intervención inteligente entre la percepción y el control del movimiento (es decir acción); la percepción visual es de fundamental importancia para la vida inteligente.
·         Más fabricantes están preocupados por la integridad cosmética de sus productos; los clientes comparan absolutamente a menudo la calidad del aspecto con calidad funcional. Así pues, para asegurar la acertada comercialización a largo plazo de un artículo, es altamente deseable comparar su aspecto visual antes de ser empaquetado y enviado. Asimismo, es deseable que el proceso de la inspección esté automatizado y efectuado sin la intervención humana
La experiencia en el mundo en que vivimos esta cubierta por una variedad sin fin de objetos, animados e inanimados. Así pues, si la visión es un medio para un fin – conocer el mundo observándolo – la visión artificial es exactamente lo mismo salvo que el medio por el cual se adquiere el conocimiento ahora es un instrumento de cómputo más bien que el cerebro de alguna ser vivo. Sin duda, esto es una definición muy amplia. Pero el tema de la visión artificial es extenso: los asuntos tales como la restauración de imágenes, mejoramiento de imagen, inspección visual automatizada, visión robótica, escenas tridimensionales, y percepción y cognición visual todas forman parte del término “Visión Artificial”.
Como hemos visto, a la visión artificial le compete estudiar la estructura física tridimensional del mundo para el análisis automático de imágenes. Sin embargo, es necesaria la calidad en el uso de imágenes. Primero, analicemos una simple imagen es de dos- dimensiones y, por lo tanto, perdemos inevitable la información en el proceso de la proyección, es decir en pasar de un mundo tridimensional a una imagen de dos dimensiones.
La visión artificial incluye muchas técnicas que son útiles para si misma, Ej., el procesamiento de imágenes (que se refiere a la transformación, codificación, y transmisión de las imágenes) y los patrones, de las cuales los patrones visuales son pero solo una instancia). Más significativamente, sin embargo, la visión artificial incluye técnicas para la descripción útil de la forma y del volumen, para modelos geométricos, y para el llamado proceso cognoscitivo. Así, aunque la visión artificial se refiere ciertamente al procesamiento de imágenes, estas imágenes son solamente la materia prima de una ciencia mucho más amplia, la misma que se esfuerza en última instancia para emular las capacidades perceptivas del hombre y, quizás, para verter una luz sobre la manera por la cual él logra su interacción adaptativa y robusta con su ambiente.

jueves, 17 de noviembre de 2011

CONCEPTOS UNIDAD 4

Tecnicas de sombreado clasicas y avanzadas

Clasicas: Iluminacion local
Calculos de iluminación por vértices
Para poder aplicar iluminación necesitamos asociar a cada vértice de nuestro objeto un vector normal asociado. Cuando tenemos la normal calculada tenemos que normalizarla, o sea, dividir ese vector por su propio modulo para que sea unitario, pero también podemos hacer que se encargue la OpengGl activando la normalización,
glEnable GL_NORMALIZE
o desactivarla con,
glDisable GL_NORMALIZE
el usar GL_NORMALIZE dependerá de nuestra aplicación ya que forzando a que sea OpenGl que las utilice se ralentiza ya que le estamos hacer mas cálculos de los que debe.

Para definir las normales en opengl utilizaremos la función glNormal3f(X,Y,Z) por ejemplo para definir una cara con 4 vértices la definiremos de la siguiente manera

GlBegin GL_QUADS
glNormal3f nX,nY,nZ
glvertex3f x,y,z
glvertex3f x,y,z
glvertex3f x,y,z
glvertex3f x,y,z
glEnd

Es decir, cada vez que queremos definir una normal a un vértice usamos glNormal y el vértice/s que siguen se asocian a esta normal.

La luz de tipo SMOOTH el polígono que definamos tendrá un color definido par cada vértice, asociando las normales a los vértices OpenGL puede hacer los cálculos de los colores a cada uno del vértice y después hace una interpolación de colores con este tipo de luz se acerca bastante al realismo pero a un la podemos mejorar.
Posterior relleno de triangulos

Rellenado de los triángulos (rastering). Para ello se realizan varias fases de procesamiento por Pixel.
Comprobar si cada nuevo pixel es visible o no (comprobación de profundidad).
Interpolación lineal del color para el nuevo pixel (método de Gouraud).
Si existe una textura definida o transparencia, efectuar la modificación de color correspondiente.
Se trata de la última fase, en ocasiones la más costosa, del proceso, por lo que es la primera que se suele integrar en el hardware gráfico. En esta etapa se trata de asignar colores a los pixels correspondientes al interior de cada triángulo proyectado que cae dentro del área de visualización. Los colores asignados deben calcularse por el método de Gouraud, interpolando linealmente entre los colores de los tres vértices.

Renderizado en tiempo real
La idea fundamental del procesado en tiempo real es que todos los objetos deben ser descompuestos en polígonos. Estos polígonos serán descompuestos a su vez en triangulos. Cada triangulo será proyectado sobre laventana bidimensional y rellenado con los colores adecuados para reflejar los efectos de la iluminación, texturas, etc. Ua vez se han generado los triangulos, en la pipeline existen dos partes claramente diferenciadas: uina primera etapa operaciones realizadas sobre cada uno de los vértices, y después de que estos se proyecten sobre la ventana, entonces comienza una segunda fase de cálculos realizados para cada pixel cubierto por los triangulos.

Realistas: iluminación global

Trazado de rayos
El trazado de rayos computa la interaccion de la luz desde un punto de vista determinado y es particularmente adecuado para superficies reflectantes. Puede utilizarse como propiedad especifica de un determinado material.

Radiosidad
Esta basado en principios generales que se pueden encontrar en un manual general sobre rendering. En el estado inicial la escena consta de dos tipos de objetos: objetos que emiten luz y objetos que reciben luz. A partir de aquí, en una primera vuelta, se computa la luz que recibe cada objeto en una aproximación mas exacta, cada parte de un objeto, según una subdivisión cuya densidad puede percisarse en sucesivas aproximaciones. Cada una de estas partes, según su grado de reflexividad, su orientación y su distancia con respecto a las fuentes de luz original, se convertirá en una segunda vuelta, en un nuevo emisor de energía lumínica, una fuente de luz secundaria que iluminara a su vez a los objetos que le rodean.

Calculos de iluminación por pixel

La iluminación por píxel en tiempo real es una tecnología revolucionaria ofrecida como primicia por NVIDIA Shading Rasterizer. La iluminación dinámica a nivel de píxel libera a los desarrolladores de las restricciones de otros sistemas de iluminación y pone a su alcance toda una gama de sofisticados efectos. La potencia de NSR eleva la calidad de la experiencia multimedia que ofrecen las GPU NVIDIA. NSR mantiene la alta resolución en entornos dinámicos y proporciona la experiencia de juego más impactante.

La técnica Pixel Shader
La técnica Pixel Shader es una tecnología que pueden incorporar el hardware que se encarga de convertir las instrucciones generadas por un ordenador o una videoconsola en gráficos visualizables en la pantalla de TV o monitor, dicha técnica se encarga de virtualizar el mundo físico mediante gráficos generados digitalmente, en concreto el pixel shader se encarga de la gestión de iluminado de la escena, produciendo los efectos lumínicos de luces y sombras.

El hardware que implementa Pixel Shader es comúnmente conocido como "la tarjeta gráfica", o adaptador gráficos, VGAs o tarjetas de vídeo.

Alto Acabado

Sombreado Constante o plano. Un cálculo para todo el polígono. Obtenemos una intensidad  que aplicamos a un conjunto de puntos de un objeto (p.ej. todo un triángulo). Aceleramos el proceso de síntesis.  Correcto si se verifica: Fuente de luz en el infinito. Observador en el infinito. El polígono representa una superficie plana real del objeto que se modela y no es una aproximación de un objeto curvo.

Calcula normales al polígono
La iluminación cte. no produce buenos resultados en superficies curvas (aprox. por facetas planas).
Evaluar la ecuación de iluminación en cada punto de una superficie genérica es muy costoso.
Posible solución: aproximar mediante facetas planas e interpolar dentro de cada  polígono.
Hay que evitar producir una apariencia “faceteada” (bandas de Mach; respuesta del ojo humano)
Sombreado Constante/Plano
(Flat Shading)
Obtenemos una intensidad que aplicamos a un conjunto de puntos de un objeto
–Aceleramos el proceso de síntesis
–Correcto si se verifica:
• Fuente de luz en el infinito
• Observador en el infinito
• El polígono representa una superficie plana real del objeto que se modela y no es una    aproximación de un objeto curvo.

Sombreado por Interpolación

La iluminación cte. no produce buenos resultados en superficies curvas (aprox. Por facetas planas)

– Evaluar la ecuación de iluminación en cada punto de una superficie genérica es muy costoso

– Posible solución: aproximar mediante facetas planas e interpolar dentro de cada polígono

– Hay que evitar producir una apariencia “facetada” (bandas de Mach; respuesta del ojo humano)

Sombreado de Gouraud

Se basa en la interpolación de intensidad o color

• Considera que facetas planas vecinas proceden de aproximar una superficie curva (salvo que se declare una arista real entre ambas)

• Elimina en gran medida las discontinuidades de iluminación

• Es sencilla, pero produce peores resultados en objetos con brillos especulares que el método de  Phong.

• Implementado en OpenGL.

Necesita la dirección de la normal en cada vértice (si se desconoce, se calcula a partir de las normales de las facetas que contienen el vértice)

• Si dos facetas están separadas por una arista real, se utilizan dos normales diferentes para

trabajar en cada faceta (se promedian las normales situadas solo a un lado de la arista)

• A partir de la normal en cada vértice, se evalúa la ecuación de iluminación (solo para cada vértice) y se obtiene un valor de intensidad para cada uno de ellos

• Se realiza una interpolación bilineal para obtener la intensidad en cada punto dentro de la

faceta (de forma incremental).

Sombreado de Phong

• Se basa en la interpolación de la dirección de la normal, calculada de la misma forma que antes.

• Igual que en Gouraud, se interpola a lo largo de cada línea de barrido, entre los puntos inicial y final, interpolados a su vez de los valores de los vértices de la arista.

• Captura mejor los brillos especulares en el medio de facetas planas (Gouraud los puede omitir).

Produce mejores resultados, a un coste computacional mayor (hay que incrementar la dirección de la normal en tres direcciones, normalizarla y calcular la ecuación de sombreado encada punto)

• Si el coeficiente de reflexión especular es pequeño, los resultados no difieren tanto (se pueden combinar objetos sombreados por ambos métodos en una escena).
Ray Tracing (Trazador de rayos):
Es un método basado en los principios físicos de la óptica geométrica que puede simular reflexiones múltiples y la transparencia
Buffer de profundidad 
Es la parte de la memoria de nuestra tarjeta gráfica encargada de la visibilidad de nuestros gráficos 3D según las coordenadas de sus pixeles, con lo que se puede gestionar qué elementos de una escena renderizada son visibles y cuales permanecerán ocultos según sus posiciones en el eje Z ( distancia a cámara ). Sirve para no dibujar objetos delante de otros cuando no debe.
Buffer de Stencil
Es un buffer extra, además de la memoria de color (buffer pixel) y el buffer de profundidad (z-buffering) encontró en el equipo moderno hardware gráfico. El buffer es por píxel, y trabaja en valores enteros, por lo general con una profundidad de un byte por píxel. El buffer de profundidad y stencil buffer a menudo comparten la misma área en la memoria RAM del hardware de gráficos.
Buffer de acumulación
Sirve para capturar el buffer de color en un fotograma y aplicarle acumulaciones del color de otro fotograma/s. Esto básicamente sirve para simular el efecto de estela que deja un objeto cuando se mueve muy rápidamente en el encuadre de la cámara.
Fuentes de Luz
La luz puede dejar una superficie mediante dos procesos fundamentales:
· Emisión propia
· Reflexión
Normalmente se piensa en una fuente de luz como un objeto que emite luz solo mediante fuentes de energía internas, sin embargo, una fuente de luz, como un foco, puede reflejar alguna luz incidente a esta del ambiente. Este aspecto no será tomado en cuenta en los modelos más sencillos.
Fuentes de color
Son fuentes luminosas naturales todos aquellos cuerpos capaces de emitir luz, como las estrellas, las luciérnagas, el fuego, etc. No solamente las fuentes de luz emiten diferentes cantidades de luz en diferentes frecuencias, pero también sus propiedades direccionales varían con la frecuencia. Por lo tanto, un modelos físicamente correcto puede ser muy complejo. Para la mayoría de las aplicaciones, se puede modelar fuentes de luz en base a tres componentes primarios, RGB, y puede usar cada uno de los tres colores fuentes para obtener el componente de color correspondiente que un observador humano vería. La mayor fuente natural de luz y de calor en la Tierra, es el Sol durante el día y durante la noche son la Luna y las Estrellas que la reciben del Sol y lo reflejan a la Tierra.
Luz ambiente
En algunos cuartos, las luces se diseñan y ubican para proveer iluminación uniforme en el cuarto. Tal iluminación se logra mediante fuentes grandes con difusores cuyo propósito es esparcir la luz en todas las direcciones. Se puede crear una simulación precisa de tal iluminación, modelando todas las fuentes distribuidas, y luego integrando la iluminación de estas fuentes en cada punto de una superficie reflectora. Hacer tal modelo y generar la escena sería un tarea formidable para un sistema gráfico, especialmente si se desea ejecución en tiempo real. De manera alternativa, se puede ver el efecto deseado de las fuentes: lograr un nivel de luz uniforme en el cuarto. Esta iluminación uniforme se llama luz ambiente.
Spotlights (direccionales)
Se caracterizan por un rango delgado de ángulos por los cuales se emite luz. Se puede construir un spotlight sencillo de una fuente de punto limitando los ángulos de donde la luz de la fuente se puede ver.
Fuentes de Luz Distantes
La mayoría de los cálculos de sombreado requieren la dirección de un punto sobre la superficie a la fuente de luz. Según se mueve a lo largo de la superficie, se debe recomputar este vector para calcular la intensidad en cada punto, una computación que es una parte significativa del cálculo del sombreado. Sin embargo, si la fuente de luz está lejos de la superficie, el vector no cambiará mucho según se mueve de un punto a otro, al igual que la luz del sol da en todos los objetos cercanos entre si con el mismo ángulo.
Intensidad completa
 La intensidad completa exclusivamente por efectos de iluminación es la siguiente:

FUENTES:
1.http://cannes.itam.mx/Alfredo/Espaniol/Cursos/Grafica/Sombreado.pdf
2. http://www.fdi.ucm.es/profesor/segundo/PDFs/7SombreadoVisualizacion.pdf
3.http://lsi.ugr.es/~curena/doce/vr/pracs.10-11/03/#ilu
4.http://e-md.upc.edu/diposit/material/24099/24099.pdf
5.http://informatica.uv.es/iiguia/AIG/web_teoria/tema3.pdf
6.http://www.azrodin.com/2009/09/generacion-de-sombras-con-stencil-buffer/
7.http://cannes.itam.mx/Alfredo/Espaniol/Cursos/Grafica/Sombreado.pdf
8.http://sabia.tic.udc.es/gc/Contenidos%20adicionales/trabajos/3D/modelosIlumionacion/introduccion_intensidad_completa.html


domingo, 2 de octubre de 2011

REPORTE DEL SOFTWARE: Iterations, Flarium - S.C. Ferguson.

S.C. Ferguson ha creado todo un universo de programas de fractales (Iterations, Flarium, Tierazon, GrafZViZion, InkBlot, Talis, RootIFS, Atriatix, Vchira, Ktaza...). Son  aplicaciones de 32 bits para Win32, con todas las ventajas que ello conlleva en cuanto a  interfaz, compatibilidad y funcionamiento. Por contra necesitan una máquina algo más potente para funcionar que en el caso de Fractint y otros programas DOS. El amplio espectro que barre este conjunto de programas lo convierte en una excelente colección de herramientas. Al igual que los demás programas punteros, con estas piezas de software podremos exportar las imágenes en diversos formatos gráficos, pero también guardar los parámetros en un pequeño archivos de texto.


Muchas galerías de arte fractal se pueden encontrar en Internet, por ejemplo en esta página y Tierazon esterlina galería de fractales. Tal vez un buen punto de partida sería el fractal páginas de Stephen C. Ferguson, que ha hecho varios generadores de fractales como esterlina Fractal, una imagen de ejemplo que se muestra a la izquierda. Su más generadores de fractales clásicos incluyen iteraciones et Flarium (et medios "y").

Para ver un ejemplo del estado del arte en el paisaje fractal, http://www.fractal-landscapes.com contiene una excelente galería y una descripción de las matemáticas detrás de paisajes fractales. Para un ejemplo de un visor fractal ver http://www.efractal.com.

Además, una sub-categoría de arte fractal es la música fractal, que es capaz de producir sonidos de la naturaleza más realista y melodías sutiles que los enfoques convencionales.
 
Arte fractal es un enfoque algorítmico para la producción de arte generado por computadora utilizando las matemáticas fractales. Tradicionalmente, los fractales se dividen en cuatro grandes categorías relevantes para el arte fractal:
  • ·         Aquellos para los que la pertenencia a un punto en un conjunto fractal puede ser determinada por la aplicación iterativa de una función simple. Un ejemplo de este tipo es el conjunto de Mandelbrot y el fractal de Lyapunov.
  • ·         Aquellos para los que una regla de sustitución geométrica existe. Los ejemplos incluyen el polvo de Cantor, el triángulo de Sierpinski, la esponja de Menger y el copo de nieve de Koch.
  • ·         Los creados con los sistemas de función iterada, en particular, las llamas fractales.
  • ·         Aquellos que son generados por estocástico más que deterministas (los ejemplos incluyen paisajes fractales).
FUENTE:

Software Iterations de Ferguson

domingo, 4 de septiembre de 2011

LA DIVINA PROPORCIÓN


Durante los últimos siglos, creció el mito de que los antiguos griegos estaban sujetos a una proporción numérica específica, esencial para sus ideales de belleza y geometría. Dicha proporción es conocida con los nombres de razón áurea ó divina proporción. Aunque recientes investigaciones revelan que no hay ninguna prueba que conecte esta proporción con la estética griega, esta sigue manteniendo un cierto atractivo como modelo de belleza.

 Matemáticamente nace de plantear la siguiente proporcionalidad entre dos segmentos y que dice así: "Buscar dos segmentos tales que el cociente entre el segmento mayor y el menor sea igual al cociente que resulta entre la suma de los dos segmentos y el mayor"

Sean los segmentos:
 A: el mayor y B el menor, entoces planteando la ecuación es:

A/B =(A+B)/A

Cuando se resuelve se llega a una ecuación de 2do. grado que para obtener la solución hay que aplicar la resolvente cuadrática.

El valor numérico de esta razón, que se simboliza normalmente con la letra griega "fi" es:


 




FUENTE: http://www.portalplanetasedna.com.ar/divina_proporcion.htm 

domingo, 21 de agosto de 2011

RESUMEN

PUNTOS IMPORTANTES DE LA INTRODUCCION A LA COMPUTACION GRAFICA


1.       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).

2.    El Sketchpad inventado por Ivan Sutherland fue el primer sistema interactivo de gráficos por computadora utilizado para aplicaciones de diseño e ingeniería.
3.       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.

4.    El concepto de estructura jerárquica interna de una imagen representada por computadora y la definición de esa imagen en términos de sub-imágenes.
       El concepto de imagen maestra e instancias de imagen las cuales son versiones transformadas de la imagen maestra.
       El concepto de restricción como un método para especificar detalles de la geometría de una imagen.
       La habilidad para desplegar y manipular representaciones icónicas de las restricciones.
       La habilidad de copiar así como crear instancias tanto de imágenes como restricciones.
       Algunas técnicas elegantes para la construcción de imágenes usando un lápiz luminoso.
       La separación del sistema de coordenadas en el cual una imagen es definida a partir de lo que es desplegado; y
       Operaciones recursivas tales como “mover” y “borrar” aplicadas a las imágenes definidas jerárquicamente.
5.       En 1968 Tektronix introdujo un CRT con tubo de almacenamiento que permitía retener permanentemente un dibujo hasta que el usuario decidiera borrarlo.
6.       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. Habiendo crecido con los dibujos animados de Disney, Catmull amaba la animación aunque rápidamente descubrió que no tenía talento para dibujar.
7.       A partir de 1970 se comenzaron a introducir los gráficos por computadora en el mundo de la televisión.
8.       En el mismo año Nolan Kay Bushnell junto con un amigo creo el Atari. 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.

9.    Desde su fundación, el laboratorio de Cornell ha articulado y refinado un sistema para investigación en iluminación global incorporando modelos de reflexión, simulación de transporte de energía y algoritmos de despliegue visual.

10.  Renderman Interface Specification, o RISpec, es un API desarrollada por los estudios de animación Pixarpara describir escenas tridimensionales y convertirlas en imágenes digitales foto realistas.
11.   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.
12.   En 1995 se presentó la primera película de larga duración con gráficos y animaciones 3D por computadora.
13.   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. ATI se estaba volviendo fuerte y Matrox había anunciado nuevos productos, pero sobre todos ellos, claramente nVidia se había convertido en el estándar para el cómputo en casa. En el 2001 nVidia continuó dominando el mercado con una competencia ocasional por parte de ATI.
14.   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. 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.

15.  Un pixel es la unidad mínima de representación gráfica. La resolución de una presentación por barrido es un indicador de su calidad gráfica y se determina por el número de pixeles por unidad de área.

16.  La cantidad de memoria de video requerida para almacenar una pantalla se determina multiplicando el número de pixeles horizontales, el número de pixeles verticales y el número de bytes usados para codificar un pixel.
17.  Memoria de video = Res. H x Res. V x Núm. de bytes por pixel

18.  El controlador de video lee de la memoria de video el color del pixel a dibujar y envía la información a un convertidor digital analógico (DAC) en donde por medio de las componentes de color RGB se determina la intensidad del pixel.
19.   Una representación gráfica consisten en un conjunto de pixeles que se obtiene a partir de una idea de más alto nivel; como puede ser la descripción de la gráfica en términos de líneas, arcos, colores etc. o incluso en términos de objetos tridimensionales, puntos de vista e iluminación.
20.  Los bloques de construcción básicos que ofrece una librería se conocen como "primitivas" y pueden incluir desde un mínimo de líneas, círculos, caracteres, etc. en dos dimensiones hasta mallas de polígonos tridimensionales, definiciones de luces, etc.

21.  Las siguientes APIs para gráficos por computadora son particularmente populares:
       OpenGL
       Direct3D (subconjunto de DirectX para producir gráficos interactivos en 3D)

22.   OpenGL (Open Graphics Library) es una API portable para desarrollar aplicaciones gráficas interactivas 2D y 3D. Fue desarrollada por Silicon Graphics y actualmente es un estándar abierto controlado por diversas compañías. Su mayor ventaja es su portabilidad, es decir que puede ser usada en una gran cantidad de plataformas de hardware, desde dispositivos móviles hasta súper computadoras, además de distintos sistemas operativos y tarjetas aceleradoras 3D. Es relativamente fácil de usar.

23.   Direct3D es parte de DirectX, una API propiedad de Microsoft disponible tanto en los sistemas Windows de 32 y 64 bits, como para sus consolas Xbox y Xbox 360 para la programación de gráficos 3D.