Generación jerárquica de puntos, curvas d-offset y ploteo de curvatura asociados a un A-spline

Texto completo

(1)

UNIVERSIDAD DE LA HABANA

Generaci´ on jer´ arquica de puntos, curvas d-offset y ploteo de

curvatura asociados a un A-spline c´ ubico

TESIS

presentada en opci´on al grado de

Master en Ciencias Matem´aticas

Autor: Lic. Wilfredo Morales Lezca

Tutores: Dr. Jorge Estrada Sarlabous, ICIMAF, Cuba.

Dra. Sof´ıa Behar Jequ´ın, UH, Cuba.

La HABANA 2012

(2)

En este trabajo se presenta un conjunto de algoritmos para la soluci´on, usando curvas A-spline c´ubicas, de nuevos e importantes problemas de Dise˜no Geom´etri- co Asistido por Computadoras (CAGD en ingl´es). A partir de tales algoritmos se generan, de modo jer´arquico, puntos sobre estas curvas lo cual permite obtener, de forma a´un m´as eficiente que en [Est05] y [Beh09], aproximaciones de los gr´aficos de la propia curva A-spline, de su ploteo de curvatura y de las curvas d-offset del A-spline.

Los resultados de este trabajo encuentran aplicaci´on en el dise˜no libre de curvas generatrices de superficies de revoluci´on, la obtenci´on de datos para el c´alculo es- tructural de tales superficies, el suavizamiento de poligonales, el ajuste de contornos de im´agenes digitalizadas y el dise˜no de trayectorias con restricciones.

Palabras claves: A-spline c´ubico, blossom, curva d-offset, quadtree, ploteo de curvatura, fairness.

(3)

Indice general

Introducci´on 1

1 Preliminares 6

1.1 Curvas algebraicas planas. Generalidades . . . . 6

1.2 Normal y tangente a la curva en un punto . . . . 8

1.3 A-splines. Continuidad geom´etrica . . . 10

1.4 Coordenadas afines y baric´entricas en R2 . . . 12

1.5 Expresi´on de la curva en coordenadas baric´entricas . . . 14

1.6 Curvas en el interior de un tri´angulo . . . 15

1.7 Curvatura de una c´ubica . . . 17

1.8 Algunos resultados relativos a curvas de Bezier . . . 18

1.9 Algunos resultados relativos a los tri´angulos de Bezier . . . 21

1.9.1 Algoritmo de Casteljau . . . 21

1.9.2 Blossoms triangulares . . . 23

1.9.3 Polinomios de Bernstein . . . 24

1.9.4 Subdivisi´on . . . 25

2 Generaci´on jer´arquica de puntos sobre un A-spline c´ubico G2-continuo 28 2.1 Introducci´on . . . 28

2.2 Planteamiento del problema . . . 29

2.3 Generaci´on jer´arquica de un punto intermedio sobre la curva . . . 32

2.4 alculo del valor de la curvatura en el nuevo punto . . . 36

2.5 Generaci´on jer´arquica de puntos sobre las curvas d-offset . . . 41

2.6 Aplicaci´on del A-spline al ajuste y suavizamiento de curvas . . . 42

2.6.1 Ajuste de un A-spline c´ubico G2-continuo para datos de con- torno de im´agenes digitalizadas . . . 43

2.7 Estudio del fairness . . . 49

Conclusiones 52

Recomendaciones 53

(4)
(5)

Con el objetivo de preparar al lector para una mejor comprensi´on de este trabajo, se presentan a continuaci´on algunas definiciones importantes y se describe el “estado del arte”del tema.

Las curvas algebraicas fueron consideradas ya desde el Renacimiento, per´ıodo tras el cual, mediante nuevos contenidos y m´etodos, se enriquecieron te´oricamente. Su origen y generaci´on tienen sus causas en el desarrollo de problemas matem´aticos hist´oricamente importantes y en numerosas aplicaciones de las mismas en campos tan dis´ımiles como la perspectiva, la ´optica, la astronom´ıa, la arquitectura, la ci- nem´atica, la mec´anica y la tecnolog´ıa. Tales curvas pueden ser representadas de forma impl´ıcita y, en algunas ocasiones, tambi´en de forma racional param´etrica. A inicios de la d´ecada del 60 surge una nueva disciplina: el Dise˜no Geom´etrico Asisti- do por Computadoras, m´as conocido en la literatura por sus siglas en ingl´es CAGD (Computer Aided Geometric Design), como fruto de la uni´on de la Geometr´ıa y la Computaci´on y, a partir de los trabajos de P. Bezier y P. de Casteljau. Dado que el objetivo fundamental de esta disciplina es la automatizaci´on del proceso de dise˜no de objetos, fue preciso desarrollar numerosos y variados algoritmos que permitieran el uso eficiente de las curvas y superficies.

Las curvas y superficies que hasta hoy se utilizan m´as com´unmente para resolver problemas de CAGD o modelaci´on geom´etrica son las parametrizadas racionalmente.

Esto es debido a que son de f´acil graficaci´on (para obtener un conjunto de puntos sobre ellas basta con evaluar en una cantidad finita de valores del par´ametro). Otra ventaja importante es que pueden ser representadas en t´erminos de un pol´ıgono o malla de control, lo que permite manipular f´acilmente su geometr´ıa [Far97].

