lunes, 21 de mayo de 2012
sábado, 12 de mayo de 2012
SISTEMA DE PARTICULAS 10/05/2012
Animación por computadora
La animación porcomputadora (también llamada animacióndigital ,
animación informática o animación por ordenador ) es latécnica que consiste en
crear imágenes en movimiento mediante el uso de ordenadoreso computadoras. Cada
vez más los gráficos creados son en 3D ,aunque los gráficos en 2D todavía se siguen usando
ampliamente para conexiones lentasy aplicaciones en tiempo real que necesitan renderizar
rápido. Algunas veces el objetivo de la animaciónes la computación en sí
misma, otras puede serotro medio, como una película . Los diseños se
elaboran con laayuda de programas de diseño, modelado y por último renderizado.
Para crear la ilusión del
movimiento, una imagen se muestra en pantalla sustituyéndose rápidamente por una
nueva imagen en un fotograma diferente. Esta técnica es idéntica a la manera en
que se logra la ilusión de movimiento en las películas y en la televisión.
domingo, 6 de mayo de 2012
CURVAS Y SUPERFICIES 05/05/2012
Curvas
y superficies en 2D y 3D
Splines
Cúbicos
• Natural Cubic Splines:
Splines
cúbicos
Curvas
B Spline
Curvas
B Spline
Propiedades
Calculo
de B splines
Polinomios
de Hermite
Polinomios
de Hermite
• Dados (n+1) puntos p0,
..., pn, para interpolarlos con n segmentos de curva
de tipo polinomios cúbicos de Hermite se divide la curva global en intervalos
cada uno de los cuales empieza en un punto pi y
termina en pi+1 siendo la tangente inicial mi
y la final mi+1 y se definen las tangentes por medio
de la fórmula:
Demo
Superficies
3D. Interpolación Bilineal
Superficies
en 3D
Índice
•Curvas
en 2D y 3D
–Introducción
–Interpolación
lineal
–Curvas
de Bezier
–Curvas
Spline
–Curvas
B-Spline
•Superficies
en 3D
–Interpolación
bilineal
–Parches
bicúbicos
Introducción
•Representación
paramétrica vs implícita o explícita
–paramétrica es más
flexible
–curvas componentes:
C(t) = (x(t), y(t))
•Interpolación vs.
aproximación: puntos de control
–interpolación: curva ha
de pasar por una serie de puntos (importancia de los puntos)
–aproximación: curva
según unos puntos de control (importancia de curva)
•Propiedades
deseables:
–representación paramétrica
–suave: Cn, en curvas
componentes
–sin oscilaciones (wiggles)
–local: cambio de un
punto afecta a entorno reducido
–fácil de calcular: poco
coste computacional
Interpolación
lineal
•Dado un conjunto de puntos se interpolan usando
rectas entre ellos.
•Sencillo.
•La curva es continua pero no sus derivadas.
•Curva local: la modificación de un punto afecta a dos
intervalos.
Interpolación
lineal
Entre dos puntos se define
una línea recta.
X(t) = mx t + bx
Con las condiciones
X(t=0) = X0
X(t=1) = X1
Para el primer intervalo y la
primera coordenada.
- • Es un sistema desarrollado hacia los años setenta del siglo XX, para el trazado de dibujos técnicos, en el diseño aeronáutico y de automóviles. Su denominación es en honor a Pierre Bezier quien ideó un método de descripción matemática de las curvas que se comenzó a utilizar con éxito en los programas de CAD.• Posteriormente, los inventores del PostScript, introdujeron en ese código el método de Bezier para la generación del código de las curvas y los trazados.en la que los Bi,n(t) son los polinomios de Bernstein de grado n.• Los puntos P0, P1, ..., Pn que determinan una curva de Bézier se denominan puntos de control, y la poligonal que los une es el polígono Bézier o B-polígono.• B0,1(t) = (1 - t), B1,1(t) = t;• B0,2(t) = (1-t)2, B1,2(t) = 2(1-t)t, B2,2(t) = t2;• B0,3(t) = (1-t)3, B1,3(t) = 3(1-t)2t, B2,3(t) = 3(1-t)t2, B3,3(t) = t3.• A medida que aumenta el número de puntos, aumenta el grado de la curva.• Se limita a 4 el numero de puntos de control y el polinomio es de grado 3.• Dados los puntos P0=(1, 1), P1=(2, 4), P2=(5, 3), la curva Bézier asociada tiene las siguientes ecuaciones paramétricas• x(t) = B0,2(t) + 2B1,2(t) + 5B2,2(t) = 1+2t+2t2• y(t) = B0,2(t) + 4B1,2(t) + 3B2,2(t) = 1+6t-4t2
•
La
curva de Bezier empieza en P0 y termina en Pn-1
•
El
vector tangente a la curva P(t) en el punto P0 tiene la dirección
del vector P0P1
•
El
vector tangente a la curva P(t) en el punto Pn tiene la dirección
del vector Pn-1Pn.
•
La
modificación de un punto de control afecta a toda la curva que define.
Splines
Cúbicos
• Interpolan entre dos puntos
utilizando un polinomio de grado 3
• Los polinomios de grado 3 son los de
menor grado que permiten la existencia de un punto de inflexión.
• Intentan evitar oscilaciones y
complejidad de interpolación polinómica, al aumentar el número de puntos
• Si el polinomio es de grado m, 3 en
este caso, se puede imponer que la curva global sea continua hasta el orden m-1
(Cm-1), en este caso: grado 2. Es decir, podemos imponer que sea continua la
curva, la primera y la segunda derivada, es decir, curvas suaves.
• Spline cúbico (x(u), y(u)) que pasa
por los n+1 puntos P0, P1, ... Pn para los
valores del parámetro {u0, u1, ... un}
• Se buscan n polinomios cúbicos (grado
3) para cada coordenada, (qi(u), pi(u)),
definidos en intevalo [ui,ui+1] , que
empalmen con continuidad C2 (2ª derivada) en cada valor del parámetro ui
• Condiciones: 2n + n-1 + n-1 = 4n-2
qi(ui) = xi ; qi(ui+1) = xi+1 i=0,1,...,n-1 2n condiciones Continuidad curva
qi(ui) = xi ; qi(ui+1) = xi+1 i=0,1,...,n-1 2n condiciones Continuidad curva
• qi'(ui+1)
= qi+1'(ui+1)i=0,1,...,n-2 n-1 condiciones Cont. prim. Deriv.
• qi''(ui+1) = qi+1''(ui+1)i=0,1,...n-2 n-1 condiciones Cont. Seg. Deriv.
• Incógnitas: 4n
qi(u) = ai + biu + ciu2 + diu3
qi(u) = ai + biu + ciu2 + diu3
• Faltan 2 condiciones extra
– Condiciones extra: derivada segunda
nula en los extremos, u0 , un
• Curva interpolante, con segmentos
polinómicos (curvas componentes)
• Representación paramétrica
• Suave: C2 (curvas componentes)
• Sin oscilaciones: grado cúbico de los polinomios
evita oscilaciones
• No local: el cambio de un punto afecta a los
polinomios de todos segmentos (ver el sistema (n+1) x (n+1))
• Relativamente fácil de calcular: el
sistema de ecuaciones es tridiagonal
• Se ha sacrificado la suavidad (no
mucho) para evitar las oscilaciones
• Para hacer las curvas locales, hay
que eliminar el requerimiento de que interpole
•Caso más general que Bezier.
Las
curvas de Bezier son un tipo de B-Splines.
•Ventaja sobre Bezier: los puntos de control no se alejan tanto
de la forma que queremos modelar, por lo que podemos asemejarnos más al modelo
sin necesidad de utilizar muchos puntos de control.
•
•Propiedades:
–Envolvente
convexa.
–Invarianza
afín.
–Control
local.
• Igual que Bézier, dado un conjunto de
puntos P0, ., Pn, determinamos una curva compuesta de
varios tramos, tal que se aproxime al polígono de control, y que las ecuaciones
de cada tramo estén influenciadas solamente por k vértices del polígono de
control siendo k un parámetro elegido a voluntad por el diseñador y,
lógicamente, k ≤ n + 1
• Obsérvese que hay que definir un
vector T de nodos, que suele ser un conjunto de números naturales separados por
una unidad (aunque puede hacer cualquier otra elección).
• No interpolan
• Paramétricas
• Suavidad Cm-2: m es orden de B-spline
• No oscilan
• Locales
• Difíciles de calcular salvo casos
especiales con fórmula matricial: B-Splines uniformes, Bézier
• Mayor flexibilidad: elección de nodos
permite más tipos de curvas
•http://www.pdipas.us.es/e/esplebrue/ampcap5a_0506.pdf
Polinomios
de Hermite
• Se busca una función de interpolación
Hn(x) que sea cúbica en cada subintervalo y que interpole
a la curva y a su primera derivada en los puntos que introduce el usuario.
• La función Hn(x)
queda determinada en forma única por estas condiciones y su cálculo requiere de
la solución de n sistemas lineales de tamaño 4x4 cada uno.
• La desventaja de la interpolación de
Hermite es que requiere de la disponibilidad de las primeras derivadas, lo cual
no es el caso en muchas aplicaciones.
• Para cada bintervalo entre dos puntos
que introduce el usuario ( p0 y p1 ) con
tangente en el punto inicial m0 y en el punto final m1,
el polinomio se define como:
• donde t ∈ [0, 1].
• Observese que en el polinomio
aparecen los valores de p y m.
Polinomios
de Hermite
• Como cada subintervalo comparte
tangentes copn los vecinos hay varias técnicas para definir los valores de las
tangentes.
– Cardinal spline
– Catmull-Rom spline
– Kochanek-Bartels spline
• En Informática Gráfica los más
utilizados son los splines de Catmull-Rom.Sobre
todo cuando lo que se desea es interpolar movimiento de forma suave entre
varios frames. Por ejemplo cuando la cámara se está moviendo y tenemos unos
frames clave y queremos interpolar el movimiento entre ellos.
• La ventaja es que es fácil de
calcular, garantizan la posicion en los frames clave (es una interpolacion) y
garantizan que la tangente de la curva generada es contínua a lo largo de
múltiples segmentos.
•
Nota: debo definir m0 y m
• Saltos en el ejemplo cuando la
interpolación del movimiento es lineal, movimiento suave en la interpolación de
catmull-rom. Obtenido de http://www.mvps.org/directx/articles/catmull/
• La interpolación bilineal calcula
los puntos intermedios mediante la siguiente ecuación:
• V (x, y) = ax +by+cxy+ d
• donde x e y representan
la distancia al punto o esquina superior izquierda del entorno.
• Los coeficientes a,b,c,d deben
calcularse de modo que se cumplan las siguientes igualdades:
• V(x = 0,y = 0) = P(i, j)
• V(x=1,y=0) = P(i+1, j)
• V(x = 0,y = 1) = P(i, j + 1)
• V(x=1,y=1) = P(i + 1, j + 1)
•Concepto
de parche (patch)
Superficie
como curva con puntos de control en una curva
•Funciones
base son producto de funciones base de curvas: bij(s,t)=bi(s)bj(t)
•Matriz
(malla) mxn de puntos de control: Pij,
i=0,....m; j=0,...n
Conclusiones
•NURBS
> B-Splines > Bezier.
•
•Todos
estos métodos son ayudas para el modelado, pero en el renderizado la GPU
siempre va a utilizar triángulos.
•
•El
diseñador gráfico puede modelar formas curvas con facilidad y de forma
intuitiva, y a la hora de renderizar se aplicará un algoritmo de subdivisión para convertir todo en triángulos.
domingo, 29 de abril de 2012
MODELADO GRÁFICO 26/04/2012 Y 28/04/2012
MODELADO GRÁFICO
DE LE CLIC A ESTA DIRECCIÓN PARA VER MODELADO GRÁFICO
http://virtual.usam.edu.sv/uvirtual/mod/resource/view.php?inpopup=true&id=7464
¿QUE SON LOS VOXELS?
El vóxel (del
inglés volumetric pixel) es la unidad cúbica que compone un objeto
tridimensional. Constituye la unidad mínima procesable de
una matriz tridimensional y es, por tanto, el equivalente
del píxel en un objeto 3D.
Para crear una imagen en tres
dimensiones, los vóxeles tienen que sufrir una transformación de opacidad. Esta
información da diferentes valores de opacidad a cada vóxel. Esto es importante
cuando se han de mostrar detalles interiores de una imagen que quedaría tapada
por la capa exterior más opaca de los vóxeles.
Las imágenes con vóxeles se usan
generalmente en el campo de la medicina y se aplican, por ejemplo, en
la tomografía axial computarizada o para las resonancias
magnéticas. De este modo, los profesionales pueden obtener un modelo preciso
en tres dimensiones del cuerpo humano.
RECONSTRUCION DE SOLIDOS
La descripción de objetos tridimensionales en un plano, utilizando proyecciones bidimensionales, se remonta a
más de dos mil años. El problema contrario de cómo reconstruir automáticamente la estructura geométrica y
topológica de un objeto tridimensional a partir de sus proyecciones, empezó a atraer la atención sólo a finales de
los 60, motivado por el desarrollo de los ordenadores digitales. En efecto, la revolución que supuso la aparición
de las herramientas de Diseño Asistido por Ordenador (CAD), aun no se ha podido completar, debido a que gran
cantidad de información de las oficinas de ingeniería (“Know-how”) sigue estando almacenada en complejos
planos de ingeniería, inaccesible para los ordenadores. Por ello, conseguir que los ordenadores puedan “leer”
planos de ingeniería es un reto pendiente. La importancia de éste problema es doble, porque los dibujos de
ingeniería son la forma estándar de comunicación entre los departamentos de diseño y fabricación, por lo que
incorporar a los ordenadores a esa comunicación puede ser muy beneficioso para mejorar el proceso de
diseño/fabricación.
La presente comunicación trata sobre la implementación de un algoritmo eficiente para la reconstrucción del
modelo tridimensional de cuerpos poliédricos a partir de sus proyecciones ortográficas de planta, alzado y perfil
dadas mediante líneas continuas o discontinuas. Dicho algoritmo reduce eficazmente el posible número de
objetos ambiguos y puede reconocer todos los sólidos correctos correspondientes a las proyecciones dadas.
RENDERIZAR IMAGENES
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.
En términos de visualizaciones en una computadora, más específicamente en 3D, la renderización es un proceso de cálculo complejo desarrollado por un ordenador destinado a generar una imagen 2D a partir de una escena 3D. La traducción más fidedigna es interpretación, aunque se suele usar el término inglés. Así podría decirse que en el proceso de renderización la computadora interpreta la escena en tres dimensiones y la plasma en una imagen bidimensional.
La renderización se aplica en la computación gráfica, más comúnmente a la infografía. En infografía este proceso se desarrolla con el fin de imitar un espacio 3D formado porestructuras poligonales, comportamiento de luces, texturas, materiales (agua, madera, metal, plástico, tela, etcétera) y animación, simulando ambientes y estructuras físicas verosímiles. Una de las partes más importantes de los programas dedicados a la infografía son los motores de renderizado, los cuales son capaces de realizar técnicas complejas como radiosidad, raytrace (trazador de rayos), canal alfa, reflexión, refracción o iluminación global.
Cuando se trabaja en un programa de diseño 3D por computadora, normalmente no es posible visualizar en tiempo real el acabado final deseado de una escena 3D compleja ya que esto requiere una potencia de cálculo demasiado elevada, por lo que se opta por crear el entorno 3D con una forma de visualización más simple y técnica y luego generar el lento proceso de renderización para conseguir los resultados finales deseados. El tiempo de render depende en gran medida de los parámetros establecidos en los materiales y luces, así como de la configuración del programa de renderizado.
Normalmente cada aplicación de 3D cuenta con su propio motor de renderizado, pero cabe aclarar que existen plugins que se dedican a hacer el cálculo dentro del programa utilizando fórmulas especiales. En el caso de los videojuegos, normalmente se utilizan imágenes prerendereadas para generar las texturas y así ayudar al procesador de la consola a trabajar en el entorno virtual con mucha más fluidez.
Suscribirse a:
Entradas (Atom)