Anda di halaman 1dari 30

Computación Gráfica y Visual

http://aulavirtual.sistemas.unmsm.edu.pe/

Representación de Curvas
y Superficies
Mg. Johnny R. Avendaño Q.
e-mail: javendanoq@unmsm.edu.pe
Departamento Académico de Ciencias de la Computación
Facultad de Ingeniería de Sistemas e Informática
Universidad Nacional Mayor de San Marcos
Representación de Curvas y Superficies

Objetivos:

q  ¿Como modelar o representar los


diversos objetos reales?
q  El problema: no existe un modelo
matemático del objeto
q  Solución:
Aproximación por trozos o pedazos:
planos, esferas, otras primitivas.
q  Se propone que los puntos del modelo
no sean parte del objeto, pero que
permitan controlar la forma.

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Representación de curvas

q  Existen tres formas de representar los


Superficies cuádricas
objetos:
q  Explícito: y=f(x)
q  Implícito: f(x,y)=0
q  Paramétrico:

(x(t),y(t))

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Representación implícita

q  Superficie algebraica:
q  8x2 - xy2 + xz2 + y2 + z2 - 8 = 0 Singularidades

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Representación parámetrica

q  Mejor manipulación de la estructura


alámbrica.
q  Representación matemática precisa y bien
estudiada.
q  Forma general:
q  f(u,v) = ( x(u,v), y(u,v), z(u,v) )

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Curvas parametrizadas
P’( t)
q  Consideraremos una curva P(t)
parametrizada (normalizada) en el
intervalo [0,1].
P( t)
q  Esta se realiza en cada componente: P(1)
P(t)=(x(t),y(t),z(t))
q  El vector tangente a la curva P(t) en un
punto (sobre ella) es obtenida por P’(t):
P(0)
P’(t)=(x’(t),y’(t),z’(t))
q  La parametrización a considerar será el
de un polinomio en la variable t con
características apropiadas:
q  Suavidad, continuidad hasta la segunda
derivada.
q  Flexibilidad para controlar la forma de la
curva.
0 t 1
q  Fácil manipulación. Mg. Johnny R. Avendaño Q.
Representación de Curvas y Superficies

Estudiaremos:

q  Curva de Hermite.
q  Curva de Bézier.
q  Curva Spline, Bspline, Catmull-Rom.
q  Curvas Nurbs (Non Uniform Rational
Basis).
q  Haremos las extensiones respectivas
para el caso de superficies,

Aplicación (Bezier)

Simulador de conducción de
carreras (B.Spline)
Algor (B.Spline) Mg. Johnny R. Avendaño Q.
Representación de Curvas y Superficies

Hermite (1822-1901)

q  Se necesita 4 elementos: T2
P2
q  P1 y P2, puntos extremos e la curva.

q  T1 y T2, tangentes a la curva en los


puntos extremos.
q  Usualmente se les denomina de factores de P1
control (de la curva).
T1
q  Estos datos permiten un mayor control de la
curva, implícitamente el módulo de los
vectores tangentes permite cambiar la
forma de la curva.
q  Se puede construir curvas suaves y que
tomen formas bruscas.

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

formulación

q  Cada componente de la curva es parametrizada


por un polinomio:
q  P(t) = (x(t),y(t),z(t)) T2
q  x(t) = axt3 +bxt2 + cxt + dx P2
q  y(t) = ayt3 +byt2 + cyt + dy
P=(x,y,z)
q  z(t) = azt3 +bzt2 + czt + dz
q  Se considera una base de polinomios:
q  {t3 ,t2 ,t ,1}.
q  Se determinan los coeficientes, para finalmente P1
representar la curva de manera compacta:
q  P(t) = TH(t) H Gh , t en [0,1] T1
q  Obs: TH H = (2t3-3t2+1,-2t3+t2, t3-2t3+t, t3-t2)
q  H: matriz de coeficientes.
q  Gh: condiciones geométricas.

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Bézier (1822-1901)

q  Desarrollado en los años 60 por Pierre


Bézier, para el diseño de automóviles e
implementado en los programas CAD.
q  También en diseño de fuentes tipográficas y
generación de curvas en las impresoras
PostScript.
q  Se las observa en múltiples programas de
diseño gráfico como Corel Draw.
q  Simplicidad en cuanto a formulación.
q  Se puede construir (como mínimo) con tres
puntos de control:
q  P0, P1 y P2.

q  Los puntos extremos pertenecen a la http://acg.cs.tau.ac.il/projects/internal-


projects/arrangements-of-bezier-curves
curva.
q  Se puede formular de forma similar a la
curva de Hermite. Mg. Johnny R. Avendaño Q.
Representación de Curvas y Superficies

Formulación(3 puntos)