En particular, en modelaci´on geom´etrica, es frecuente emplear las curvas para des- cribir escenas bidimensionales.La herramienta fundamental para el dise˜no de una escena es el spline. Por lo general una escena consta de varios splines y cada spline consiste, a su vez, de una sucesi´on de segmentos o secciones de curvas conectadas por sus extremos, los cuales reciben el nombre de nodos del spline. Usualmente se requiere que haya alg´un grado de continuidad geom´etrica en los nodos, ya sea la variaci´on continua de la recta tangente o de la curvatura.

(6)

Generalmente, se hace depender cada secci´on del spline de varios par´ametros y las condiciones de continuidad geom´etrica se garantizan ajustando esos par´ametros.

En muchas ocasiones este proceso de ajuste no determina un´ıvocamente los par´ame- tros lo que permite modificar la secci´on dada, manteniendo intactas las condiciones de continuidad geom´etrica con todas las secciones adyacentes. De hecho es usual construir cada una de las secciones precisamente de este modo. Con ello se logra control local, es decir, se logra la posibilidad de modificar cualquier segmento del spline, reduciendo al m´ınimo los cambios en el resto del spline.

La gran popularidad de las curvas spline se debe al hecho de que sus propiedades las hacen ideales para atacar problemas muy variados en diversas ´areas de la Matem´atica con aplicaciones en otras ciencias y en la t´ecnica. Por otro lado, su c´alculo es muy sencillo y econ´omico, siendo adem´as la teor´ıa matem´atica en que se basan simple y a la vez, elegante.

Sin embargo, a pesar de todas estas bondades, el uso de las curvas algebraicas definidas impl´ıcitamente en la soluci´on de problemas de CAGD no comenz´o has- ta mediados de la d´ecada del 80. Dentro de ´estas son de especial importancia las bautizadas por Chandrajit Bajaj con el nombre de curvas A-spline o splines algebraicos, que no son m´as que curvas definidas por tramos donde cada secci´on es una curva algebraica definida impl´ıcitamente.

