La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Gráficos y Visualización 3D

Presentaciones similares


Presentación del tema: "Gráficos y Visualización 3D"— Transcripción de la presentación:

1 Gráficos y Visualización 3D
Curvas y Superficies Gráficos y Visualización 3D

2 Presentación Carlos Garre del Olmo carlos.garre@urjc.es
Despacho 2011-C (Ampliación Rectorado) GMRV (Grupo de Modelado y Realidad Virtual)

3 Contenidos del tema 1. Introducción 2. Curvas de Bezier
3. Curvas de Bezier a Trozos 4. B-Splines 5. NURBS 6. Superficies

4 1. Introducción Cuerpos de seres vivos: más curvas que rectas.
Fabricamos objetos a nuestra semejanza: coches, aviones… (aerodinámica). Las curvas son sencillas matemáticamente, y en cambio es muy complicado modelarlas mediante polígonos (triángulos).

5 La tetera de Utah GLUT (OpenGL): cubo, esfera, y… ¡tetera!
Martin Newell (1975): Parches de Bezier. Icono del mundo de los gráficos. Importante referencia para evaluar los resultados de un nuevo algoritmo.

6 2. Curvas de Bezier En 1959, de Casteljau (Citroën), idea una formulación matemática para diseñar las formas curvas de los coches. Posteriormente (1966), Bezier (Renault) llega a las mismas conclusiones, pero partiendo de otro desarrollo matemático. Bezier fue el que publicó sus resultados.

7 2.1. Curvas de Bezier: Idea intuitiva
Se definen por una serie de puntos de control. La curva siempre empieza en el primer punto, y termina en el último. Los puntos intermedios “atraen” hacia si a la curva.

8 2.1. Curvas de Bezier: Lineales (Grado 1)
Sólo dos puntos de control (P0 y P1). Son líneas rectas. Podemos recorrer la curva con un parámetro t є [0,1] que recorre la recta de P0 a P1. Animación sacada de Wikipedia

9 2.1. Curvas de Bezier: Cuadráticas (Grado 2)
Tres puntos de control (P0, P1 y P2). Se construyen dos curvas lineales de Bezier entre P0-P1 y P1-P2. Se construye una tercera curva lineal de Bezier entre las dos anteriores. El t que recorre esta tercera recta, forma nuestra curva. Animación sacada de Wikipedia

10 2.1. Curvas de Bezier: Cúbicas (Grado 3)
Cuatro puntos de control (P0, P1, P2 y P3). Son las más utilizadas. Se aplica el mismo principio de inducción, partiendo inicialmente de tres curvas de Bezier lineales. Asi se pueden generar curvas de cualquier grado. Grado 3 Grado 4 Animación sacada de Wikipedia

11 2.2. Curvas de Bezier: Formulación de De Casteljau
Primera columna: puntos de control. Segunda columna: curvas lineales. Tercera columna: Curva de Bezier de grado 2. Es una forma recursiva de construir las curvas. Caso general: los tiempos t son diferentes en cada columna: Teoría de Blossoms.

12 2.3. Curvas de Bezier: Formulación con polinomios de Bernstein
Una curva de Bezier de grado N responde a esta fórmula: Donde Pi son los puntos de control, y Bi,n los llamados Polinomios de Bernstein. Al evaluar cada polinomio de Bernstein en el tiempo t, el resultado es un escalar, que se aplica como un peso a cada punto de control. Expresión de los polinomios de Bernstein: Ejercicio en la pizarra

13 2.4. Curvas de Bezier: Propiedades (I)
Sólo interpolan en los puntos de control inicial y final. La curva no escapa de la envolvente convexa.

14 2.4. Curvas de Bezier: Propiedades (II)
Invarianza afín: Puedo aplicar transformaciones afines sin tener que recalcular todo. La curva de Bezier con N+1 puntos de control es un polinomio de grado N. La modificación de un punto de control afecta a toda la curva (la curva es una suma ponderada de los puntos de control). Las curvas sólo pueden ser enteramente rectas o enteramente curvas.

15 2.5. ¿Qué se puede hacer con Curvas de Bezier?

16 2.6. Subdivisión de Curvas de Bezier
En la práctica, las curvas de Bezier no se pintan, sino que se aproximan mediante segmentos (o triángulos, si estamos en 3D). Para ello necesitamos ir dividiendo la curva en curvas más pequeñas, hasta que tengamos una composición de curvas muy pequeñas, cada una de las cuales se puede aproximar por un segmento.

17 3. Curvas de Bezier a Trozos
Normalmente no se usan curvas de Bezier de grado > 3. Para generar figuras más complejas, se pueden unir varias curvas de grado pequeño, obteniendo una curva formada por trozos.

18 3.1. Bezier a Trozos: Continuidad
Es fundamental controlar cómo queremos que se unan nuestros trozos. Continuidad C0: nos basta con que el último punto de control de una curva Si sea igual al primer punto de control de la siguiente curva Si+1. Genera uniones bruscas y con picos. Continuidad C1: en este caso no sólo deben coincidir los puntos de los extremos, sino también sus derivadas laterales. Genera uniones suaves. Continuidad G1: en este caso no es estrictamente necesario que las derivadas coincidan, sino sólo que sean proporcionales. Menos restrictivo que C1, y en muchos casos suficiente. Continuidad C2: deben coincidir también las derivadas segundas. A veces es deseable en 3D. Se verá más claro con ejemplos

19 3.1. Bezier a Trozos: Continuidad C0

20 3.1. Bezier a Trozos: Continuidad C1
Gráficamente, además de coincidir el extremo de ambas curvas (Pi), este extremo y los dos puntos adyacentes (Pi-1 y Pi+1) deben estar en la misma recta. Además, se cumple: Distancia (Pi-1, Pi) = Distancia (Pi, Pi+1)

21 3.1. Bezier a Trozos: Continuidad G1
Además de coincidir el extremo de ambas curvas (Pi), este extremo y los dos puntos adyacentes (Pi-1 y Pi+1) deben estar en la misma recta (igual que en C1). No es necesario que las distancias sean iguales.

22 3.2. Curvas de Bezier a Trozos: Propiedades
Envolvente convexa fuerte: seguimos teniendo la curva confinada. Control local: al mover un punto modificamos sólo una curva (o a lo sumo dos, si se trata de un punto de unión); esto no ocurría en Bezier simple. Se pueden combinar curvas y rectas en una única figura contínua. Podemos modelar figuras muy complejas.

23 4. B-Splines 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.

24 4.1. B-Splines: Formulación
Similar a Bezier: Aquí en lugar de polinomios de Bernstein tenemos Funciones de Base. Diferentes configuraciones de nodos nos dan diferentes propiedades (nodos uniformes, nodos clamped, …). El grado (k) de las funciones de base define la precisión y suavidad de la curva. Grado 0 Grado 1 Grado 2

25 5. Curvas racionales (NURBS)
NURBS = Non Uniform Rational B-Splines. Caso más general: los B-Splines y las curvas de Bezier son casos particulares de NURBS. No son simples polinomios, sino cocientes de polinomios.

26 6. Superficies ¡Entramos en las 3 Dimensiones! Ejemplo:
generamos una curva en 2D en el plano XY, y la desplazamos a lo largo de otra curva en el plano YZ. Caso más general: curva NURBS moviéndose a lo largo de otra curva NURBS.

27 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.


Descargar ppt "Gráficos y Visualización 3D"

Presentaciones similares


Anuncios Google