scieee AI-readable full text Open interactive document viewer

Aproximación de hélices mediante curvas polinomiales

Collin Goth, Mónica

Abstract

In this work we study two different methods to approximate the helix by Bézier curves. The first one approximation is by cubic rational Bézier curves, simple and composite, and we analyze the error committed. The second one is by quadratic polynomial and rational Bézier curves. We also calculate the error bound with the Hausdorff distance between the helix and each approximate curve. Finally, we show both methods in some examples.

Full text

FACULTAD DE MATEM´ ATICAS DEPARTAMENTO DE GEOMETR´ IA Y TOPOLOG´ IA Aproximaci´on de H´elices mediante Curvas Polinomiales Memoria realizada por M´onica Collin Goth Dirigido por: VoBo Dra. M. Carmen M´arquez Garc´ıa Abstract In this work we study two different methods to approximate the helix by B´ezier curves. The first one approximation is by cubic rational B´ezier curves, simple and composite, and we analyze the error committed. The second one is by quadratic polynomial and rational B´ezier curves. We also calculate the error bound with the Hausdorff distance between the helix and each approximate curve. Finally, we show both methods in some examples. ´ Indice general Introducci´on 7 1. Preliminares 9 1.1. Conceptosprevios......................... 9 1.2. Arco de circunferencia como curva racional . . . . . . . . . . . 17 2. Aproximaci´on c´ubica de h´elice 25 2.1. Idea b´asica de la aproximaci´on . . . . . . . . . . . . . . . . . . 25 2.2. Optimizaci´on de la aproximaci´on . . . . . . . . . . . . . . . . 27 2.3. Continuidad C2enlasuniones.................. 33 3. Aproximaci´on cuadr´atica de h´elice 47 3.1. Idea b´asica de la aproximaci´on . . . . . . . . . . . . . . . . . . 47 3.2. C´alculodelerror ......................... 52 3.3. Ejemplos.............................. 56 Bibliograf´ıa 61 5 6´ INDICE GENERAL Introducci´on La h´elice es una curva en el espacio que se origina por el movimiento de traslaci´on de un punto que gira entorno a un eje. La h´elice circular puede observarse habitualmente en numerosas disciplinas cient´ıficas. Destacamos por su belleza la estructura del ADN y la escalera de doble h´elice del castillo de Chambord en Francia. El objetivo de este trabajo es aproximar una h´elice circular mediante curvas polinomiales, en particular, curvas de B´ezier. Las curvas de B´ezier, concepto fundamental para esta memoria, fueron desarrolladas por primera vez por Paul Casteljau en 1959, usando el algoritmo que lleva su nombre, sin embargo, fue Pierre B´ezier quien las public´o 3 a˜nos m´as tarde, en 1962, de quien tomaron el nombre. Estas curvas fueron un sistema que se desarroll´o para el trazado de dibujos t´ecnicos, en el dise˜no aeron´autico y en el de autom´oviles. Pierre B´ezier naci´o en Par´ıs en 1910. Su padre era ingeniero y su madre fue una persona muy interesada en la criptograf´ıa y el an´alisis combinatorio. Obtuvo el t´ıtulo de ingeniero mec´anico en la Escuela Nacional Superior de Artes y Oficios y un a˜no despu´es el de ingeniero el´ectrico en la Escuela Superior de Electricidad. Sali´o al mercado laboral en 1931 y dos a˜nos m´as tarde entr´o en la casa Renault, llegando a la direcci´on general en 1960. Dedic´o mucho tiempo a la ense˜nanza y sus trabajos, m´as all´a del sector del autom´ovil, resonar´ıan en toda la industria. Con la aparici´on de los primeros ordenadores hizo uso de la inform´atica para el dise˜no de carrocer´ıa. As´ı en 1968 present´o un prototipo del sistema Unisurf que fue uno de los pioneros sistemas de dise˜no geom´etrico asistido por ordenador. Esta modelizaci´on matem´atica se apoya en las curvas que llevan su nombre y que protagonizan su tesis de Doctorado en Matem´aticas que defendi´o en 1977. Finalmente, falleci´o en 1999 siendo enterrado en Gallardon, Francia. Paul de Casteljau naci´o en 1930 en Besan¸con, Francia. Estudi´o f´ısica y 7 8INTRODUCCI ´ ON matem´aticas y trabaj´o para la casa Citro¨en, donde en 1959 desarroll´o un algoritmo conocido actualmente como algoritmo de De Casteljau con el que se puede evaluar c´alculos en una cierta familia de curvas polin´omicas. El algoritmo de De Casteljau es todav´ıa ampliamente usado, aunque con algunas modificaciones, ya que es el m´etodo m´as robusto y num´ericamente estable para evaluar polinomios. Finalmente, muri´o en 1999. Este trabajo est´a dividido en tres cap´ıtulos. El primero comienza introduciendo algunos conceptos previos que consideramos necesarios para la comprensi´on del mismo y de los que haremos uso a lo largo de la memoria. Expondremos la definici´on de curvas de B´ezier y sus propiedades, centr´andonos en las curvas racionales. Tambi´en parametrizaremos un arco de circunferencia sobre el plano (X, Y ) mediante curvas de B´ezier racionales cuadr´aticas y veremos la elevaci´on del grado. En el segundo cap´ıtulo presentaremos y desarrollaremos el m´etodo introducido por I. Juh´asz en el art´ıculo de investigaci´on [6]. Se trata de un m´etodo para aproximar la h´elice circular mediante una curva de B´ezier racional c´ubica. Est´a dividido en dos secciones: en la primera aproximaremos la h´elice utilizando curvas de B´ezier racionales simples y calcularemos una cota del error que se comete anal´ıticamente, mientras que en la segunda secci´on lo haremos con curvas de B´ezier racionales c´ubicas compuestas y veremos el error cometido visualmente. En el tercer y ´ultimo cap´ıtulo, expondremos el m´etodo introducido por Young Joon Ahn en el art´ıculo [1]. En ´el vamos a dar otro m´etodo para aproximar la h´elice circular, en este caso, mediante curvas de B´ezier cuadr´aticas polinomiales y racionales. Adem´as, estudiamos una cota del error cometido utilizando la distancia de Hausdorff para cada una de las curvas. Finalmente, el cap´ıtulo concluye con unos ejemplos. A lo largo de esta memoria, aparecen varias im´agenes, ´estas han sido elaboradas utilizando los programas Maple 17 y Geogebra. Cap´ıtulo 1 Preliminares En este cap´ıtulo expondremos todos las definiciones y resultados que vamos a necesitar para desarrollar la aproximaci´on de un arco de h´elice circular de eje OZ y radio rmediante curvas de B´ezier racionales. Comenzamos con una primera secci´on de conceptos previos en la que definimos y enunciamos todas las nociones b´asicas que vamos a necesitar para la comprensi´on de esta memoria. Continuamos con otra secci´on en la que desarrollamos la parametrizaci´on de un arco de circunferencia centrado en el origen de coordenadas de ´angulo 2α, con α∈(0, π/2), y radio rsobre el plano (X, Y ) como curva de B´ezier racional cuadr´atica. Y por ´ultimo, en esta misma secci´on, veremos c´omo se realiza la elevaci´on del grado de una curva de B´ezier racional cuadr´atica a una curva de B´ezier racional c´ubica. 1.1. Conceptos previos En esta secci´on vamos a enunciar algunos conceptos relativos a la teor´ıa de B´ezier que van a ser necesarios para la comprensi´on de esta memoria. Tambi´en definiremos conceptos muy b´asicos de la geometr´ıa local de curvas para fijar la notaci´on que seguiremos. Definici´on 1.1.1 (Serie de Taylor) La serie de Taylor de una funci´on f real o compleja infinitamente diferenciable en el entorno de un n´umero real o complejo aes la siguiente serie de potencias: 9 16 CAP´ ITULO 1. PRELIMINARES r0(t) = N0(t)D(t)−D0(t)N(t) D(t)2, donde N0(t) = 3(ω1b1−ω0b0)(1 −t)2+ 3(ω2b2−ω1b1)t(1 −t) + 3(ω3b3−ω2b2)t2 D0(t) = 3(ω1−ω0)(1 −t)2+ 3(ω2−ω1)t(1 −t) + 3(ω3−ω2)t2. Por lo tanto, ya podemos expresar la primera derivada de la curva r(t) en los puntos extremos, siendo: r0(0) = N0(0)D(0) −D0(0)N(0) D(0)2= 3ω1 ω0 (b1−b0) (1.1.6) r0(1) = N0(1)D(1) −D0(1)N(1) D(1)2= 3ω2 ω3 (b3−b2).(1.1.7) Por otro lado, vamos a expresar el desarrollo del c´alculo de la segunda derivada de dicha curva de B´ezier racional, que tambi´en vamos a necesitar. La expresi´on de la segunda derivada de la curva r(t) es la siguiente: r00(t) = (N00(t)D(t)−D00(t)N(t))D(t)2−(N0(t)D(t)−D0(t)N(t))2D(t)D0(t) D(t)4, donde N00(t) = −6(ω1b1−ω0b0)(1 −t) + 6(ω2b2−ω1b1)(1 −2t) + 6(ω3b3−ω2b2)t D00(t) = −6(ω1−ω0)(1 −t) + 6(ω2−ω1)(1 −2t) + 6(ω3−ω2)t. La segunda derivada de la curva r(t) en los puntos extremos ser´a: r00(0) =(N00(0)D(0) −D00(0)N(0))D(0)2−(N0(0)D(0) −D0(0)N(0))2D(0)D0(0) D(0)4 r00(1) =(N00(1)D(1) −D00(1)N(1))D(1)2−(N0(1)D(1) −D0(1)N(1))2D(1)D0(1) D(1)4. Por lo tanto, r00(0) = 6ω2 ω0 (b2−b0)−18ω2 1 ω2 0 (b1−b0)+6ω1 ω0 (b1−b0) (1.1.8) 1.2. ARCO DE CIRCUNFERENCIA COMO CURVA RACIONAL 17 r00(1) = 6ω1 ω3 (b1−b3) + 18ω2 2 ω2 3 (b3−b2)−6ω2 ω3 (b3−b2).(1.1.9) Proposici´on 1.1.14 Dos curvas de B´ezier racionales de grado ncon los mismos puntos de control y con distintos pesos {ω0, ..., ωn},{ω0 0, ..., ω0 n}son la misma curva si se verifica: ω0 0/ω0 ω0 1/ω1 =ω0 1/ω1 ω0 2/ω2 =... =ω0 n−1/ωn−1 ω0 n/ωn . Demostraci´on: La demostraci´on de esta proposici´on no la incluimos en esta memoria por ser demasiado t´ecnica y no aportar ning´un concepto relevante al desarrollo de este trabajo, pero se puede encontrar en [7]. Definici´on 1.1.15 (Distancia de Hausdorff) Sean α(s) y β(t) dos curvas definidas para s, t ∈[0,1]. Se llama distancia de Hausdorff entre αyβ a dH(α, β) = m´ax(d1(α, β), d2(α, β)), donde d1yd2son no sim´etricas, es decir, se miden solo en un sentido y est´an dadas por: d1(α, β) = m´ax t∈[0,1] m´ın s∈[0,1] |α(s)−β(t)| y d2(α, β) = m´ax s∈[0,1] m´ın t∈[0,1] |α(s)−β(t)|. 1.2. Parametrizaci´on de arco de circunferencia por curvas racionales En este apartado vamos a parametrizar un arco de circunferencia en el plano (X, Y ) como una curva de B´ezier racional de grado 2: r(t) = (1 −t)2ˆω0a0+ 2ˆω1t(1 −t)a1+t2ˆω2a2 (1 −t)2ˆω0+ 2ˆω1t(1 −t) + t2ˆω2 .(1.2.1) con t∈[0,1]. Siendo a0, a1ya2los puntos de control de dicha curva y ˆω0, ˆω1 y ˆω2sus pesos. Consideramos el arco de circunferencia c(s) = (rcos(s), r sen(s)), de amplitud 2α, con 0 < α < π/2, centrado en el origen y de radio r. Los 18 CAP´ ITULO 1. PRELIMINARES puntos extremos de este arco ser´an c(−α)=(rcos α, −rsen α) y c(α) = (rcos α, r sen α). Teniendo en cuenta la parametrizaci´on de la curva de B´ezier racional dada en (1.2.1) y la propiedad interpolatoria de los puntos extremos (1.1.4) y (1.1.5), se tiene que r(0) = a0=c(−α) = (rcos α, −rsen α) y r(1) = a2= c(α)=(rcos α, r sen α). Debido a la simetr´ıa, podemos suponer, sin p´erdida de generalidad, que ˆω0= ˆω2= 1. Por tanto, para determinar r(t) s´olo nos queda calcular la primera coordenada del punto de control a1= (x, 0) y el peso ˆω1>0. En la Figura 1.2 se representa el arco c(s), s∈[−α, α] y los puntos de control de la curva racional de grado 2, r(t). Figura 1.2: Arco circunferencia como curva racional cuadr´atica. Primero vamos a calcular x: teniendo en cuenta que en cualquier punto de una circunferencia la recta tangente es ortogonal al vector de posici´on de dicho punto, vamos a imponer esta misma condici´on sobre la curva r(t) en el punto r(1) = a2. La direcci´on de la recta tangente a r(t) en a2es r0(1) = 2 ˆω1 ˆω2 (a2−a1) (esta expresi´on se ha obtenido sin m´as que derivar la expresi´on (1.2.1)). As´ı pues, el tri´angulo que hemos extra´ıdo en la Figura 1.3 debe ser un tri´angulo rect´angulo. 1.2. ARCO DE CIRCUNFERENCIA COMO CURVA RACIONAL 19 Figura 1.3: Tri´angulo extra´ıdo de la Figura 1.2 Por tanto, cos α=r xy tenemos que: x=r cos α. Lo siguiente que vamos a calcular es ˆω1: consideramos m= (rcos α, 0) el punto medio de a0ya2, y cque es el punto de corte entre el arco de circunferencia y el eje OX, escribiremos ccomo c=m(1 −u) + a1uya que ces un punto del segmento que une mcon a1, para un valor u∈[0,1] y podemos escribir u=ˆω1 1 + ˆω1 . Por otro lado, tenemos que c= (r, 0) y tomando la primera coordenada de las dos expresiones de c, llegamos a la siguiente igualdad: r= (rcos α)(1 −u) + r cos αu⇒rcos α=rcos2α+u(r−rcos2α) ⇒u=cos α−cos2α 1−cos2α⇒u=cos α 1 + cos α. De aqu´ı se deduce que: ˆω1= cos α. Se puede ver que a partir del punto de control y el peso que acabamos de obtener, se verifica que r2 1(t) + r2 2(t) = r2, donde r(t)=(r1(t), r2(t)). 20 CAP´ ITULO 1. PRELIMINARES Efectivamente, de la ecuaci´on (1.2.1) llegamos a que r(t) = (1 −t)2(rcos α, −rsen α) + 2 cos αt(1 −t)( r cos α,0) + t2(rcos α, r sen α) (1 −t)2+ 2t(1 −t) cos α+t2. (1.2.2) Se tiene: r2 1(t) + r2 2(t) = ((1 −t)2rcos α+ 2 cos αt(1 −t)r cos α+t2rcos α)2 ((1 −t)2+ 2t(1 −t) cos α+t2)2+ +(−(1 −t)2rsen α+t2rsen α)2 ((1 −t)2+ 2t(1 −t) cos α+t2)2= =(1 −t)4r2+t4r2+ 2r2t2(1 −t)2(2 cos2α+ 1) ((1 −t)2+ 2t(1 −t) cos α+t2)2+ +4 cos αr2t(1 −t)3+ 4 cos αr2t3(1 −t) ((1 −t)2+ 2t(1 −t) cos α+t2)2= =r2((1 −t)2+ 2t(1 −t) cos α+t2)2 ((1 −t)2+ 2t(1 −t) cos α+t2)2=r2. (1.2.3) Luego la curva racional r(t) es una parametrizaci´on del arco de circunferencia de partida c(s). Elevaci´on del grado de la curva de B´ezier racional Mediante la elevaci´on del grado, dada una curva racional de grado n, vamos a poder parametrizarla como una curva de B´ezier racional de grado n+ 1. Despu´es de describir este procedimiento, aplicaremos la elevaci´on del grado a la curva racional de grado 2 que acabamos de calcular y que describe un arco de circunferencia para parametrizar este arco por una curva racional c´ubica o de grado 3. Empezamos describiendo el caso general, consideremos r(t) = n X j=0 ajn jˆωjtj(1 −t)n−j n X j=0 n jˆωjtj(1 −t)n−j , curva racional de grado ncon puntos de control aiy pesos ˆωi,i= 0, . . . , n. Queremos calcular los nuevos puntos de control y pesos que denotamos biy 1.2. ARCO DE CIRCUNFERENCIA COMO CURVA RACIONAL 21 ωi, respectivamente, con i= 0, . . . , n+1, de tal forma que la nueva curva sea una reparametrizaci´on de la curva r(t). Si multiplicamos r(t) por (t+ (1 −t)) (t+ (1 −t)), tenemos: r(t) = n X j=0 ajn jˆωjtj+1(1 −t)n−j+ n X j=0 ajn jˆωjtj(1 −t)n+1−j n X j=0 n jˆωjtj+1(1 −t)n−j+ n X j=0 n jˆωjtj(1 −t)n+1−j . El siguiente paso es hacer el cambio j+ 1 →jen el ´ındice de sumaci´on del primer sumando, tanto del numerador como del denominador, y la nueva expresi´on ser´a: r(t) = n+1 X j=1 aj−1n j−1ˆωj−1tj(1 −t)n+1−j+ n X j=0 ajn jˆωjtj(1 −t)n+1−j n+1 X j=1 n j−1ˆωj−1tj(1 −t)n+1−j+ n X j=0 n jˆωjtj(1 −t)n+1−j . Para calcular los puntos y pesos de la curva racional de grado n+ 1, imponemos que: n+1 X j=1 aj−1n j−1ˆωj−1tj(1 −t)n+1−j+ n X j=0 ajn jˆωjtj(1 −t)n+1−j n+1 X j=1 n j−1ˆωj−1tj(1 −t)n+1−j+ n X j=0 n jˆωjtj(1 −t)n+1−j = = n+1 X j=0 bjn+ 1 jωjtj(1 −t)n+1−j n+1 X j=0 n+ 1 jωjtj(1 −t)n+1−j . 22 CAP´ ITULO 1. PRELIMINARES Como la base de Bernstein es base de polinomios, igualamos los coeficientes de los t´erminos tj(1 −t)n+1−jde los denominadores y numeradores, y obtenemos las siguientes ecuaciones para j= 1, . . . , n: n+ 1 jωj=n j−1ˆωj−1+n jˆωj bjn+ 1 jωj=aj−1n j−1ˆωj−1+ajn jˆωj Para j= 0 y j=n+ 1, obtenemos: ω0= ˆω0,ωn+1 = ˆωn,b0ω0=a0ˆω0y bn+1ωn+1 =anˆωn. As´ı, a partir de estas igualdades, para nuestro caso, n= 2 y j= 0,1,2,3, partiendo de la curva r(t) dada por la expresi´on (1.2.2), se tiene que los pesos de la curva de B´ezier racional c´ubica son: ω0= ˆω0= 1. 3ω1= ˆω0+ 2ˆω1⇒ω1=1 3(1 + 2 cos α). 3ω2= ˆω1+ 2ˆω2⇒ω2=1 3(1 + 2 cos α). ω3= ˆω2= 1. Podemos apreciar que ω1=ω2. A este valor lo denotamos ω. Por otro lado, los puntos de control son los siguientes para j= 0,1,2,3: b0ω0=a0ˆω0⇒b0=a0. 3b1ω1=a0ˆω0+ 2a1ˆω1⇒b1=a0+ 2 cos αa1 3ω. 3b2ω2= 2a1ˆω1+a2ˆω2⇒b2=a2+ 2 cos αa1 3ω. b3ω3=a2ˆω2⇒b3=a2. Por tanto, r(t) = 3 X i=0 ωibiB3 i(t) 3 X i=0 ωiB3 i(t) = (r1(t), r2(t)), donde: 1.2. ARCO DE CIRCUNFERENCIA COMO CURVA RACIONAL 23 r1(t) = r(2t2−2t+ 1) cos α+ 2t(1 −t) 2t(1 −t) cos α+ 2t2−2t+ 1 . r2(t) = rsen α2t−1 2t(1 −t) cos α+ 2t2−2t+ 1. (1.2.4) Se verifica que r2 1(t) + r2 2(t) = r2como se vio en (1.2.3). La curva de B´ezier c´ubica de ecuaciones param´etricas (r1(t), r2(t)) se representa en la Figura 1.4. Figura 1.4: Arco de circunferencia como curva racional c´ubica. 24 CAP´ ITULO 1. PRELIMINARES Cap´ıtulo 2 Aproximaci´on de h´elice circular por curvas de B´ezier c´ubicas Este cap´ıtulo est´a compuesto por 3 secciones, en la primera secci´on, a partir del arco de circunferencia parametrizado por la curva de B´ezier racional c´ubica vista en el cap´ıtulo anterior, vamos a exponer la idea b´asica de la aproximaci´on de la h´elice circular. En las dos secciones siguientes, vamos a desarrollar dos m´etodos diferentes entre s´ı para aproximar la h´elice circular mediante curvas de B´ezier racionales c´ubicas. Estos m´etodos se pueden encontrar en [6]. 2.1. Idea b´asica de la aproximaci´on La h´elice circular se describe como una curva espacial trazada en la superficie de un cilindro que va formando un ´angulo constante con sus generatrices. Puede parametrizarse por: h(v)=(rcos v, r sen v, pv), v ∈R.(2.1.1) A lo largo de esta memoria vamos a exponer varios m´etodos para aproximar el arco de h´elice circular con v∈[−α, α] con 0 < α < π/2. Para ello, proyectamos dicho arco de h´elice sobre el plano (X, Y ) y obtenemos un arco de circunferencia que, como vimos en el cap´ıtulo anterior, parametrizamos como una curva de B´ezier racional c´ubica plana (1.2.4). Una vez que ya tenemos parametrizado el arco de circunferencia mediante una curva de B´ezier racional c´ubica en el plano (X, Y ), desplazamos los puntos de control sobre rectas paralelas al eje OZ. Por simetr´ıa, ver Figura 1.4, 25 32 CAP´ ITULO 2. APROXIMACI ´ ON C ´ UBICA DE H ´ ELICE obtenemos la igualdad: cos vcos2α+ 2 cos2α+αcos αsen α−cos v−2 + αsen α+αcos vsin α= 0, de donde cos v=2 sen α−α(1 + cos α) α−sen α. Por tanto, el valor de vpara el que se obtiene la m´axima distancia entre h(v) y r(v) es: v(α) = arc cos 2 sen α−α(1 + cos α) α−sen α. Para cada α∈(0, π/2) podemos considerar la funci´on m´aximo error que viene definida como δ(α, v(α)). Ahora vamos a probar que la funci´on error, δ(α, v), es mon´otona creciente en α, en el dominio especificado. Para ello, se tiene que verificar la siguiente desigualdad: ∂δ(α, v) ∂α ≥0. Vamos a verlo: ∂δ(α, v) ∂α =p(1 −cos v)(cos α−cos v)(α(1 + 2 cos α)−sen α(2 + cos α)) (1 + cos α)(cos α−1)2sen v. Para α∈(0, π/2), v ∈[0, α] el denominador es positivo. De los factores del numerador se tiene que (1 −cos v)>0 y (cos α−cos v)≤0, por tanto, es suficiente ver que se cumple la siguiente desigualdad: α(1 + 2 cos α)≤sen α(2 + cos α). Para ello, utilizamos el desarrollo de Taylor de las funciones trigonom´etricas en α= 0: sen α=α−α3 3! +α5 5! −α7 7! +..., cos α= 1 −α2 2! +α4 4! −α6 6! +..., 2.3. CONTINUIDAD C2EN LAS UNIONES 33 tenemos que las siguientes desigualdades son v´alidas: sen α≥α−α3 6, cos α≥1−α2 2, cos α≤1−α2 2+α4 24. Entonces: α(1 + 2 cos α)≤α1+21−α2 2+α4 24= 3α−α3+α5 12 = =α−α3 63−α2 2≤sen α(2 + cos α). Como consecuencia, dado que v(α)∈[0, π/2] para α∈(0, π/2), la funci´on m´aximo error es mon´otona decreciente cuando αdecrece a 0 y que fijado un  > 0, es posible encontrar un valor de αtal que /p acote la funci´on m´aximo error. Para lo cual fijado  > 0, debemos encontrar αtal que la funci´on m´aximo error sea /p: δ(α, v(α)) =  p. En la Figura 2.4 se muestra la gr´afica de la funci´on m´aximo error como funci´on de α. 2.3. Continuidad C2en las uniones En la secci´on anterior hemos desarrollado un m´etodo para aproximar la h´elice circular h(v) mediante curvas de B´ezier racionales c´ubicas, pero tambi´en hemos visto al final de dicha secci´on que el error δ(α, v) aumenta cuando el ´angulo αcrece. Por ello, en esta nueva secci´on vamos a introducir un nuevo m´etodo de aproximaci´on de h´elices circulares mediante curvas de B´ezier racionales c´ubicas considerando curvas de B´ezier compuestas ya que en la pr´actica, para aproximar un arco de h´elice suficientemente amplio, lo haremos aproximando 34 CAP´ ITULO 2. APROXIMACI ´ ON C ´ UBICA DE H ´ ELICE Figura 2.4: Valor ´optimo de α. arcos m´as peque˜nos y los uniremos haciendo reparametrizaciones (v´ease las Definiciones 1.1.11 y 1.1.12). As´ı obtendremos una curva de B´ezier compuesta por varios tramos, constituidos todos ellos por curvas de B´ezier simples, que aproxima el arco de h´elice de partida. Consideramos la curva de B´ezier c´ubica r(t), t∈[0,1] vista en la Secci´on 2.1 que aproxima h(v), v∈[−α, α], y determinada por los puntos de control b0,b1,b2,b3y por los pesos ω0= 1, ω1=ω2=ω,ω3= 1. Por otro lado, vamos a considerar la curva de B´ezier c´ubica reparametrizada ˜r(t), con t∈[1,2], siendo ˜ b0=b3,˜ b1,˜ b2y˜ b3sus puntos de control y ˜ω0=ω0, ˜ω1= ˜ω2=ωy ˜ω3=ω3sus pesos que aproxima el arco de h´elice h(v) con v∈[α, 3α]. La curva ˜r(t) viene dada a trav´es de r(t) mediante un movimiento helicoidal, de eje OZ y paso p, girando los puntos de control de la curva r(t) con ´angulo 2α. En la Figura 2.5 est´an representados los puntos de control de r(t) y ˜r(t) vistos desde un punto que est´a sobre el eje OZ y la curva de B´ezier racional compuesta por estos dos tramos parametrizada por t∈[0,2]. Para t∈[0,1] la curva compuesta se define como r(t) y para t∈[1,2] la curva compuesta 2.3. CONTINUIDAD C2EN LAS UNIONES 35 se define como ˜r(t). Figura 2.5: Vista vertical de los puntos de control y de la curva compuesta. En el m´etodo anterior, cada uno de estos trozos var´ıa en funci´on del ´angulo αy de bque hab´ıamos calculado al imponer la igualdad entre el ´angulo de la recta tangente de la curva de B´ezier y el plano (X, Y ), y el ´angulo entre la recta tangente de la h´elice y el mismo plano en los puntos extremos del arco considerado. En esta nueva secci´on, vamos a proponer un nuevo m´etodo para calcular el par´ametro b. En esta ocasi´on vamos a imponer que en los puntos de uni´on de tramos los planos osculadores coincidan. M´as adelante veremos que se tiene continuidad de clase C1en las uniones y tambi´en vamos a ver qu´e ocurre al imponer continuidad de clase C2. Las dos curvas r(t) y ˜r(t) tienen el mismo plano osculador en el punto de uni´on b3=˜ b0si y solo si los puntos b1,b2,b3,˜ b0,˜ b1y˜ b2son coplanarios. Sea r(t) = (1 −t)3ω0b0+ 3t(1 −t)2ω1b1+ 3t2(1 −t)ω2b2+t3ω3b3 (1 −t)3ω0+ 3t(1 −t)2ω1+ 3t2(1 −t)ω2+t3ω3 , t ∈[0,1]. Sabemos que r(1) = b3y, tambi´en por (1.1.7) que r0(1) = 3ω2 ω3 (b3−b2). De igual forma, la segunda curva de la curva compuesta es ˜r(u) = (1 −u)3˜ω0˜ b0+ 3u(1 −u)2˜ω1˜ b1+ 3u2(1 −u)˜ω2˜ b2+u3˜ω3˜ b3 (1 −u)3˜ω0+ 3u(1 −u)2˜ω1+ 3u2(1 −u)˜ω2+u3˜ω3 , u ∈[0,1]. 36 CAP´ ITULO 2. APROXIMACI ´ ON C ´ UBICA DE H ´ ELICE Haciendo el cambio u=t−1, se tiene: ˜r(t) = ˜ω0˜ b0(2 −t)3+ 3˜ω1˜ b1(t−1)(2 −t)2+ 3˜ω2˜ b2(t−1)2(2 −t) + ˜ω3˜ b3(1 −t)3 ˜ω0(2 −t)3+ 3˜ω1(t−1)(2 −t)2+ 3˜ω2(t−1)2(2 −t) + ˜ω3(t−1)3, con t∈[1,2]. As´ı, ˜r0(1) = d˜r dt t=1 =d˜r duu=0 = 3 ˜ω1 ˜ω0 (˜ b1−˜ b0), seg´un vimos en (1.1.6). Por otro lado, por (1.1.9) se tiene que r00(1) = 6ω1 ω3 (b1−b3) + 18ω2 2 ω2 3 (b3− b2)−6ω2 ω3 (b3−b2), y teniendo en cuenta que ω1=ω2=ωyω3= 1, obtenemos que r00(1) = 6ω[(3ω−1)(b3−b2)−(b3−b1)]. Volviendo a realizar el cambio de par´ametro u=t−1 con u∈[0,1] en la segunda curva ˜r(t), tenemos que ˜r00(1) = d2˜r dt2t=1 =d2˜r du2u=0 = ˜r00(0) = 6ω2 ω0 (˜ b2−˜ b0)−18ω2 1 ω2 0 (˜ b1−˜ b0)+6ω1 ω0 (˜ b1−˜ b0) seg´un (1.1.8). Ahora bien, como r0(1) = 3ω(b3−b2), entonces sabemos que r0(1) es paralelo al vector b3−b2. Del mismo modo, como ˜r(1) = 3ω(˜ b1−˜ b0), entonces ˜r0(1) es paralelo al vector ˜ b1−˜ b0. Esto implica que r0(1) es paralelo a ˜r(1) ya que b3−b2=˜ b1−˜ b0por el movimiento helicoidal que hemos realizado al obtener la curva de ˜r(t), de hecho, ˜r0(1) = r0(1). Si tomamos Π como un plano que contiene al punto b3=˜ b0y al vector b3−b2=˜ b1−˜ b0, entonces se tiene que los puntos b2y˜ b1pertenecen a Π. Por otro lado, tambi´en hemos visto que r00(1) = (18ω2−6ω)(b3−b2)− 6ω(b3−b1) y ˜r00(1) = 6ω(˜ b2−˜ b0) + (6ω−18ω2)(˜ b1−˜ b0). As´ı que, los puntos b1y˜ b2pertenecen al plano Π si y solo si r00(1) y ˜r00(1) est´an en Π, y esto sucede si y solo si Π es el plano osculador en t= 1 de r(t) y ˜r(t). Por tanto, ambas curvas tienen el mismo plano osculador en t= 1 si y solo si los puntos b3=˜ b0,˜ b1,˜ b2,b2yb1son coplanarios. Por ello, vamos a imponer que los puntos b3=˜ b0,˜ b1,˜ b2,b2yb1sean coplanarios. Si estos 5 puntos se encuentran en el mismo plano, entonces vamos a ver que las rectas que unen b1con b2y˜ b2con ˜ b1se intersectan en un punto al que llamaremos m, y la distancia entre my el plano (X, Y ) es igual a la distancia entre el punto de control b3=˜ b0con dicho plano. 2.3. CONTINUIDAD C2EN LAS UNIONES 37 Sea S1(λ) = b1+λ(b2−b1) la recta que une b1con b2, y sea S2(µ) = ˜ b2+µ(˜ b1−˜ b2) la recta que une ˜ b1con ˜ b2. Considerando las coordenadas zde los puntos de control que quedan representadas en el Figura 2.6, se tiene que las coordenadas zde los puntos de las rectas son: Figura 2.6: Puntos de control proyectados sobre el eje OZ. S1z(λ) = −b+ 2bλ S2z(µ) = 2αp +b+µ(−2b). Ahora igualamos ambas expresiones para determinar la coordenada zdel punto intersecci´on: −b+ 2bλ = 2αp +b−2bµ ⇒2αp + 2b−2b(λ+µ) = 0 ⇒2αp + 2b(−λ−µ+ 1) = 0. Por simetr´ıa, sabemos que b3−b2=˜ b1−˜ b0y que, los m´odulos de los vectores que forman b1con b2y˜ b2con ˜ b1tambi´en son iguales, por tanto, el punto de intersecci´on se obtiene para el mismo valor de los par´ametros de las curvas, es decir, λ=µ. As´ı que de la expresi´on anterior se sigue: 2b(−2λ+ 1) = −2αp ⇒ − 2λ+ 1 = −αp b ⇒ −2λ=−αp b−1⇒λ=αp 2b+1 2. 38 CAP´ ITULO 2. APROXIMACI ´ ON C ´ UBICA DE H ´ ELICE Sustituimos este valor de λen S1(λ) para determinar el valor de la coordenada zdel punto de intersecci´on entre ambas rectas, el punto m. −b+ 2bαp 2b+1 2=−b+αp +b=αp, que coincide con la coordenada zdel punto ˜ b0como quer´ıamos demostrar. En la Figura 2.7 hemos considerado las proyecciones de myb2sobre el plano (X, Y ) y las hemos denotado por (m) y (b2), respectivamente para no confundirlos con myb2. Si extraemos de esta figura las proyecciones de estos Figura 2.7: Representaci´on de los puntos myb2. puntos y los representamos en el plano (Y, Z) obtenemos la Figura 2.8, donde se puede apreciar la siguiente relaci´on: tan θ=b b2y =αp my . Entonces: b=b2yαp my =rsen α 1 + 2 cos α αp my .(2.3.1) Si les la longitud del segmento que une el origen con el punto m, podemos observar en la Figura 2.7 que cos α=mx l=b2x ly que sen α=my l; por tanto, tenemos la siguiente relaci´on: 2.3. CONTINUIDAD C2EN LAS UNIONES 39 Figura 2.8: Proyecci´on sobre el plano (Y, Z). l=b2x cos α=my sen α⇔tan α=my b2x ⇔ ⇔my=b2xtan α=2r+rcos α 1 + 2 cos α sen α cos α.(2.3.2) De este modo, a partir de las igualdades (2.3.1) y (2.3.2), podemos determinar el valor de bque era nuestro objetivo en esta secci´on: b=αp cos α 2 + cos α.(2.3.3) La curva de B´ezier racional compuesta calculada con el par´ametro bobtenido tiene el mismo plano osculador en la uni´on, es decir, en t= 1. Veamos las condiciones que se tienen que verificar para poder asegurar continuidad en el punto de uni´on de las curvas de B´ezier simples. Como vimos en la Definici´on 1.1.12, tendremos continuidad de clase C1 en la uni´on si se verifica que r0(1) = ˜r0(1). Entonces la condici´on para que la continuidad sea C1es: 40 CAP´ ITULO 2. APROXIMACI ´ ON C ´ UBICA DE H ´ ELICE r0(1) = 3ω2 ω3 (b3−b2) = ˜r0(1) = 3 ˜ω1 ˜ω0 (˜ b1−˜ b0),(2.3.4) que se verifica claramente pues seg´un hemos tomado las curvas r(t) y ˜r(t), ω2= ˜ω1=ω=1 3(1 + 2 cos α), ω3= ˜ω0= 1 y b3−b2=˜ b1−˜ b0por el movimiento helicoidal que hemos realizado para obtener la curva ˜r(t). Ahora buscaremos la condici´on sobre los par´ametros fijados para que la curva compuesta tenga continuidad de clase C2. Para ello, tenemos que comprobar que ˜r00(1) = r00(1). Como se verifica que ˜ b0=b3, al sustituir los valores de los pesos de la condici´on ˜r00(1) = r00(1), llegamos a que (3ω−1)(b3−b2) + b1= (1 −3ω)(˜ b1−˜ b0) + ˜ b2. Adem´as, considerando que ω=1 3(1 + 2 cos α), se obtiene: (˜ b2−˜ b0)−2 cos α(˜ b1−˜ b0) = (b1−b3) + 2 cos α(b3−b2).(2.3.5) En la Figura 2.9 se puede ver una representaci´on gr´afica en R3de los puntos de control de la curva compuesta. Con el fin de entender mejor la relaci´on (2.3.5) que hemos obtenido, consideramos la proyecci´on de estos puntos sobre el eje OZ que ya representamos en la Figura 2.6. Si denotamos U= (b1−b3)+2 cos α(b3−b2) y V= (˜ b2−˜ b0)−2 cos α(˜ b1−˜ b0), considerando sus correspondientes coordenadas z, tenemos que se verifica: Uz= (−1−2 cos α)b+ (2 cos α−1)αp ≤0 Vz= (1 + 2 cos α)αp + (1 −2 cos α)b > 0. como se puede apreciar en la Figura 2.10. Llegamos entonces a que al imponer la igualdad (2.3.5), obtenemos una contradicci´on, pues Uz6=VZ. Por lo que para estos puntos y estos pesos no podemos asegurar una continuidad C2en las uniones. Sin embargo, vamos a seguir analizando las caracter´ısticas de la curva compuesta. Denotamos a la curvatura de r(t) como k(t), y a la curvatura de ˜r(t) como ˜ k(t), a partir de la Definici´on 1.1.5, tenemos: k(1) = |r0(1) ×r00(1)| |r0(1)|3. 2.3. CONTINUIDAD C2EN LAS UNIONES 41 Figura 2.9: Puntos de control de la curva de B´ezier compuesta. Teniendo en cuenta las expresiones obtenidas en (1.1.7) y (1.1.9), llegamos a que: k(1) = 2ω3ω1 3ω2 2 |(b3−b2)×(b3−b1)| |b3−b2|3.(2.3.6) Si reparametrizamos la curva ˜r(t) por u=t−1, tenemos la curva ˜r(u), u∈[0,1] y el valor de la curvatura de ˜r(t) en t= 1 es el mismo que el valor de la curvatura de la curva ˜r(u) en u= 0. Teniendo en cuenta la Definici´on 1.1.5, (1.1.6) y (1.1.9) obtenemos que: ˜ k(1) = 2ω0ω2 2ω2 1 |(˜ b1−˜ b0)×(˜ b2−˜ b0)| |˜ b1−˜ b0|3.(2.3.7) As´ı, se tiene k(1) = ˜ k(1) pues ω0=ω3= 1, ω2=ω1=ωyb3−b2=˜ b1−˜ b0. Adem´as sabemos que |(b3−b2)×(b3−b1)|=|b3−b2||b3−b1|sen ρsiendo ρ el ´angulo que forman los vectores b3−b2yb3−b1, pero |˜ b2−˜ b0|=|b3−b1| yρtambi´en es el ´angulo que forma ˜ b2−˜ b0con ˜ b1−˜ b0pues la curva ˜r(t) se ha obtenido de la curva r(t) mediante un movimiento helicoidal. Por tanto, 48 CAP´ ITULO 3. APROXIMACI ´ ON CUADR ´ ATICA DE H ´ ELICE Figura 3.1: Representaci´on de la h´elice h(v) y su proyecci´on en el plano (X, Y ), h0(v). arco de circunferencia. Como vimos en el primer cap´ıtulo, se pueden obtener los puntos de control y pesos de una curva de B´ezier racional cuadr´atica que parametriza el arco de circunferencia, donde los puntos de control eran: a0= (rcos α, −rsen α). a1= ( r cos α,0). a2= (rcos α, r sen α). Sin embargo, en este cap´ıtulo, no la vamos a reparametrizar como una curva de B´ezier racional c´ubica mediante la elevaci´on del grado. As´ı que, una vez que ya tenemos parametrizado el arco de circunferencia como una curva de B´ezier racional cuadr´atica en el plano (X, Y ), teniendo en cuenta los ai ya calculados, vamos a desplazar los puntos de control sobre rectas paralelas al eje OZ. Por simetr´ıa, elevamos el punto a2y descendemos el punto a0. A estos puntos de control desplazados los vamos a denotar b0,b1yb2. Teniendo en cuenta la propiedad interpolatoria de una curva de B´ezier racional, el primer y ´ultimo punto, b0yb2, se encuentran sobre la h´elice, b0=h(−α) y b2=h(α), as´ı que la coordenada zde b0yb2es: b0z=−αp, b2z=αp. 3.1. IDEA B ´ ASICA DE LA APROXIMACI ´ ON 49 Por ello, los puntos de control de la curva de B´ezier racional cuadr´atica son: b0= (x0, y0, z0) =(rcos α, −rsen α, −pα). b1= (x1, y1, z1) =(rsec α, 0,0). b2= (x2, y2, z2) =(rcos α, r sen α, pα). Y los pesos son los mismos que calculamos en el primer cap´ıtulo, ω0= 1, ω1= cos αyω2= 1. As´ı que la curva de B´ezier racional cuadr´atica con dichos puntos de control y pesos es de la forma: r(t) = (x(t), y(t), z(t)) ω(t), t ∈[0,1].(3.1.2) donde: x(t) = 2 X i=0 ωixiBi(t) = r(cos α(1 −t)2+ 2t(1 −t) + cos αt2), y(t) = 2 X i=0 ωiyiBi(t) = rsen α(2t−1), z(t) = 2 X i=0 ωiziBi(t) = pα(2t−1), ω(t) = 2 X i=0 ωiBi= (1 −t)2+ 2 cos αt(1 −t) + t2. En el primer cap´ıtulo, vimos que r2 1(t) + r2 2(t) = r2, por ello, la curva de B´ezier racional cuadr´atica que acabamos de aproximar, se encuentra sobre el cilindro de la h´elice. Por otro lado, tenemos que r(0), r1 2yr(1) son puntos de la h´elice circular, ya que r(0) = b0=h(−α), r(1) = b2=h(α) y queda ver que ∃v0∈(−α, α) tal que h(v0) = r(1 2): r1 2=r 1 2cos α+1 2 1 2cos α+1 2 ,0,0= (r, 0,0) = h(0). En la Figura 3.2 representamos la curva de B´ezier racional cuadr´atica r(t) y su proyecci´on sobre el plano (X, Y ), denotada por r0(t). Por otro lado, como ya hemos mencionado, tambi´en vamos a aproximar el arco de h´elice como una curva de B´ezier simple cuadr´atica que se define 50 CAP´ ITULO 3. APROXIMACI ´ ON CUADR ´ ATICA DE H ´ ELICE Figura 3.2: Representaci´on de la curva de B´ezier r(t) y su proyecci´on r0(t). de la siguiente forma: q(u) = 2 X i=0 biB2 i(u),0≤u≤1,(3.1.3) donde B2 i(u) son los polinomios de Bernstein y cuyos puntos de control son los mismos que hemos calculado para la curva de B´ezier racional cuadr´atica. Los puntos extremos de la curva de B´ezier simple cuadr´atica, q(0) y q(1), son puntos de la h´elice circular ya que q(0) = b0=h(−α) y q(1) = b2=h(α); por tanto, se encuentran sobre el cilindro de la h´elice. Sin embargo, no todos los puntos de la curva de B´ezier cuadr´atica se encuentran sobre el cilindro de 3.1. IDEA B ´ ASICA DE LA APROXIMACI ´ ON 51 la h´elice, esto vamos a demostrarlo viendo que q2 1(u) + q2 2(u)6=r2: q2 x(u) + q2 y(u) =((1 −u)2rcos α+ 2u(1 −u)r cos α+u2rcos α)2+ + (−(1 −u)2rsen α+u2rsen α)2= =(1 −u)4r2+u4r2+ 2r2u2(1 −u)2−sen2α+ cos2α+2 cos2α+ + 4u(1 −u)3r2+ 4u3(1 −u)r2= =r21+2u2(1 −u)2−1 + 2 cos2α+2 cos2α−6u2(1 −u)2= =r21−4u2(1 −u)2(cos2α−1) cos2α6=r2. En la Figura 3.3 est´a representada la curva de B´ezier simple cuadr´atica q(u) y su proyecci´on en el plano (X, Y ), a la que vamos a denotar por q0(u). Figura 3.3: Representaci´on de la curva de B´ezier q(u) y su proyecci´on q0(u). Notar que si dividimos un arco de h´elice en subarcos de igual longitud y aproximamos cada uno de los subarcos por curvas de B´ezier simples o racionales de orden 2, obtendremos una curva de B´ezier polin´omica compuesta y una curva de B´ezier racional compuesta, ambas de clase G1. Observaci´on 3.1.1 Se tiene que h0(v) y r0(t) son el mismo arco de circunferencia con ´angulo 2αen el plano (X, Y ). 52 CAP´ ITULO 3. APROXIMACI ´ ON CUADR ´ ATICA DE H ´ ELICE 3.2. C´alculo del error utilizando la distancia de Hausdorff Proposici´on 3.2.1 Sea r(t)una c´onica y q(t)una curva de B´ezier cuadr´atica que tienen los mismos puntos de control p0,p1,p2, y r(t)tiene los pesos 1,ω,1, respectivamente. Entonces hay una reparametrizaci´on t(u)tal que r(t(u)) −q(u)es paralelo a p0−2p1+p2y se verifica: |r(t(u)) −q(u)| ≤ |1−ω| 4(1 + ω)|p0−2p1+p2|. Demostraci´on. Aunque en la Proposici´on 2.1 y el Corolario 2.2 en [4] se puede encontrar esta demostraci´on para curvas planas que se encuentran en el plano (X, Y ), tambi´en se tiene el resultado cuando r(t) y q(u) son curvas planas situadas en el mismo plano. Proposici´on 3.2.2 Para cada α,pyr, la aproximaci´on de la h´elice mediante curvas racionales cuadr´aticas y curvas simples cuadr´aticas tienen la siguiente cota de error: dH(h, r)≤pE(α),(3.2.1) dH(h, q)≤p(pE(α))2+ (rF(α))2,(3.2.2) donde tA=1 2−1 2s(1 + cos α)(α−sen α) (1 −cos α)(α+ sen α), E(α) = arctan y(tA) x(tA)−z(tA) pω(tA), F(α) = 2 sen4α 4sec α. Demostraci´on. Por la Definici´on 1.1.15 sabemos que : dH(h, r) = m´ax m´ax t∈[0,1] m´ın v∈[0,1] |h(v)−r(t)|,m´ax v∈[0,1] m´ın t∈[0,1] |h(v)−r(t)|≤ ≤m´ax m´ax t∈[0,1] |h(v(t)) −r(t)|,m´ax t∈[0,1] |h(v(t)) −r(t)|. siendo h(v(t)) una reparametrizaci´on de h(v). 3.2. C ´ ALCULO DEL ERROR 53 Por lo tanto, se verifica la siguiente desigualdad: dH(h, r)≤m´ax 0≤t≤1|h(v(t)) −r(t)|.(3.2.3) Utilizando la reparametrizaci´on v=v(t) = arctan y(t) x(t), obtenemos que la diferencia entre la ecuaci´on de la h´elice (3.1.1) y la ecuaci´on de la c´onica (3.1.2) es la siguiente: h(v(t)) −r(t) = rx(t) px(t)2+y(t)2,ry(t) px(t)2+y(t)2, p arctan y(t) x(t)! −x(t) ω(t),y(t) ω(t),z(t) ω(t). Como ya hemos visto que la h´elice y la curva racional de B´ezier cuadr´atica est´an sobre el cilindro, entonces sabemos que x(t)2+y(t)2=rω(t)2, por lo tanto, podemos escribir la diferencia anterior como: h(v(t)) −r(t) = 0,0, p arctan y(t) x(t)−z(t) ω(t).(3.2.4) De esta forma, a la tercera componente de la expresi´on anterior la vamos a denotar como (t), (t) = parctan y(t) x(t)−z(t) ω(t), cuya derivada es la siguiente: 0(t) =py(t)0x(t)−y(t)x(t)0 x(t)2+y(t)2−z(t)0ω(t)−z(t)ω(t)0 ω(t)2= =p(y(t)0x(t)−y(t)x(t)0)−r2(z(t)0ω(t)−z(t)ω(t))) r2ω(t)2. A continuaci´on, vamos a ver que el numerador de 0(t) se puede escribir como una curva polinomial cuadr´atica, para ello primero vamos a determinar las derivadas de x(t), y(t), z(t) y ω(t), que son: x0(t) =r(−2 cos α(1 −t) + 2(1 −2t) + 2 cos αt), y0(t) =2rsen α, z0(t) =2pα, ω0(t) = −2(1 −t) + 2 cos α(1 −2t)+2t. 54 CAP´ ITULO 3. APROXIMACI ´ ON CUADR ´ ATICA DE H ´ ELICE Con esto se tiene que el numerador de 0(t) se puede escribir como: p(y0x−yx0)−r2(z0ω−zω)) = =2r2p{sen αcos α(1 −t)2+ 2t(1 −t) + t2cos α− −sen α(2t−1)(−cos α+ 2tcos α+ 1 −2t)− −α((1 −t)2+ 2 cos αt(1 −t) + t2)+ +α(2t−1)(−1+2t+ cos α(1 −2t))}= =2r2p{− sen α(−2t2+ 2t2cos α−2tcos α−1)+ +α(2t2−2t2cos α+ 2tcos α−2t−cos α)}= =2r2p{t2(2 sen α−2 cos αsen α+ 2α−2αcos α)+ +t(2 sen αcos α−2 sen α+ 2αcos α−2α)+ + (sen α−αcos α)}= =2r2p{2(t2−t)(α−αcos α+ sen α−sen αcos α)+ + (sen α−αcos α)}= =2pr2{2(α+ sen α)(1 −cos α)(t2−t) + (sen α−αcos α)}. En la Figura 3.4, quedan representadas ambas ra´ıces de la curva polinomial cuadr´atica anterior con α∈(0, π/2), que son: Figura 3.4: Representaci´on de tAytBpara α∈(0, π/2). 3.2. C ´ ALCULO DEL ERROR 55 tA=1 2−1 2s(1 + cos α)(α−sen α) (1 −cos α)(α+ sen α), tB=1 2+1 2s(1 + cos α)(α−sen α) (1 −cos α)(α+ sen α). y se puede apreciar que ambas se encuentran en el intervalo (0,1) para α∈ (0, π/2). Por otro lado, como (t) = 0 para t= 0,1/2,1, y 0(t)>0 en (0, tA) y (tB,1), entonces (t) tiene un m´aximo local (tA), un m´ınimo local en (tB) y(tA) = −(tB) es el m´aximo global de (t) en el intervalo cerrado [0,1], como se muestra en la Figura 3.5. Figura 3.5: Representaci´on de (t) para t∈[0,1] cuando α=π/4. Por tanto, como el vector que se describe en (3.2.4) es paralelo al eje OZ, podemos acotar su m´odulo de la siguiente forma: |h(v(t)) −r(t)|=p(t)2=(t)≤(tA), porque hemos demostrado que (tA) es el m´aximo global de (t). As´ı que ya podemos ver que la desigualdad (3.2.1) es cierta: dH(h, r)≤m´ax 0≤t≤1|h(v(t))−r(t)| ≤ (tA) = parctan y(tA) x(tA)−z(tA) pω(tA)=pE(α) 56 CAP´ ITULO 3. APROXIMACI ´ ON CUADR ´ ATICA DE H ´ ELICE para todo 0 ≤t≤1. Ahora vamos a probar que se verifica la desigualdad (3.2.2), es decir, vamos a buscar una cota de error superior utilizando la distancia de Hausdorff dH(h, q) entre la h´eice h(v) y la curva de B´ezier cuadr´atica aproximada q(u). q(u) y r(t) tienen los mismos puntos de control b0,b1,b2, as´ı que por la Proposici´on 3.2.1, tenemos que existe una reparametrizaci´on t=t(u) tal que r(t(u)) −q(u) es paralelo a b0−2b1+b2y, adem´as: |r(t(u)) −q(u)| ≤ 1−cos α 4(1 + cos α)|b0−2b1+b2|. Para poder aplicar esta desigualdad, primero vamos a calcular el m´odulo del vector b0−2b1+b2=−2r(sen2αsec α, 0,0) que como es paralelo al eje OX, entonces su m´odulo es |b0−2b1+b2|= 2rsen2αsec α. As´ı que la desigualdad anterior se acota de la siguiente forma: |r(t(u)) −q(u)| ≤ (1 −cos α) 4(1 + cos α)×2rsen2αsec α= 2rsen4α 2sec α=rF(α). Por ´ultimo, hab´ıamos visto que h(v(t(u))) −r(t(u)) = (0,0, (t)) donde (t)≤pE(α). Por otro lado, tambi´en hemos visto que r(t(u)) −q(u) = (2(t),0,0) donde 2(t) = −2rsen2αsec αtal que 2(t)≤rF(α). Por ello, para todo u∈[0,1], con la reparametrizaci´on v=v(t(u)), tenemos: |h(v)−q(u)|=|(h(v(t(u))) −r(t(u)) + (r(t(u)) −q(u))|= =|((t),0, 2(t))|=p(t)2+2(t)2≤ ≤pp2E(α)2+r2F(α)2. Con esto ya queda probada la desigualdad (3.2.2). En la Figura 3.6 est´an representadas las dos cotas de error que hemos demostrado, pE(α) y pE(α)2+F(α)2, con α∈[0, π/4] y p=r= 1. 3.3. Ejemplos En este cap´ıtulo, hemos aproximado la h´elice dada por (3.1.1) como una curva de B´ezier racional cuadr´atica, r(t), dada por (3.1.2) y una curva de 3.3. EJEMPLOS 57 Figura 3.6: Representaci´on de (t) para t∈[0,1] cuando α=π/4. B´ezier simple cuadr´atica, q(u), dada por (3.1.3). Adem´as, hemos obtenido una cota de error utilizando la distancia Hausdorff para ambas aproximaciones que han sido demostradas en la Proposici´on 3.2.2. A continuaci´on vamos a mostrar mediante gr´aficas las curvas obtenidas por estos m´etodos que aproximan a la h´elice de partida. Ejemplo 3.3.1 En primer lugar vamos a aproximar una vuelta completa de la h´elice h(v) con r=p= 1 y v∈(−π/4,7π/4) dividi´endola en 4 arcos de igual amplitud. Cada uno de estos 4 arcos tendr´an como puntos extremos h(−π/4) y h(π/4), h(π/4) y h(3π/4), h(3π/4) y h(5π/4), y por ´ultimo h(5π/4) y h(7π/4). Cada arco ser´a aproximado por una curva de B´ezier racional cuadr´atica y una curva de B´ezier simple cuadr´atica seg´un el m´etodo que hemos visto en este cap´ıtulo. El resultado lo podemos ver en la Figura 3.7. En esta Figura podemos comparar visualmente el error de aproximaci´on que comete cada curva que hemos estudiado en este cap´ıtulo, donde la curva de B´ezier simple cuadr´atica aparece en verde, la curva de