Puesto que hay dos tipos de curvas: param´etricas e impl´ıcitas, un spline puede cons- truirse con curvas de uno u otro tipo. Los splines consistentes de curvas param´etricas han sido estudiados sistem´aticamente a lo largo de los ´ultimos treinta a˜nos, (espe- cialmente en el caso de parametrizaciones racionales y polinomiales (ver [Boor78], [Boehm84]). Por su parte, los splines formados por segmentos de curvas dadas por ecuaciones impl´ıcitas hab´ıan recibido poca atenci´on en la literatura. De hecho, la mayor´ıa de los sistemas de CAGD existentes emplean curvas y/o superficies para- metrizadas racionalmente.

No es hasta 1985 que Sederberg ([Sed85]) inicia el estudio de los A-splines, los que resultan ser una herramienta muy atractiva en modelaci´on geom´etrica, pues no se requieren c´alculos vinculados con cambios de parametrizaci´on. A partir de entonces comenzaron a aparecer una gran cantidad de trabajos de Chandrajit Ba- jaj, ([Baj92], [Baj94], [Baj99a], [Baj99b]), as´ı como de Richard Patterson y Marcos Paluzny ([Pal93], [Pal94], [Pal98], [Pal99]), que utilizan tales curvas para el dise˜no gr´afico, la soluci´on num´erica de ecuaciones diferenciales, la interpolaci´on y suaviza- miento de datos, el ajuste de contornos, etc.

Todos estos trabajos se basan en las m´ultiples ventajas que tiene la representaci´on

(7)

la de las curvas parametrizadas racionalmente. La clase de las curvas algebraicas definidas impl´ıcitamente es cerrada bajo ciertas operaciones muy usadas en los sistemas de dise˜no geom´etrico tales como la uni´on, la intersecci´on, la diferencia, el c´alculo del d-offset (los puntos que se encuentran a una distancia (euclideana) prefijada), etc. Por su parte, la subclase de las curvas racionales param´etricas no es cerrada respecto a ninguna de estas operaciones. Para un grado n fijo, las cur- vas algebraicas definidas impl´ıcitamente tienen mayor cantidad de par´ametros libres que las racionales param´etricas del mismo grado.

En la pr´actica los par´ametros libres adicionales que se obtienen al emplear la re- presentaci´on impl´ıcita se pueden utilizar para imponer condiciones extra de inter- polaci´on o restricciones geom´etricas; aproximar una curva complicada con el menor umero de par´ametros; lograr un mejor ajuste de los datos, garantizar un mayor or- den de suavidad, por ejemplo, para interpolaci´on local las curvas algebraicas impl´ıci- tas tienen potencial para lograr Ck-continuidad con k ≤ [n(n+3)4 − 1] (una funci´on es Ck-continua si es k veces continuamente diferenciable), mientras que las curvas param´etricas o funcionales pueden lograr Ck0-continuidad con k0 = n − 1.

Usando la representaci´on impl´ıcita es muy f´acil resolver el problema de determinar si un punto dado se encuentra o no sobre una curva o superficie y, en caso de no estar, determinar entonces de qu´e lado de la curva se encuentra. Otro problema similar es el de determinar los puntos sobre la curva m´as cercanos a un punto dado en el plano y calcular la distancia entre ellos. La soluci´on de ambos problemas usando la representaci´on param´etrica es mucho m´as costosa, requiriendo adem´as de una f´ormula de inversi´on. Por otra parte el c´alculo de la curva que resulta de la intersecci´on entre dos superficies definidas de forma param´etrica resulta m´as sencillo si una de ellas se reescribe mediante su ecuaci´on impl´ıcita. Este proceso se conoce como implicitaci´on de la curva. Para m´as detalles sobre los procesos de implicitaci´on e inversi´on se puede consultar [Sed84].

A pesar de todas las bondades de ´estas curvas anteriormente descritas, su uso no se extendi´o hasta hace muy poco. La raz´on fundamental para ello estuvo en que tales curvas pueden tener singularidades reales, [Walk78], y m´as de una rama en la regi´on de inter´es. Recientemente se han obtenido criterios suficientes [Baj99a] que permiten garantizar cu´ando esto no sucede, a partir de determinadas condiciones que deben satisfacer los coeficientes de la curva (expresada en su forma de Bernstein-Bezier), que pueden ser verificadas sin mucha dificultad. De este modo, tales curvas A-spline de grado peque˜no, escritas en su forma de Bernstein-Bezier, aportan ahora una forma mucho m´as directa e intuitiva de asas para imponer condiciones de interpolaci´on y controlar la geometr´ıa de cada arco de la curva A-spline.

(8)

mos eficientes para su graficaci´on. Inicialmente, por ejemplo, para graficar curvas algebraicas c´ubicas se propusieron algoritmos que introduc´ıan parametrizaciones no racionales [Pat88] y que, en consecuencia, eran costosos. M´as adelante aparecieron otros m´etodos que calculaban los puntos sobre una curva algebraica definida impl´ıci- tamente por la ecuaci´on f (x, y) = 0, como las soluciones de tal ecuaci´on polinomial.

Tales algoritmos fallaban con frecuencia ante la presencia de puntos singulares o ramas de las curvas muy pr´oximas entre s´ı, [Chan88]. No obstante, ya en este mo- mento es posible, gracias a los resultados de [Pat88], [Tau94] y [Est05], implementar apida y eficientemente la graficaci´on de estas curvas a partir de la existencia de algoritmos eficientes y robustos.

El objetivo central de este trabajo de Tesis es:

Encontrar un nuevo algoritmo para generar puntos sobre la curva A- spline de forma jer´arquica que permita generar, de forma eficiente, una sucesi´on de aproximaciones lineales a la curva A-spline, al gr´afico de su ploteo de curvatura y a la curva d-offset del A-spline, as´ı como re- solver importantes problemas de CAGD de modo m´as eficiente que los propuestas por otros autores en este contexto.

La estructura del cuerpo de la Tesis es la siguiente:

• Un primer cap´ıtulo que, en esencia, no es m´as que una introducci´on a la teor´ıa preliminar necesaria para la comprensi´on de este trabajo. Puesto que en [Beh98], [Her01b], [Beh05] y [Beh09], ya existe un resumen muy riguroso y preciso de una parte de los resultados que aqu´ı se muestran, muchos de ´estos se han tomado de forma muy similar a los all´ı presentados.

• Un segundo cap´ıtulo en el que se plantea el problema a resolver y se da soluci´on al mismo. Se construye en ´el un A-spline c´ubico como en [Beh09], que permite:

– la interpolaci´on de puntos con vectores tangentes prescritos y valores de curvatura asociados a ellos,

– la suavidad ( G2-continuidad ),

– la existencia de asas geom´etricas que brindan un control muy directo e intuitivo de la geometr´ıa de la curva a partir de los par´ametros libres presentes en ellas,

– el control o acotaci´on del error ( ε-controlabilidad ),

(9)

– la flexibilidad para permitir cambiar los datos de entrada y consecuente- mente actualizar la curva A-spline,

– su r´apida graficaci´on de tipo jer´arquico (cuyas ventajas ser´an comen- tadas m´as adelante) y su eficiente evaluaci´on,

– el c´alculo de los valores de curvatura asociados a cada nuevo punto, – el c´alculo de las curvas d-offset (curvas similares a la original trasladada

d unidades).

Con ello se da continuidad a lo desarrollado en [Beh09], cumplimentando las solucio- nes de problemas que hab´ıan quedado pendientes en ese entonces y realizando mejo- ras a la graficaci´on con el nuevo algoritmo aqu´ı desarrollado. Tambi´en se demuestra que estas curvas A-spline con error acotado constituyen herramientas prometedoras y muy potentes en la soluci´on eficaz de algunos importantes problemas de CAGD tales como el suavizamiento de poligonales y el ajuste de contornos de im´agenes digitalizadas.

Los resultados obtenidos en este trabajo han sido implementados en el softwa- re CAGD Environment desarrollado en la tesis de Licenciatura en Ciencias de la Computaci´on presentada este a˜no por el estudiante Javier Moreno Alem´an [Mor12]

y han sido presentados en los eventos cient´ıficos:

• Jornada Cient´ıfica ICIMAF 2012, La Habana, 2012 Cubic A-spline Visualizer:

Una herramienta para la visualizaci´on de curvas A-spline c´ubicas.

• 10thInternational Conference Operation Research, La Habana, 2012 Cubic A- spline Visualizer: Una herramienta para la visualizaci´on de curvas A-spline ubicas.

(10)

Preliminares

En este cap´ıtulo se introduce un conjunto de definiciones b´asicas y resultados pre- liminares relacionados con las curvas algebraicas que ser´an utilizados a lo largo de todo el desarrollo de esta tesis. As´ımismo, se incluyen conceptos relacionados con las superficies param´etricas, cuyas ecuaciones se pueden interpretar como curvas de nivel y, por ende, sus propiedades son igualmente aprovechables a nuestros fines.

1.1 Curvas algebraicas planas. Generalidades

Las curvas algebraicas pueden ser representadas tanto de forma impl´ıcita como de forma racional param´etrica. A continuaci´on se presenta el concepto de curva alge- braica plana, con el fin de analizar las interrelaciones existentes entre ambas repre- sentaciones.

Definici´on 1.1

Una curva algebraica plana de grado n definida impl´ıcitamente es el con- junto

{(x, y) ∈ R2 : f (x, y) = 0}

donde

f (x, y) = X

0<i+j≤n

cijxiyj

es un polinomio de grado n con coeficientes reales cij. Dicha curva es reducible o irreducible en dependencia de que el polinomio lo sea.

Abusando de la notaci´on, es usual referirse a una curva algebraica con el mismo nom- bre del polinomio que define su ecuaci´on impl´ıcita. Ejemplos de curvas algebraicas lo son las c´onicas y c´ubicas, (de grado 2 y 3 respectivamente). Una c´onica reducible

(11)

es la formada por el producto de dos rectas. Las c´ubicas son a´un m´as complicadas que las c´onicas, pues adem´as de ser reducibles o irreducibles, ´estas ´ultimas pueden ser tambi´en singulares o no singulares, a partir de que posean o no puntos de este tipo.

Definici´on 1.2

Se dice que un punto P0 sobre la curva algebraica f (x, y) = 0 es singular si

∇f (P0) = (0,0) (∇ representa el operador gradiente). En otro caso, se dice que P0 es un punto regular. Una curva singular es aquella que posee al menos un punto singular.

Figura 1.1. Curvas algebraicas con puntos singulares

En [Walk78] se demuestra que una curva algebraica de grado n posee a lo sumo

1

2(n − 1)(n − 2) puntos singulares . Una subfamilia muy importante, empleada con frecuencia en la modelaci´on geom´etrica, es la de las curvas algebraicas que poseen una parametrizaci´on racional. En lo adelante, nos referiremos a estas curvas simple- mente como curvas param´etricas.

Definici´on 1.3

Una curva racional param´etrica de grado n es el conjunto



(x, y) ∈ R2 : x = f (t)

h(t), y = g(t) h(t)



donde f, g y h son polinomios de grado n con coeficientes reales, tales que mcd(f (t), g(t), h(t)) = 1

.

Dado que la complejidad de muchos algoritmos depende del grado geom´etrico de la curva con la que trabajan, usualmente es empleado el concepto de grado geom´etrico (muy vinculado al concepto de grado).

(12)

Definici´on 1.4

El grado geom´etrico de una curva plana es el m´aximo n´umero de interseccio- nes entre la curva y una recta arbitraria, contando los puntos de intersecci´on con coordenadas reales o complejas y las intersecciones m´ultiples.

Usando la teor´ıa de eliminaci´on se demuestra que toda curva param´etrica posee una representaci´on impl´ıcita [Sed84]. El rec´ıproco, sin embargo, no es cierto: No toda curva definida impl´ıcitamente puede ser parametrizada racionalmente. Es bien conocido que toda curva algebraica de grado 2 (c´onica no degenerada) posee una parametrizaci´on racional.

Si C es una c´ubica irreducible, en [Brie86] se demuestra que existen s´olo dos po- sibilidades: o bien C no tiene singularidades con lo cual g(C) = 1 (por lo que no tiene parametrizaci´on racional), o C posee un punto singular, de donde se deduce que g(C) = 0 y por tanto C tiene parametrizaci´on racional.

De este modo, se tiene que para n ≥ 3, el conjunto de las curvas algebraicas es estrictamente mayor que el de las curvas con parametrizaci´on racional.

De igual manera, empleando el teorema de Bezout ([Hart77]) se puede garantizar que el grado geom´etrico de una curva plana algebraica coincide con el grado del polinomio f que define su ecuaci´on impl´ıcita.

Teorema 1.1

Si dos curvas de grado n y m respectivamente, no poseen una componente com´un, entonces se intersecan (contando multiplicidad) en a lo sumo mn puntos.

El n´umero total de intersecciones a mn se alcanza cuando se cuentan los puntos de la curva al infinito as´ı como aquellos puntos sobre sobre la curva cuyas coordenadas est´an en la clausura algebraica del cuerpo de definici´on de la curva.

1.2 Normal y tangente a la curva en un punto

Para los puntos regulares de una curva se define el vector normal a la curva en ese punto.

Definici´on 1.5

Sea P0 = (x0, y0) un punto sobre la curva algebraica f (x, y) = 0. El vector normal o simplemente la normal a la curva en el punto P0 es el vector

∇f (x, y)(P0) k∇f (x, y)(P0)k.

(13)

Si la curva algebraica est´a dada en forma param´etrica x = x(t); y = y(t) entonces la normal a la curva en el punto P0 = (x(t0), y(t0)) es el vector

(− ˙y(t0), ˙x(t0)) k( ˙x(t0), ˙y(t0))k.

Una vez vista la definici´on de la normal a la curva en un punto dado, es posible definir la recta tangente a la curva en dicho punto.

Definici´on 1.6

Sea P0 un punto sobre la curva algebraica f (x, y) = 0 y n0 la normal a la curva en P0. La recta tangente a la curva en el punto P0 es la recta que pasa por P0 con direcci´on perpendicular a n0.

Si n0 = (nx0, ny0) es la normal a la curva f en el punto P0 = (x0, y0), entonces la recta tangente a f en P0 tiene por ecuaci´on impl´ıcita a

nx0(x − x0) + ny0(y − y0) = 0.

Esta recta tambi´en se puede escribir param´etricamente en la forma x(t) = x0− tny0

y(t) = y0+ tnx0.

Debe tenerse en cuenta que el vector normal n0 a una curva en un punto P0 y, en consecuencia la recta tangente en ese punto, est´an un´ıvocamente definidos siempre y cuando n0 no sea el vector nulo, es decir siempre que P0 no sea un punto singular de la curva.

Dado un punto (x0, y0) tal que f (x0, y0) = 0, la recta tangente a la curva algebraica en (x0, y0) la interseca con multiplicidad mayor o igual que dos. En efecto, si se considera la intersecci´on de la curva con la recta tangente a la curva en P0 = (x0, y0), el polinomio H(t) (que representa a la curva) satisface H(0) = 0 y H0(0) = 0. Si adem´as H00(0) = 0 y H0(t) cambia de signo alrededor de t = 0, se dice que (x0, y0) es un punto de inflexi´on.

La noci´on de punto de inflexi´on de una curva algebraica f (x, y) = 0 est´a relacionada con la de curvatura en un punto. Esta ´ultima viene dada por la f´ormula

κ =

fyyfx2− 2fxfyfxy + fxxfy2 (fx2+ fy2)32

, (1.1)

donde todas las derivadas se eval´uan en el punto (x0, y0). La demostraci´on puede ser consultada en [Cou74] y en [Gol05].

(14)

Siendo (x0, y0) un punto de la curva,

H(t) = f ((x0, y0) + t(−fy, fx)), se tiene entonces que

H00(0) = fxxfy2− 2fxfyfxy + fyyfx2,

donde todas las derivadas parciales est´an calculadas en (x0, y0). De aqu´ı que (x0, y0) es un punto de inflexi´on si y s´olo si la curvatura en ese punto es cero.

1.3 A-splines. Continuidad geom´etrica

En los ep´ıgrafes siguientes se da soluci´on a varios problemas de modelaci´on geom´etri- ca empleando curvas definidas por pedazos, donde cada tramo es una curva alge- braica. Ello conduce a la siguiente definici´on:

Definici´on 1.7

Una curva A-spline de grado n es una curva continua, definida por tramos, donde cada secci´on es una curva algebraica de grado n. Los puntos donde se unen dos tramos consecutivos del A-spline se llaman nodos o puntos de ruptura.

En la soluci´on de m´ultiples problemas de modelaci´on (y muy en particular de los que ser´an abordados en este trabajo en cap´ıtulos posteriores), no basta con la continui- dad de estas curvas. La “suavidad” de las mismas resulta ser tambi´en una exigencia est´andar.

Cuando se trabaja con curvas funcionales o param´etricas, dicha “suavidad” se logra exigiendo, usualmente para k peque˜no, que las mismas sean Ck-continuas.

Las curvas splines m´as populares son los splines c´ubicos param´etricos. Estos son curvas definidas a trozos, donde cada secci´on es un polinomio de grado 3. Lo m´as usual en las aplicaciones es exigir que este tipo de curvas sean de clase C2 (que es la axima suavidad que se puede pedir sin que todos los tramos se reduzcan al mismo polinomio), lo que es equivalente a pedir que esta condici´on se cumpla en los nodos.

Puesto que en el caso de curvas A-spline no se presupone ning´un tipo de parame- trizaci´on de las curvas, lo realmente interesante es el comportamiento geom´etrico de la misma. De este modo, el concepto de Ck-continuidad es sustituido por el de Gk-continuidad ocontinuidad geom´etrica de orden k.

El concepto de Gk-continuidad est´a estrechamente vinculado a la noci´on de Geo- metr´ıa Algebraica de la multiplicidad de la intersecci´on entre dos curvas algebraicas

(15)

a la que se hizo referencia antes. Intuitivamente hablando, un punto P situado sobre las curvas f y g es un punto de intersecci´on de multiplicidad k, si al perturbar ligeramente los coeficientes de f y g resulta que P da lugar a k puntos de intersecci´on entre las curvas perturbadas. (Por ejemplo, si f es un c´ırculo y P es un punto situado sobre f , entonces f y su recta tangente g en el punto P se intersecan con multiplicidad 2, ya que si son perturbados ligeramente los coeficientes de la recta, entonces resulta que ´esta y el c´ırculo se cortan en dos puntos). Para una definici´on formal de multiplicidad de la intersecci´on entre dos curvas algebraicas pueden ser consultados en [Hart77] y [Ful84].

Hist´oricamente el concepto de continuidad geom´etrica de la intersecci´on de dos cur- vas se introdujo de modo diferente al que aqu´ı se da. Se ha elegido esta definici´on pues, siendo equivalente a la original, resulta, gracias a [Garr91], m´as apropiada para su c´alculo efectivo.

Definici´on 1.8

Sean f (x, y) = 0 y g(x, y) = 0 dos curvas algebraicas planas y P ∈ R2 un pun- to situado sobre ambas curvas. Diremos que f y g se unen con continuidad geom´etrica de orden k en el punto P si la multiplicidad de la intersecci´on entre f y g en el punto P es exactamente k + 1.

Para m´as detalles acerca del concepto de continuidad geom´etrica se puede consul- tar [Garr91], [Warr86], [Warr90]. En la pr´actica, para hallar la multiplicidad de la intersecci´on entre dos curvas planas puede calcularse la resultante entre ellas.

Es f´acil comprobar que si las curvas algebraicas planas f y g pasan por un punto regular P y tienen las misma recta tangente en ese punto, entonces la coordenada correspondiente de P es una ra´ız de multiplicidad al menos 2 del polinomio resul- tante, es decir la multiplicidad de la intersecci´on entre f y g es al menos 2. Luego, la idea intuitiva es que f y g se unen con G1-continuidad en P , si comparten la misma recta tangente en ese punto. Esto conduce a la siguiente definici´on equivalente de G1-continuidad para una curva A-spline.

Definici´on 1.9

Siendo S una curva A-spline plana, si para todo punto P sobre la curva se cumple que S y la recta tangente a S son funciones continuas en P , se dice entonces que S es G1-continua en el punto.

otese que, en efecto, la definici´on de G1-continuidad enfatiza el hecho geom´etrico de que la tangente a la curva var´ıa continuamente a lo largo de la misma. Por supuesto, toda curva spline param´etrica C1-continua, es una curva G1-continua, pero el rec´ıproco depende de la parametrizaci´on del spline. En otras palabras, la C1- continuidad depende adicionalmente de la parametrizaci´on introducida, de modo

(16)

que la misma curva puede ser C1-continua con respecto a una parametrizaci´on y no serlo con respecto a otra. Sin embargo, para todo spline param´etrico G1-continuo es posible encontrar una reparametrizaci´on tal que la curva sea C1-continua (vea [Garr91]).

En algunos problemas pr´acticos no basta con que la curva que se construye sea G1- continua, es necesario un mayor orden de suavidad,[Her73],[Goo88],[Alb08]. Por tal motivo es preciso introducir el concepto de G2-continuidad.

Supongamos que f y g son curvas algebraicas planas que pasan por un punto P y tienen la misma recta tangente en ese punto. P es entonces una ra´ız de multiplicidad al menos 2 del polinomio resultante. Si adicionalmente f y g tienen igual curvatura en el punto P entonces se puede probar que la coordenada correspondiente P es una ra´ız del polinomio resultante de multiplicidad al menos 3. Cuando P no es un punto singular ni de f ni de g, el rec´ıproco tambi´en es cierto. Por lo tanto, la multiplicidad es al menos 3 si y s´olo si las curvas planas f y g pasan por P y tienen la misma recta tangente y la misma curvatura en ese punto. Luego, la idea intuitiva es que f y g se unen con G2-continuidad en P (siendo P un punto no singular), si y s´olo si comparten la misma recta tangente y la misma curvatura en ese punto.

Recordemos que para una curva plana f (x, y) = 0 definida impl´ıcitamente, la cur- vatura κ en un punto (x0, y0) situado sobre la curva est´a dada por la ecuaci´on (1.1) donde todas las derivadas se eval´uan en el punto (x0, y0), entonces una definici´on equivalente de G2-continuidad para una curva A-spline plana es la siguiente:

Definici´on 1.10

Dada una curva spline plana S, si S es G1-continua y, para todo punto P sobre S, la curvatura es una funci´on continua en P , se dice entonces que S es G2-continua.

El concepto de G2-continuidad que se acaba de introducir se refiere exclusivamente a curvas planas, pues para curvas en el espacio es necesario exigir adicionalmente la variaci´on continua del vector binormal [Far97].

1.4 Coordenadas afines y baric´entricas en R2

Dado que en este trabajo ser´an constru´ıdas curvas A-spline cuyas secciones estar´an estrechamente vinculadas a tri´angulos de un modo u otro, ser´a introducido un nue- vo sistema de coordenadas. Tales coordenadas reciben el nombre de coordenadas baric´entricas y s´olo dependen de los v´ertices del tri´angulo. En t´erminos de las mis- mas la ecuaci´on de la curva, as´ı como el estudio de algunas de sus propiedades geom´etricas, se simplifica considerablemente.

(17)

Sean P0, P1, P2 ∈ R2 los v´ertices de un tri´angulo en el plano y sea P = (x, y) otro punto cualquiera en R2 como se muestra en la figura 1.2. Tal punto P puede escribirse como combinaci´on lineal baric´entrica de P0, P1, P2, es decir, existen u, v, w en R tales que,

P = uP0+ vP1+ wP2 (1.2)

En particular, u, v, w ∈ R+ si P se encuentra en el interior del tri´angulo.

P P

P P

0

1

2

Figura 1.2. Significado geom´etrico de las coordenadas baric´entricas.

La expresi´on (1.2) solamente tiene sentido geom´etrico si define una combinaci´on baric´entrica, es decir si se exige que adicionalmente las coordenadas u, v, w satisfagan la condici´on

u + v + w = 1 (1.3)

Los coeficientes (u, v, w) se llaman coordenadas baric´entricas de P con res- pecto a los puntos P0, P1, P2. Las ecuaciones (1.2) y (1.3) definen un sistema lineal de 3 ecuaciones para calcular las inc´ognitas u, v y w:

P0x P1x P2x P0y P1y P2y

1 1 1

u v w

=

x y 1

, (1.4)

donde M denota la matriz del sistema y Pj = (Pjx, Pjy) para j = 0,1,2. omo P0, P1, P2 no son colineales, la matriz M es no singular.

Si se denota por A(P0, P1, P2) al ´area del tri´angulo con v´ertices P0,P1,P2. Es bien conocido que, siendo det(M ) el determinante de M , se cumple que

A(P0, P1, P2) = det(M )

2 (1.5)

Usando entonces la regla de Cramer se obtiene la soluci´on del sistema (1.4). Lo anterior significa que las coordenadas baric´entricas del punto P , pueden ser escritas

(18)

en t´erminos de sus coordenadas afines (x, y) en la forma:

u = A(P, P1, P2)

A(P0, P1, P2) v = A(P0, P, P2)

A(P0, P1, P2) w = A(P0, P1, P ) A(P0, P1, P2)

1.5 Expresi´on de la curva en coordenadas baric´entri- cas

Sea Ti el tri´angulo con v´ertices P0i, P1i, P2i y sea Si la i-´esima secci´on de una curva A-spline asociada a tal tri´angulo. El empleo de las coordenadas baric´entricas per- mitir´a simplificar la ecuaci´on general de todas las curvas Si. La dependencia de los ertices del tri´angulo Ti estar´a impl´ıcita en la expresi´on del cambio de coordenadas baric´entricas a coordenadas afines.

La transformaci´on lineal de las coordenadas baric´entricas (u, v, w) asociadas al tri´angulo Ti, a las coordenadas afines (x, y) est´a dada por:

P0xi P1xi P2xi P0yi P1yi P2yi

1 1 1

u v w

=

x y 1

, (1.6)

donde Pji = (Pjxi , Pjyi ) para j = 0,1,2.

En particular, las coordenadas baric´entricas de los v´ertices P0i, P1i, P2i del tri´angulo son (1,0,0), (0,1,0) y (0,0,1) respectivamente. En lo adelante se denominar´a tri´angu- lo can´onico al tri´angulo con v´ertices p0 = (0,0), p1 = (0,1) y p2 = (1,0) (ver figura 1.3).

0

1

2 i

i

P i

P

P (0,0)

(0,1)

(1,0) u = 0

v = 0 1-u-v = 0

Figura 1.3. Paso de coordenadas reales a coordenadas baric´entricas.

Sea gi(x, y) = 0 la ecuaci´on impl´ıcita de la curva algebraica que define la i-´esima secci´on Si del A-spline S, donde gi(x, y) es un polinomio de grado n. Del sistema (1.6) resulta que las coordenadas afines (x, y) se pueden expresar linealmente en

(19)

erminos de la coordenadas baric´entricas (u, v, 1 − u − v). M´as precisamente, x = P0xi u + P1xi v + P2xi (1 − u − v) := x(u, v)

y = P0yi u + P1yi v + P2yi (1 − u − v) := y(u, v).

Por lo tanto, sustituyendo x(u, v), y(u, v) en la ecuaci´on gi(x, y) = 0, se obtiene la ecuaci´on impl´ıcita de Si en coordenadas baric´entricas respecto a los v´ertices del tri´angulo Ti

gi(x, y) = gi(x(u, v), y(u, v)) := fi(u, v) = 0, (1.7) donde gi(x, y) = 0 y fi(u, v) = 0 tendr´an el mismo grado, dado que el cambio de coordenadas afines (x, y) a coordenadas baric´entricas asociadas al tri´angulo Ti es tambi´en una transformaci´on lineal (pues los v´ertices de dicho tri´angulo no son colineales, y por tanto la matriz Mi del sistema (1.6) es no singular). Haciendo uso entonces del cambio de coordenadas baric´entricas se tiene que la i-´esima secci´on del A-spline S puede ser escrita en dichas coordenadas con respecto a los v´ertices del tri´angulo Ti en su forma de Bernstein-Bezier del siguiente modo:

fi(u, v) =

n

X

j=0 n−j

X

k=0

n!

k!j!(n − k − j)!cik,j,n−k−jukvjwn−k−j

=

n

X

j=0 n−j

X

k=0

aikjukvj(1 − u − v)n−k−j, (1.8)

donde para i = 1...n

aikj = cik,j,n−k−j n!

k!j!(n − k − j)!.

1.6 Curvas en el interior de un tri´angulo

En la literatura, es usual organizar los coeficientes aikj de la expresi´on (1.8) en un arreglo triangular como el que se muestra en la figura 1.4 para el caso n = 3 correspondiente a las c´ubicas.

A continuaci´on ser´an enunciados dos resultados, debidos a [Baj99a], que son de gran importancia. ´Estos garantizan que a partir de determinadas condiciones f´acilmente verificables que deben satisfacer los coeficientes de la representaci´on de Bernstein- Bezier de una curva algebraica, se puede asegurar la existencia de una familia de curvas con un conjunto de propiedades convenientes en el interior del tri´angulo can´onico.

(20)

a00 a a a

a

a a a a

12

21 0

30 01

20 02

11 3

a10

Figura 1.4. Arreglo de los coeficientes de un A-spline c´ubico escrito en coordenadas baric´entricas.

Lema 1.1

Sea fi(u, v) = 0 la ecuaci´on impl´ıcita (1.8) en forma de Bernstein-Bezier de una curva algebraica de grado n dada en coordenadas baric´entricas. Si existe l ∈ Z con 0 < l < n tal que,

aikj ≥ 0 para k = 0, . . . , n − j, j = 0, . . . , l − 1, aikj ≤ 0 para k = 0, . . . , n − j, j = l + 1, . . . , n,

n

P

k=0

aik0 > 0

n−j

P

k=0

aikj < 0 para alg´un j con k < j ≤ n.

Entonces

i) Para todo β tal que 0 < β < 1, la recta u = β(1 − v) que pasa por el punto p1, interseca a la curva fi(u, v) = 0 una s´ola vez (contando multiplicidades) en el interior del tri´angulo can´onico. Esto equivale a decir que la curva es conexa en el interior del tri´angulo.