q  Se presenta como:
q  P ( t ) = B2,0( t ) P0+ B2,1( t ) P1
+B2,2(t)P2
q  B2,0(t) = (1-t)2
q  B2,1(t) = 2t(1-t)
q  B2,2(t) = t2
q  Matricialmente:
q  P(t) = TB MB Gb
q  Para el caso de cuatro puntos es
análogo.
q  En general se escribe como:

Bn,i (u) = i!( nn−! i )! u i (1 − u) n−i

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Continuidad en la unión de curvas

q  Continuidad geométrica:
q  El punto P final de una curva C1
coincide con el punto inicial de la otra
curva C2. C1
q  Las direcciones de los vectores
tangentes u y w en cada punto de
unión deben tener la misma dirección. P

C2
w
u

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Continuidad entre curvas

q  G0: Continuidad Geométrica de orden 0. Las


curvas se unen en un punto P.
q  G1: Continuidad Geométrica de orden 1. La
dirección de los vectores tangente son iguales C1
en el punto P.
q  C1: Continuidad Paramétrica de orden 1. La
dirección de los vectores tangente son iguales P
en P, además de tener el mismo módulo.
q  Gn: Las derivadas de orden n, de los vectores C2
tangentes tienen la misma dirección.
w
q  Cn: Además de cumplir la condición de Gn, los u
módulos deben ser iguales.

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Construcción de las curvas de Bézier

q  Dado n+1 puntos P 0 ,P 1 ,...,P n de


control, la curva de Bézier se define
como: n
P (u ) = ∑ Bn ,i (u ) Pi
i =0

q  Donde los coeficientes de Bézier son


definidos como:
Bn,i (u) = i!( nn−! i )! u i (1 − u) n−i
q  Además:
Pi = ( xi , yi , zi )

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Propiedades de la curva de Bézier

q  El grado de la curva P(u) de Bézier construido con n+1


puntos de control es igual a n.
q  P(u) va desde P0 hasta Pn, es decir, solamente desde el
primer punto de control hasta el último.
q  Todos los coeficientes de Bézier son no negativos.
q  Los coeficientes de Bézier cumplen la propiedad de la
Partición de la Unidad, es decir:

∑B
i =0
n ,i (u ) = 1 , para todo u

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Propiedades de la curva de Bézier

q  Se puede incrementar el grado de la curva de Bézier, es decir


mayor cantidad de puntos de control, pero esto no quiere
decir que la curva sea la óptima. En otras palabras, con un
número suficientemente pequeño se puede obtener la curva
deseada.
q  Esto es similar cuando se hace la subdivisión de la curva, las
propiedades no se alteran.

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Propiedades de la curva de Bézier

q  P(u) está definida en el intervalo [0,1].


q  Propiedad de la Cápsula Convexa: la curva de Bézier está
contenida en el mayor polígono convexo construido con los
puntos de control Pi.

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Moviendo los puntos de control

q  Al mover los puntos de control, la


forma de la curva cambia de manera
global, es decir, si movemos sólo un
punto de control, esta afectará a toda
la curva.
q  Si movemos un punto de control
verticalmente, entonces todos los
puntos sobre la curva se desplazan
verticalmente.

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Algoritmo de Casteljau

q  La construcción del algoritmo de


Casteljau está basada
construcción geométrica usando
una regla métrica.
q  El concepto fundamental está
basado en la elección de un punto
C en el segmento AB.

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Forma recursiva

q  Relación de recurrencia (similar a la serie de Fibonacci):

⎧i = 1,2,!, n
Pi , j = (1 − u ) Pi −1, j + u Pi −1, j +1 = ⎨
⎩ j = 0,1,!, n − 1
function deCasteljau(i,j)
begin
if i = 0 then
return P0,j
else
return (1-u)* deCasteljau(i-1,j) +u*deCasteljau(i-1,j+1)
end

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

B-Splines (J. Schoenberg )

q  Un Spline (regla de acero flexible) es una


herramienta de diseño de curvas:
q  Técnica de interpolación.

q  Polinomio cúbico suave.

q  Vienen implementadas en herramientas de


modelado 3D como Blender, Rhino, etc.
q  Un B-Spline es una combinación paramétrica de
splines básicos:
n
P(t ) = ∑ N i ,n (t ) Pi
i =0
Blender
⎧1 , ti ≤ t ≤ ti +1
N i , 0 (t ) = ⎨
⎩0 , demás casos
t − ti t −t
N i ,k (t ) = N i ,k −1 (t ) + i + k +1 N i +1,k −1 (t )
ti +1 − ti ti + k +1 − ti +1
Mg. Johnny R. Avendaño Q.
Representación de Curvas y Superficies

Propiedades

q  Ni,k(t) posee grado igual k.


q  L a s f u n c i o n e s Ni,k( t ) s o n n o
negativas.
q  Tienen soporte compacto.
q  Se cumple la relación m=n+k+1, si se
tienes m+1 puntos de control, k es el
grado del la función base y n+1
funciones bases.
q  La curva B-Spline queda contenida
en la capsula convexa.
q  Algoritmos como Graham, fuerza
bruta entre otros. (uso de
argumentos de convexidad).

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