ii) La curva fi(u, v) = 0 es no singular en el interior del tri´angulo can´onico.

Lema 1.2

Sea fi(u, v) = 0 la ecuaci´on impl´ıcita (1.8) en forma de Bernstein-Bezier de una curva algebraica de grado n dada en coordenadas baric´entricas. Supongamos que adem´as de las hip´otesis del lema anterior se cumple que,

ai0j = 0 para j = 0, ..., l y ai0,l+1< 0,

(21)

entonces la curva fi(u, v) = 0 pasa por el punto p0 y es tangente a la recta u = 0 con multiplicidad l + 1. Adem´as, para 0 < v < 1 no existe otra intersecci´on entre la curva y la recta u = 0. Similarmente, si,

ain−j,j = 0 para j = 0, ..., l y ain−(l+1),l+1 < 0,

entonces la curva fi(u, v) = 0 pasa por el punto p2 y es tangente a la recta de ecuaci´on 1 − u − v = 0 con multiplicidad l + 1. Adem´as, para u, v > 0 no existe otra intersecci´on entre la curva y la recta 1 − u − v = 0.

Adicionalmente una c´ubica definida de esta manera no tiene puntos de inflexi´on en el interior del tri´angulo can´onico.

Las demostraciones de estos lemas pueden ser consultadas en [Baj99a].

1.7 Curvatura de una c´ubica

Recordemos que para una curva plana f (x, y) = 0 definida implic´ıtamente, la cur- vatura κ en un punto (x0, y0) situado sobre la curva est´a dada por la f´ormula (1.1):

κ =

fyyfx2− 2fxfyfxy + fxxfy2 (fx2+ fy2)32

donde las derivadas parciales de f est´an calculadas en dicho punto.

En particular, dada la ecuaci´on impl´ıcita de una c´ubica Si en coordenadas ba- ric´entricas, que define la i-´esima secci´on del A-spline S, asociada a cada tri´angulo Ti, i = 1, ..., n de v´ertices P0i, P1i, P2i,

fi(u, v) =

3

X

k=0 3−j

X

j=0

aikjukvj(1 − u − v)3−k−j,

es muy importante conocer la expresi´on de su curvatura en los extremos P0i y P2i en erminos de dichos coeficientes. El siguiente resultado se refiere a dicha relaci´on.

Lema 1.3

Sea K0i la curvatura de Si en el punto P0i y K2i la curvatura en P2i, entonces, K0i = |ai12|

|ai20|

i

(g0i)3, K2i = |ai02|

|ai10|

i

(g2i)3, (1.9) donde

gi0 = kP0i− P1ik, g2i = kP2i− P1ik y i =