q  Una modificación de algunos puntos de


control sólo afectan a una región circundante
de ellas.
q  Las curvas de Bézier son casos especiales
de una curva B-Spline.
q  Toda la curva es invariante bajo
transformaciones geométricas (invariancia
afín).

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Curva Splines del tipo Catmull-Rom

q  Curva de interpolación: pasa a


través de todos los puntos de ⎡− 1 3 − 3 1 ⎤ ⎡ P0 ⎤
control. ⎢ 2 − 5 4 − 1⎥ ⎢ P ⎥
q  Fue desarrollada para ser aplicada
1 3 2
Q(t ) = 2 [t , t , t ,1]⎢ ⎥⎢ 1 ⎥
⎢− 1 0 1 0 ⎥ ⎢ P2 ⎥
en computación gráfica. ⎢ ⎥⎢ ⎥
q  Se necesita conocer previamente ⎣ 0 2 0 0 ⎦ ⎣ P3 ⎦
dos puntos de control sobre la
curva para obtener otro entre ellas.
q  Representación (cuatro puntos):
q  Q(t)=TcMcGc Punto deseado

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

q  La curva es de clase C1, es


decir, no existe discontinuidad Pi+1
en las tangentes.
q  El vector v tangente en Pi
siempre es paralelo a la
secante que une los puntos
Pi-1 y Pi+1.
q  La curva no necesariamente Pi
está contenida en la
envolvente convexa (convex
Pi-1
hull).

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Ejemplo de uso de un Spline (Catmull Rom) con OpenGL

No se han usado efectos


realistas basados en la
física, por lo que la
velocidad puede parecer
poco realista.

http://www.youtube.com/watch?v=WwLWwaMrIYM

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Curvas racionales: NURBS

q  NURBS (Non Uniform Rational B-


Splines): modelo matemático muy
utilizado en la computación gráfica para
generar y representar curvas y
superficies.
q  El desarrollo de NURBS empezó en 1950
por ingenieros que necesitaban la
representación matemática exacta de
superficies de forma libre como las
usadas en carrocerías de automóviles y
cascos de barcos, que pudieran ser
reproducidos exacta y técnicamente en
cualquier momento.
q  Las anteriores representaciones de este
tipo de diseños sólo podían hacerse con
modelos físicos o maquetas realizadas
por el diseñador o ingeniero. Mg. Johnny R. Avendaño Q.
Representación de Curvas y Superficies

q  Las NURBS, B-splines, son representaciones


matemáticas de geometría en 3D capaces de
describir cualquier forma con precisión, desde
simples objetos hasta los más complejos sólidos
o superficies de forma libre en 3D.
q  Gracias a su flexibilidad y precisión, se pueden
utilizar modelos NURBS en cualquier proceso,
desde la ilustración y animación hasta la
fabricación.
q  La geometría NURBS tiene cualidades
esenciales que la convierten en la opción ideal
para el modelado asistido por computadora.
q  Las NURBS pueden representar con precisión
objetos geométricos estándar tales como líneas,
círculos, elipses, esferas y toroides, así como
formas geométricas libres como carrocerías de
coches y cuerpos humanos. Mg. Johnny R. Avendaño Q.
Representación de Curvas y Superficies

q  La cantidad de información,
q u e r e q u i e r e l a
representación de una
forma geométrica en
NURBS es muy inferior a la
que necesitan por separado
las aproximaciones
comunes.
q  Las curvas y superficies
NURBS se comportan de
maneras similares y
comparten mucha
terminología.
Rhino 3D Modeling:
https://www.youtube.com/watch?
v=4pWmhXEbmIU

Mg. Johnny R. Avendaño Q.


Representación de Curvas y Superficies

Referencias

q  Shene C.K. Introduction to Computing with Geometry Notes. Department


of Computer Science. Michigan Technological University 1997.
q  Foley, Van Dam, Feiner, Hughes. Computer Graphics: Principles and
Practice, second edition in C. Addison Wesley Publishing Company 1996.
q  Hoschek, Lasser. Fundamentals of Computer Aid Geometric Design. A.K.
Peters Wellesley Massachusetts 1993.
q  Pinto Carvalho P. Introdução à Geometria Computacional. IMCA 2000.
q  http://es.wikipedia.org/wiki/NURBS
q  Animación usando Blender y Nurbs:
q  http://www.youtube.com/watch?v=B5zuvZq0y5g
q  Animación usando OpenGL y una curva del tipo Catmull-Rom: http://
www.youtube.com/watch?v=WwLWwaMrIYM&translated=1

Mg. Johnny R. Avendaño Q.

Anda mungkin juga menyukai