det P0i P1i P2i

1 1 1

 es el ´area de Ti.

(22)

La demostraci´on completa de este resultado se puede encontrar [Pal92] o [Baj99a].

An´alogamente, utilizando un sistema de computaci´on simb´olica (por ejemplo, MA- PLE), puede obtenerse este resultado directamente, a partir de la expresi´on de la curvatura en un punto sobre una c´ubica plana impl´ıcita.

1.8 Algunos resultados relativos a curvas de Be- zier

Si bien los resultados originales que se presentar´an en este trabajo est´an concebi- dos para curvas algebraicas planas definidas impl´ıcitamente, no por ello dejan de ser empleadas propiedades que han sido muy ´utiles en las t´ecnicas de demostraci´on aplicadas en el siguiente cap´ıtulo y que fueron obtenidas en el contexto de las cur- vas racionales param´etricas (m´as estrictamente, en el de las curvas de Bezier). A continuaci´on se expone un breve resumen.

Toda curva polin´omica admite una representaci´on mediante su pol´ıgono de Bezier.

Existe una estrecha relaci´on geom´etrica entre una curva polin´omica y su pol´ıgono de Bezier: ambos tienen los mismos puntos extremos y las tangentes en estos puntos coinciden. La curva yace en la envoltura convexa del pol´ıgono. Es m´as, los algoritmos as r´apidos y num´ericamente m´as estables para graficar una curva polin´omica se basan en su representaci´on de Bezier ([Pal05]).

Polinomios de Bernstein

El c´alculo de la expansi´on binomial

1 = (u + (1 − u))n=

n

X

i=0

n!

i!(n − i)!ui(1 − u)n−i induce a definir los polinomios de Bernstein de grado n,

Bni(u) = n!

i!(n − i)!ui(1 − u)n−i, i = 0, .., n .

Tales polinomios son linealmente independientes, sim´etricos, sus ´unicas ra´ıces son 0 y 1, forman una partici´on de la unidad, son positivos en (0,1) y satisfacen la relaci´on de recurrencia Bn+1i (u) = uBi−1n (u) + Bin(u), siendo Bn−1= Bn+1n y B00 ≡ 1.

Figure

Actualización...

Referencias

Actualización...