• No se han encontrado resultados

Geometría de curvas y computación 3. Las curvas de Bézier

N/A
N/A
Protected

Academic year: 2021

Share "Geometría de curvas y computación 3. Las curvas de Bézier"

Copied!
87
0
0

Texto completo

(1)

Geometr´ıa de curvas y computaci´ on 3. Las curvas de B´ ezier

Fausto Ongay

CIMAT, Gto., M´exico

Julio, 2012

(2)

Curvas polinomiales

Como indicamos, las curvas m´as importantes para la graficaci´on son tal vez las curvas polinomiales:

Definici´on

Una curva α(t) es polinomial (o polin´omica, como se dice en otros pa´ıses de habla hispana) si sus componentes x (t), y (t) son polinomios.

El grado de una curva polinomial α(t) es m´ax{deg x , deg y }

Fausto Ongay (CIMAT) Julio, 2012 2 / 26

(3)

Curvas polinomiales

Como indicamos, las curvas m´as importantes para la graficaci´on son tal vez las curvas polinomiales:

Definici´on

Una curva α(t) es polinomial (o polin´omica, como se dice en otros pa´ıses de habla hispana) si sus componentes x (t), y (t) son polinomios.

El grado de una curva polinomial α(t) es m´ax{deg x , deg y }

(4)

Curvas polinomiales

Como indicamos, las curvas m´as importantes para la graficaci´on son tal vez las curvas polinomiales:

Definici´on

Una curva α(t) es polinomial (o polin´omica, como se dice en otros pa´ıses de habla hispana) si sus componentes x (t), y (t) son polinomios.

El grado de una curva polinomial α(t) es m´ax{deg x , deg y }

Fausto Ongay (CIMAT) Julio, 2012 2 / 26

(5)

Curvas polinomiales

Como indicamos, las curvas m´as importantes para la graficaci´on son tal vez las curvas polinomiales:

Definici´on

Una curva α(t) es polinomial (o polin´omica, como se dice en otros pa´ıses de habla hispana) si sus componentes x (t), y (t) son polinomios.

El grado de una curva polinomial α(t) es m´ax{deg x , deg y }

(6)

Motivaci´ on

Loss polinomios de Bernstein se aplican a la graficaci´on por ordenador mediante las curvas de B´ezier. ¿C´omo surgieron?

En la actualidad, al efectuar una reparaci´on en un autom´ovil, no pensamos en lo complejo que puede ser construir una refacci´on que ajuste

correctamente.

Pero en 1911 Cadillac pregonaba, con justificado orgullo (Standard of the World es su lema), que las piezas de tres veh´ıculos distintos se pod´ıan intercambiar ¡y obtener veh´ıculos funcionales!

Fausto Ongay (CIMAT) Julio, 2012 3 / 26

(7)

Motivaci´ on

Loss polinomios de Bernstein se aplican a la graficaci´on por ordenador mediante las curvas de B´ezier. ¿C´omo surgieron?

En la actualidad, al efectuar una reparaci´on en un autom´ovil, no pensamos en lo complejo que puede ser construir una refacci´on que ajuste

correctamente.

Pero en 1911 Cadillac pregonaba, con justificado orgullo (Standard of the World es su lema), que las piezas de tres veh´ıculos distintos se pod´ıan intercambiar ¡y obtener veh´ıculos funcionales!

(8)

Motivaci´ on

Loss polinomios de Bernstein se aplican a la graficaci´on por ordenador mediante las curvas de B´ezier. ¿C´omo surgieron?

En la actualidad, al efectuar una reparaci´on en un autom´ovil, no pensamos en lo complejo que puede ser construir una refacci´on que ajuste

correctamente.

Pero en 1911 Cadillac pregonaba, con justificado orgullo (Standard of the World es su lema), que las piezas de tres veh´ıculos distintos se pod´ıan intercambiar ¡y obtener veh´ıculos funcionales!

Fausto Ongay (CIMAT) Julio, 2012 3 / 26

(9)

Motivaci´ on

Loss polinomios de Bernstein se aplican a la graficaci´on por ordenador mediante las curvas de B´ezier. ¿C´omo surgieron?

En la actualidad, al efectuar una reparaci´on en un autom´ovil, no pensamos en lo complejo que puede ser construir una refacci´on que ajuste

correctamente.

Pero en 1911 Cadillac pregonaba, con justificado orgullo (Standard of the World es su lema), que las piezas de tres veh´ıculos distintos se pod´ıan intercambiar ¡y obtener veh´ıculos funcionales!

(10)

Classical beauty...

Un Cadillac de 1910

Fausto Ongay (CIMAT) Julio, 2012 4 / 26

(11)

Classical beauty...

Un Cadillac de 1910

(12)

Antes de los ordenadores las curvas deb´ıan trazarse a mano, con curv´ıgrafos, y esto introduc´ıa una gran posibilidad de error.

Un curv´ıgrafo

Fausto Ongay (CIMAT) Julio, 2012 5 / 26

(13)

Antes de los ordenadores las curvas deb´ıan trazarse a mano, con curv´ıgrafos, y esto introduc´ıa una gran posibilidad de error.

Un curv´ıgrafo

(14)

Esto cambi´o radicalmente en 1959, cuando un f´ısico, matem´atico, e ingeniero en Citro¨en, Paul DeCasteljau, introdujo un algoritmo para trazar curvas polinomiales de manera eficiente, usando puntos de control.

Las pol´ıticas de privac´ıa de Citro¨en hicieron que el trabajo de DeCasteljau fuera ignorado casi por completo, y el m´etodo se dio a conocer a trav´es del trabajo (independiente, pero un poco posterior) de otro ingeniero, de la firma rival Renault, Pierre B´ezier.

Fausto Ongay (CIMAT) Julio, 2012 6 / 26

(15)

Esto cambi´o radicalmente en 1959, cuando un f´ısico, matem´atico, e ingeniero en Citro¨en, Paul DeCasteljau, introdujo un algoritmo para trazar curvas polinomiales de manera eficiente, usando puntos de control.

Las pol´ıticas de privac´ıa de Citro¨en hicieron que el trabajo de DeCasteljau fuera ignorado casi por completo, y el m´etodo se dio a conocer a trav´es del trabajo (independiente, pero un poco posterior) de otro ingeniero, de la firma rival Renault, Pierre B´ezier.

(16)

Esto cambi´o radicalmente en 1959, cuando un f´ısico, matem´atico, e ingeniero en Citro¨en, Paul DeCasteljau, introdujo un algoritmo para trazar curvas polinomiales de manera eficiente, usando puntos de control.

Las pol´ıticas de privac´ıa de Citro¨en hicieron que el trabajo de DeCasteljau fuera ignorado casi por completo, y el m´etodo se dio a conocer a trav´es del trabajo (independiente, pero un poco posterior) de otro ingeniero, de la firma rival Renault, Pierre B´ezier.

Fausto Ongay (CIMAT) Julio, 2012 6 / 26

(17)

El algoritmo de DeCasteljau

Dados n + 1 puntos en el plano, P0, · · · , Pn, la hoy llamada curva de B´ezier definida por ellos est´a dada por el algoritmo recursivo siguiente:

Definici´on

Para r = 1, · · · , n y i = 0, · · · , n − r definamos Pi0(t) = Pi, y Pir(t) = (1 − t)Pir −1(t) + tPi +1r −1(t) ; t ∈ [0, 1].

Entonces, la curva de B´ezier asociada es α(t) = P0n(t), t ∈ [0, 1]. Los puntos Pi se llaman puntos o v´ertices de control y el pol´ıgono

determinado por ellos se llama el pol´ıgono de control de la curva de B´ezier

(18)

El algoritmo de DeCasteljau

Dados n + 1 puntos en el plano, P0, · · · , Pn, la hoy llamada curva de B´ezier definida por ellos est´a dada por el algoritmo recursivo siguiente:

Definici´on

Para r = 1, · · · , n y i = 0, · · · , n − r definamos Pi0(t) = Pi, y Pir(t) = (1 − t)Pir −1(t) + tPi +1r −1(t) ; t ∈ [0, 1].

Entonces, la curva de B´ezier asociada es α(t) = P0n(t), t ∈ [0, 1]. Los puntos Pi se llaman puntos o v´ertices de control y el pol´ıgono

determinado por ellos se llama el pol´ıgono de control de la curva de B´ezier

Fausto Ongay (CIMAT) Julio, 2012 7 / 26

(19)

El algoritmo de DeCasteljau

Dados n + 1 puntos en el plano, P0, · · · , Pn, la hoy llamada curva de B´ezier definida por ellos est´a dada por el algoritmo recursivo siguiente:

Definici´on

Para r = 1, · · · , n y i = 0, · · · , n − r definamos Pi0(t) = Pi, y Pir(t) = (1 − t)Pir −1(t) + tPi +1r −1(t) ; t ∈ [0, 1].

Entonces, la curva de B´ezier asociada es α(t) = P0n(t), t ∈ [0, 1]. Los puntos Pi se llaman puntos o v´ertices de control y el pol´ıgono

determinado por ellos se llama el pol´ıgono de control de la curva de B´ezier

(20)

El algoritmo de DeCasteljau

Dados n + 1 puntos en el plano, P0, · · · , Pn, la hoy llamada curva de B´ezier definida por ellos est´a dada por el algoritmo recursivo siguiente:

Definici´on

Para r = 1, · · · , n y i = 0, · · · , n − r definamos Pi0(t) = Pi, y Pir(t) = (1 − t)Pir −1(t) + tPi +1r −1(t) ; t ∈ [0, 1].

Entonces, la curva de B´ezier asociada es α(t) = P0n(t), t ∈ [0, 1].

Los puntos Pi se llaman puntos o v´ertices de control y el pol´ıgono

determinado por ellos se llama el pol´ıgono de control de la curva de B´ezier

Fausto Ongay (CIMAT) Julio, 2012 7 / 26

(21)

El algoritmo de DeCasteljau

Dados n + 1 puntos en el plano, P0, · · · , Pn, la hoy llamada curva de B´ezier definida por ellos est´a dada por el algoritmo recursivo siguiente:

Definici´on

Para r = 1, · · · , n y i = 0, · · · , n − r definamos Pi0(t) = Pi, y Pir(t) = (1 − t)Pir −1(t) + tPi +1r −1(t) ; t ∈ [0, 1].

Entonces, la curva de B´ezier asociada es α(t) = P0n(t), t ∈ [0, 1].

Los puntos Pi se llaman puntos o v´ertices de control y el pol´ıgono

determinado por ellos se llama el pol´ıgono de control de la curva de B´ezier

(22)

N´otese que Pir es una curva polinomial de grado r .

Los puntos de control se identifican, en el primer paso, con curvas de grado cero: el algoritmo de DeCasteljau aproxima por polinomios de grado cada vez mayor, hasta llegar a un polinomio de grado n.

Para entender qu´e hace el algoritmo de DeCasteljau es conveniente seguir con detalle el procedimiento para unos pocos puntos; n = 3 ´o incluso n = 2 dan la idea:

Fausto Ongay (CIMAT) Julio, 2012 8 / 26

(23)

N´otese que Pir es una curva polinomial de grado r .

Los puntos de control se identifican, en el primer paso, con curvas de grado cero: el algoritmo de DeCasteljau aproxima por polinomios de grado cada vez mayor, hasta llegar a un polinomio de grado n.

Para entender qu´e hace el algoritmo de DeCasteljau es conveniente seguir con detalle el procedimiento para unos pocos puntos; n = 3 ´o incluso n = 2 dan la idea:

(24)

N´otese que Pir es una curva polinomial de grado r .

Los puntos de control se identifican, en el primer paso, con curvas de grado cero: el algoritmo de DeCasteljau aproxima por polinomios de grado cada vez mayor, hasta llegar a un polinomio de grado n.

Para entender qu´e hace el algoritmo de DeCasteljau es conveniente seguir con detalle el procedimiento para unos pocos puntos; n = 3 ´o incluso n = 2 dan la idea:

Fausto Ongay (CIMAT) Julio, 2012 8 / 26

(25)

N´otese que Pir es una curva polinomial de grado r .

Los puntos de control se identifican, en el primer paso, con curvas de grado cero: el algoritmo de DeCasteljau aproxima por polinomios de grado cada vez mayor, hasta llegar a un polinomio de grado n.

Para entender qu´e hace el algoritmo de DeCasteljau es conveniente seguir con detalle el procedimiento para unos pocos puntos; n = 3 ´o incluso n = 2 dan la idea:

(26)

Ejemplo: n = 2; 3 puntos de control

Example

Consideremos los puntos de control P0, P1 y P2.

Los polinomios intermedios del algoritmo dan:

P01(t) = (1 − t)P0+ tP1 y P11(t) = (1 − t)P1+ tP2; Son las ecuaciones de los segmentos (interpolaci´on lineal o combinaci´on convexa) entre P0 y P1 (en ese orden) y P1 y P2, respectivamente. Por el n´umero de puntos, en el paso siguiente llegamos ya a la curva de B´ezier, y tenemos una sola curva:

P02(t) = α(t) = (1 − t)P01(t) + tP11(t) = (1 − t)2P0+ 2(1 − t)tP1+ t2P2.

Fausto Ongay (CIMAT) Julio, 2012 9 / 26

(27)

Ejemplo: n = 2; 3 puntos de control

Example

Consideremos los puntos de control P0, P1 y P2. Los polinomios intermedios del algoritmo dan:

P01(t) = (1 − t)P0+ tP1 y P11(t) = (1 − t)P1+ tP2;

Son las ecuaciones de los segmentos (interpolaci´on lineal o combinaci´on convexa) entre P0 y P1 (en ese orden) y P1 y P2, respectivamente. Por el n´umero de puntos, en el paso siguiente llegamos ya a la curva de B´ezier, y tenemos una sola curva:

P02(t) = α(t) = (1 − t)P01(t) + tP11(t) = (1 − t)2P0+ 2(1 − t)tP1+ t2P2.

(28)

Ejemplo: n = 2; 3 puntos de control

Example

Consideremos los puntos de control P0, P1 y P2. Los polinomios intermedios del algoritmo dan:

P01(t) = (1 − t)P0+ tP1 y P11(t) = (1 − t)P1+ tP2; Son las ecuaciones de los segmentos (interpolaci´on lineal o combinaci´on convexa) entre P0 y P1 (en ese orden) y P1 y P2, respectivamente.

Por el n´umero de puntos, en el paso siguiente llegamos ya a la curva de B´ezier, y tenemos una sola curva:

P02(t) = α(t) = (1 − t)P01(t) + tP11(t) = (1 − t)2P0+ 2(1 − t)tP1+ t2P2.

Fausto Ongay (CIMAT) Julio, 2012 9 / 26

(29)

Ejemplo: n = 2; 3 puntos de control

Example

Consideremos los puntos de control P0, P1 y P2. Los polinomios intermedios del algoritmo dan:

P01(t) = (1 − t)P0+ tP1 y P11(t) = (1 − t)P1+ tP2; Son las ecuaciones de los segmentos (interpolaci´on lineal o combinaci´on convexa) entre P0 y P1 (en ese orden) y P1 y P2, respectivamente.

Por el n´umero de puntos, en el paso siguiente llegamos ya a la curva de B´ezier, y tenemos una sola curva:

P02(t) = α(t) = (1 − t)P01(t) + tP11(t) = (1 − t)2P0+ 2(1 − t)tP1+ t2P2.

(30)

Example

Es claro que α es una curva de grado 2

La segunda igualdad muestra que los puntos sobre α se obtienen interpolando linealmente entre los puntos en las curvas (en este caso rectas) de la etapa anterior.

P0

P1

P2

El algoritmo de DeCasteljau

(Todas las gr´aficas est´an programadas en Mathematica.)

Fausto Ongay (CIMAT) Julio, 2012 10 / 26

(31)

Example

Es claro que α es una curva de grado 2

La segunda igualdad muestra que los puntos sobre α se obtienen interpolando linealmente entre los puntos en las curvas (en este caso rectas) de la etapa anterior.

P0

P1

P2

El algoritmo de DeCasteljau

(Todas las gr´aficas est´an programadas en Mathematica.)

(32)

Example

Es claro que α es una curva de grado 2

La segunda igualdad muestra que los puntos sobre α se obtienen interpolando linealmente entre los puntos en las curvas (en este caso rectas) de la etapa anterior.

P0

P1

P2

El algoritmo de DeCasteljau

(Todas las gr´aficas est´an programadas en Mathematica.)

Fausto Ongay (CIMAT) Julio, 2012 10 / 26

(33)

Example

Es claro que α es una curva de grado 2

La segunda igualdad muestra que los puntos sobre α se obtienen interpolando linealmente entre los puntos en las curvas (en este caso rectas) de la etapa anterior.

P0

P1

P2

El algoritmo de DeCasteljau

(34)

Proposici´on

Las curvas intermedias en el algoritmo de DeCasteljau satisfacen Pir(t) =

r

X

j =0

Bjr(t)Pi +j.

En particular, la curva de B´ezier asociada al pol´ıgono de control P0, · · · , Pnest´a dada por

α(t) =

n

X

i =0

Bin(t)Pi.

Fausto Ongay (CIMAT) Julio, 2012 11 / 26

(35)

Proposici´on

Las curvas intermedias en el algoritmo de DeCasteljau satisfacen Pir(t) =

r

X

j =0

Bjr(t)Pi +j.

En particular, la curva de B´ezier asociada al pol´ıgono de control P0, · · · , Pnest´a dada por

α(t) =

n

X

i =0

Bin(t)Pi.

(36)

Proposici´on

Las curvas intermedias en el algoritmo de DeCasteljau satisfacen Pir(t) =

r

X

j =0

Bjr(t)Pi +j.

En particular, la curva de B´ezier asociada al pol´ıgono de control P0, · · · , Pn est´a dada por

α(t) =

n

X

i =0

Bin(t)Pi.

Fausto Ongay (CIMAT) Julio, 2012 11 / 26

(37)

La curva de B´ezier no interpola entre los puntos del pol´ıgono de control. De hecho, en general s´olo interpola entre los dos puntos extremos: α(0) = P0 y α(1) = Pn.

Example

Para ilustrar las propiedades de las curvas de B´ezier, consideremos en lo que sigue el siguiente ejemplo expl´ıcito de una curva de grado 4, con pol´ıgono de control:

P0= (0, 0) ; P1= (1, 4) ; P2= (3, 4) P3= (6, 0) ; P4 = (7, 3).

(38)

La curva de B´ezier no interpola entre los puntos del pol´ıgono de control.

De hecho, en general s´olo interpola entre los dos puntos extremos: α(0) = P0 y α(1) = Pn.

Example

Para ilustrar las propiedades de las curvas de B´ezier, consideremos en lo que sigue el siguiente ejemplo expl´ıcito de una curva de grado 4, con pol´ıgono de control:

P0= (0, 0) ; P1= (1, 4) ; P2= (3, 4) P3= (6, 0) ; P4 = (7, 3).

Fausto Ongay (CIMAT) Julio, 2012 12 / 26

(39)

La curva de B´ezier no interpola entre los puntos del pol´ıgono de control.

De hecho, en general s´olo interpola entre los dos puntos extremos:

α(0) = P0 y α(1) = Pn.

Example

Para ilustrar las propiedades de las curvas de B´ezier, consideremos en lo que sigue el siguiente ejemplo expl´ıcito de una curva de grado 4, con pol´ıgono de control:

P0= (0, 0) ; P1= (1, 4) ; P2= (3, 4) P3= (6, 0) ; P4 = (7, 3).

(40)

La curva de B´ezier no interpola entre los puntos del pol´ıgono de control.

De hecho, en general s´olo interpola entre los dos puntos extremos:

α(0) = P0 y α(1) = Pn.

Example

Para ilustrar las propiedades de las curvas de B´ezier, consideremos en lo que sigue el siguiente ejemplo expl´ıcito de una curva de grado 4, con pol´ıgono de control:

P0= (0, 0) ; P1= (1, 4) ; P2= (3, 4) P3 = (6, 0) ; P4 = (7, 3).

Fausto Ongay (CIMAT) Julio, 2012 12 / 26

(41)

Example

P0

P1 P2

P3 P4

Una curva de B´ezier y su pol´ıgono de control.

(42)

Example

P0

P1 P2

P3 P4

Una curva de B´ezier y su pol´ıgono de control.

Fausto Ongay (CIMAT) Julio, 2012 13 / 26

(43)

Observaciones

Observaci´on

Entre m´as puntos tenga el pol´ıgono de control m´as posibilidades hay para manipular las curvas de B´ezier.

La f´ormula de elevaci´on del grado permite escribir relaciones entre las curvas que se obtienen al incluir puntos adicionales de control.

Sin embargo, es igualmente claro que mientras mayor sea el grado, mayor ser´a el coste computacional.

Las curvas intermedias en el algoritmo de DeCasteljau son ellas mismas curvas de B´ezier, cuyos pol´ıgonos de control consisten de algunos de los puntos consecutivos del pol´ıgono inicial.

Moraleja: en la pr´actica es importante escoger adecuadamente los puntos, tanto en posici´on como en n´umero, y en ocasiones puede ser mejor subdividir las curvas de B´ezier.

(44)

Observaciones

Observaci´on

Entre m´as puntos tenga el pol´ıgono de control m´as posibilidades hay para manipular las curvas de B´ezier.

La f´ormula de elevaci´on del grado permite escribir relaciones entre las curvas que se obtienen al incluir puntos adicionales de control.

Sin embargo, es igualmente claro que mientras mayor sea el grado, mayor ser´a el coste computacional.

Las curvas intermedias en el algoritmo de DeCasteljau son ellas mismas curvas de B´ezier, cuyos pol´ıgonos de control consisten de algunos de los puntos consecutivos del pol´ıgono inicial.

Moraleja: en la pr´actica es importante escoger adecuadamente los puntos, tanto en posici´on como en n´umero, y en ocasiones puede ser mejor subdividir las curvas de B´ezier.

Fausto Ongay (CIMAT) Julio, 2012 14 / 26

(45)

Observaciones

Observaci´on

Entre m´as puntos tenga el pol´ıgono de control m´as posibilidades hay para manipular las curvas de B´ezier.

La f´ormula de elevaci´on del grado permite escribir relaciones entre las curvas que se obtienen al incluir puntos adicionales de control.

Sin embargo, es igualmente claro que mientras mayor sea el grado, mayor ser´a el coste computacional.

Las curvas intermedias en el algoritmo de DeCasteljau son ellas mismas curvas de B´ezier, cuyos pol´ıgonos de control consisten de algunos de los puntos consecutivos del pol´ıgono inicial.

Moraleja: en la pr´actica es importante escoger adecuadamente los puntos, tanto en posici´on como en n´umero, y en ocasiones puede ser mejor subdividir las curvas de B´ezier.

(46)

Observaciones

Observaci´on

Entre m´as puntos tenga el pol´ıgono de control m´as posibilidades hay para manipular las curvas de B´ezier.

La f´ormula de elevaci´on del grado permite escribir relaciones entre las curvas que se obtienen al incluir puntos adicionales de control.

Sin embargo, es igualmente claro que mientras mayor sea el grado, mayor ser´a el coste computacional.

Las curvas intermedias en el algoritmo de DeCasteljau son ellas mismas curvas de B´ezier, cuyos pol´ıgonos de control consisten de algunos de los puntos consecutivos del pol´ıgono inicial.

Moraleja: en la pr´actica es importante escoger adecuadamente los puntos, tanto en posici´on como en n´umero, y en ocasiones puede ser mejor subdividir las curvas de B´ezier.

Fausto Ongay (CIMAT) Julio, 2012 14 / 26

(47)

Observaciones

Observaci´on

Entre m´as puntos tenga el pol´ıgono de control m´as posibilidades hay para manipular las curvas de B´ezier.

La f´ormula de elevaci´on del grado permite escribir relaciones entre las curvas que se obtienen al incluir puntos adicionales de control.

Sin embargo, es igualmente claro que mientras mayor sea el grado, mayor ser´a el coste computacional.

Las curvas intermedias en el algoritmo de DeCasteljau son ellas mismas curvas de B´ezier, cuyos pol´ıgonos de control consisten de algunos de los puntos consecutivos del pol´ıgono inicial.

Moraleja: en la pr´actica es importante escoger adecuadamente los puntos, tanto en posici´on como en n´umero, y en ocasiones puede ser mejor subdividir las curvas de B´ezier.

(48)

Observaciones

Observaci´on

Entre m´as puntos tenga el pol´ıgono de control m´as posibilidades hay para manipular las curvas de B´ezier.

La f´ormula de elevaci´on del grado permite escribir relaciones entre las curvas que se obtienen al incluir puntos adicionales de control.

Sin embargo, es igualmente claro que mientras mayor sea el grado, mayor ser´a el coste computacional.

Las curvas intermedias en el algoritmo de DeCasteljau son ellas mismas curvas de B´ezier, cuyos pol´ıgonos de control consisten de algunos de los puntos consecutivos del pol´ıgono inicial.

Moraleja: en la pr´actica es importante escoger adecuadamente los puntos, tanto en posici´on como en n´umero, y en ocasiones puede ser mejor subdividir las curvas de B´ezier.

Fausto Ongay (CIMAT) Julio, 2012 14 / 26

(49)

Observaciones

Como la curva de B´ezier est´a evidentemente determinada por su pol´ıgono de control (y viceversa, si se fija el grado), a veces escribiremos

α = α[P0, · · · , Pn].

Con esta notaci´on se tiene evidentemente la siguiente propiedad de simetr´ıa

α[P0, · · · , Pn](t) = α[Pn, · · · , P0](1 − t),

que corresponde a la simetr´ıa natural de los polinomios de Bernstein. Sin embargo, cualquier otra permutaci´on que se haga de los puntos de control, que generar´ıa un nuevo pol´ıgono de control, en general afectar´a fuertemente el aspecto de la curva de B´ezier.

(50)

Observaciones

Como la curva de B´ezier est´a evidentemente determinada por su pol´ıgono de control (y viceversa, si se fija el grado), a veces escribiremos

α = α[P0, · · · , Pn].

Con esta notaci´on se tiene evidentemente la siguiente propiedad de simetr´ıa

α[P0, · · · , Pn](t) = α[Pn, · · · , P0](1 − t),

que corresponde a la simetr´ıa natural de los polinomios de Bernstein. Sin embargo, cualquier otra permutaci´on que se haga de los puntos de control, que generar´ıa un nuevo pol´ıgono de control, en general afectar´a fuertemente el aspecto de la curva de B´ezier.

Fausto Ongay (CIMAT) Julio, 2012 15 / 26

(51)

Observaciones

Como la curva de B´ezier est´a evidentemente determinada por su pol´ıgono de control (y viceversa, si se fija el grado), a veces escribiremos

α = α[P0, · · · , Pn].

Con esta notaci´on se tiene evidentemente la siguiente propiedad de simetr´ıa

α[P0, · · · , Pn](t) = α[Pn, · · · , P0](1 − t),

que corresponde a la simetr´ıa natural de los polinomios de Bernstein.

Sin embargo, cualquier otra permutaci´on que se haga de los puntos de control, que generar´ıa un nuevo pol´ıgono de control, en general afectar´a fuertemente el aspecto de la curva de B´ezier.

(52)

Observaciones

Como la curva de B´ezier est´a evidentemente determinada por su pol´ıgono de control (y viceversa, si se fija el grado), a veces escribiremos

α = α[P0, · · · , Pn].

Con esta notaci´on se tiene evidentemente la siguiente propiedad de simetr´ıa

α[P0, · · · , Pn](t) = α[Pn, · · · , P0](1 − t),

que corresponde a la simetr´ıa natural de los polinomios de Bernstein.

Sin embargo, cualquier otra permutaci´on que se haga de los puntos de control, que generar´ıa un nuevo pol´ıgono de control, en general afectar´a fuertemente el aspecto de la curva de B´ezier.

Fausto Ongay (CIMAT) Julio, 2012 15 / 26

(53)

La figura ilustra el intercambio de los dos ´ultimos putos del pol´ıgono de control de la curva del ejemplo anterior:

Curvas de B´ezier con permutaci´on de uno de los puntos del pol´ıgono de control.

(54)

La figura ilustra el intercambio de los dos ´ultimos putos del pol´ıgono de control de la curva del ejemplo anterior:

Curvas de B´ezier con permutaci´on de uno de los puntos del pol´ıgono de control.

Fausto Ongay (CIMAT) Julio, 2012 16 / 26

(55)

La figura ilustra el intercambio de los dos ´ultimos putos del pol´ıgono de control de la curva del ejemplo anterior:

Curvas de B´ezier con permutaci´on de uno de los puntos del pol´ıgono de control.

(56)

En general, lo m´as que se puede decir es:

Proposici´on

La (imagen de la) curva de B´ezier est´a contenida en la envolvente convexa de los puntos de control.

Prueba.

Esto es consecuencia directa de que los puntos generados en todo el proceso del algoritmo de DeCasteljau se obtienen como combinaciones convexas de puntos del pol´ıgono de control.

Fausto Ongay (CIMAT) Julio, 2012 17 / 26

(57)

En general, lo m´as que se puede decir es:

Proposici´on

La (imagen de la) curva de B´ezier est´a contenida en la envolvente convexa de los puntos de control.

Prueba.

Esto es consecuencia directa de que los puntos generados en todo el proceso del algoritmo de DeCasteljau se obtienen como combinaciones convexas de puntos del pol´ıgono de control.

(58)

En general, lo m´as que se puede decir es:

Proposici´on

La (imagen de la) curva de B´ezier est´a contenida en la envolvente convexa de los puntos de control.

Prueba.

Esto es consecuencia directa de que los puntos generados en todo el proceso del algoritmo de DeCasteljau se obtienen como combinaciones convexas de puntos del pol´ıgono de control.

Fausto Ongay (CIMAT) Julio, 2012 17 / 26

(59)

En general, lo m´as que se puede decir es:

Proposici´on

La (imagen de la) curva de B´ezier est´a contenida en la envolvente convexa de los puntos de control.

Prueba.

Esto es consecuencia directa de que los puntos generados en todo el proceso del algoritmo de DeCasteljau se obtienen como combinaciones convexas de puntos del pol´ıgono de control.

(60)

La proposici´on se ilustra de nuevo con la curva del ejemplo dado antes:

Envolvente convexa del pol´ıgono de control

Fausto Ongay (CIMAT) Julio, 2012 18 / 26

(61)

La proposici´on se ilustra de nuevo con la curva del ejemplo dado antes:

Envolvente convexa del pol´ıgono de control

(62)

Ejercicios

Ejercicio

Prueba la proposici´on donde se da la expresi´on de la curva de B´ezier en t´erminos de los polinomios de Bernstein.

(Sugerencia: usa la f´ormula de recurrencia para los polinomios de Bernstein).

Ejercicio

Precisi´on lineal: Prueba que si P0, · · · , Pn son puntos equidistribuidos en una recta (esto es, uniformemente espaciados), entonces la curva de B´ezier α[P0, · · · , Pn](t) es exactamente la interpolaci´on lineal entre P0 y Pn.

Fausto Ongay (CIMAT) Julio, 2012 19 / 26

(63)

Ejercicios

Ejercicio

Prueba la proposici´on donde se da la expresi´on de la curva de B´ezier en t´erminos de los polinomios de Bernstein.

(Sugerencia: usa la f´ormula de recurrencia para los polinomios de Bernstein).

Ejercicio

Precisi´on lineal: Prueba que si P0, · · · , Pn son puntos equidistribuidos en una recta (esto es, uniformemente espaciados), entonces la curva de B´ezier α[P0, · · · , Pn](t) es exactamente la interpolaci´on lineal entre P0 y Pn.

(64)

Derivadas

Proposici´on

La derivada de una curva de B´ezier de grado n, α[P0, · · · , Pn], se puede escribir como curva de B´ezier de grado n − 1 como sigue:

Sea ∆Pi = Pi +1− Pi, entonces

α0(t) = n

n−1

X

i =0

Bin−1(t) ∆Pi.

Una consecuencia ´util en la pr´actica, para hacer ajustes en el trazado de las curvas con los puntos de control, es que la tangente a la curva de B´ezier en los extremos es paralela a los lados inicial y final del pol´ıgono de control:

α0(0) = n(P1− P0) ; α0(1) = n(Pn− Pn−1).

Fausto Ongay (CIMAT) Julio, 2012 20 / 26

(65)

Derivadas

Proposici´on

La derivada de una curva de B´ezier de grado n, α[P0, · · · , Pn], se puede escribir como curva de B´ezier de grado n − 1 como sigue:

Sea ∆Pi = Pi +1− Pi, entonces

α0(t) = n

n−1

X

i =0

Bin−1(t) ∆Pi.

Una consecuencia ´util en la pr´actica, para hacer ajustes en el trazado de las curvas con los puntos de control, es que la tangente a la curva de B´ezier en los extremos es paralela a los lados inicial y final del pol´ıgono de control:

α0(0) = n(P1− P0) ; α0(1) = n(Pn− Pn−1).

(66)

Derivadas

Proposici´on

La derivada de una curva de B´ezier de grado n, α[P0, · · · , Pn], se puede escribir como curva de B´ezier de grado n − 1 como sigue:

Sea ∆Pi = Pi +1− Pi, entonces

α0(t) = n

n−1

X

i =0

Bin−1(t) ∆Pi.

Una consecuencia ´util en la pr´actica, para hacer ajustes en el trazado de las curvas con los puntos de control, es que la tangente a la curva de B´ezier en los extremos es paralela a los lados inicial y final del pol´ıgono de control:

α0(0) = n(P1− P0) ; α0(1) = n(Pn− Pn−1).

Fausto Ongay (CIMAT) Julio, 2012 20 / 26

(67)

Derivadas

Proposici´on

La derivada de una curva de B´ezier de grado n, α[P0, · · · , Pn], se puede escribir como curva de B´ezier de grado n − 1 como sigue:

Sea ∆Pi = Pi +1− Pi, entonces

α0(t) = n

n−1

X

i =0

Bin−1(t) ∆Pi.

Una consecuencia ´util en la pr´actica, para hacer ajustes en el trazado de las curvas con los puntos de control, es que la tangente a la curva de B´ezier en los extremos es paralela a los lados inicial y final del pol´ıgono de control:

0 0

(68)

Control pseudo-local

Las curvas de B´ezier tienen la propiedad de control pseudo-local : Si α(t) y ˜α(t) son curvas cuyos pol´ıgonos de control difieren en los i -´esimos puntos,Pi y ˜Pi, entonces las curvas difieren en Bin(t)(Pi− ˜Pi).

La propiedad de m´aximo ´unico dice que es alrededor de Pi, donde las curvas muestran su mayor variaci´on:

De nuevo usando la curva del ejemplo, la figura ilustra que sucede al cambiar P3 de (6, 0) a (6, −2):

Fausto Ongay (CIMAT) Julio, 2012 21 / 26

(69)

Control pseudo-local

Las curvas de B´ezier tienen la propiedad de control pseudo-local : Si α(t) y ˜α(t) son curvas cuyos pol´ıgonos de control difieren en los i -´esimos puntos,Pi y ˜Pi, entonces las curvas difieren en Bin(t)(Pi− ˜Pi).

La propiedad de m´aximo ´unico dice que es alrededor de Pi, donde las curvas muestran su mayor variaci´on:

De nuevo usando la curva del ejemplo, la figura ilustra que sucede al cambiar P3 de (6, 0) a (6, −2):

(70)

Control pseudo-local

Las curvas de B´ezier tienen la propiedad de control pseudo-local : Si α(t) y ˜α(t) son curvas cuyos pol´ıgonos de control difieren en los i -´esimos puntos,Pi y ˜Pi, entonces las curvas difieren en Bin(t)(Pi− ˜Pi).

La propiedad de m´aximo ´unico dice que es alrededor de Pi, donde las curvas muestran su mayor variaci´on:

De nuevo usando la curva del ejemplo, la figura ilustra que sucede al cambiar P3 de (6, 0) a (6, −2):

Fausto Ongay (CIMAT) Julio, 2012 21 / 26

(71)

Control pseudo-local

Las curvas de B´ezier tienen la propiedad de control pseudo-local : Si α(t) y ˜α(t) son curvas cuyos pol´ıgonos de control difieren en los i -´esimos puntos,Pi y ˜Pi, entonces las curvas difieren en Bin(t)(Pi− ˜Pi).

La propiedad de m´aximo ´unico dice que es alrededor de Pi, donde las curvas muestran su mayor variaci´on:

De nuevo usando la curva del ejemplo, la figura ilustra que sucede al cambiar P3 de (6, 0) a (6, −2):

(72)

Control pseudo-local de las curvas de B´ezier.

Fausto Ongay (CIMAT) Julio, 2012 22 / 26

(73)

Control pseudo-local de las curvas de B´ezier.

(74)

Otras propiedades: Invariancia af´ın

Proposici´on

( Invariancia af´ın) Sea α la curva de B´ezier asociada al pol´ıgono de control P0, · · · , Pn.

Si φ es una transformaci´on af´ın del plano (es decir, la composici´on de una transformaci´on lineal con una traslaci´on), entonces la curva de B´ezier asociada al pol´ıgono de control φ(P0), · · · , φ(Pn) es precisamente φ(α):

φ(α[P0, · · · , Pn](t)) = α[(φ(P0), · · · , φ(Pn)](t).

Esto es esencial para la graficaci´on: en la pr´actica significa que podemos llevar nuestro dise˜no a una regi´on predeterminada del espacio, por ejemplo,

¡la pantalla de nuestro ordenador!

Fausto Ongay (CIMAT) Julio, 2012 23 / 26

(75)

Otras propiedades: Invariancia af´ın

Proposici´on

( Invariancia af´ın) Sea α la curva de B´ezier asociada al pol´ıgono de control P0, · · · , Pn.

Si φ es una transformaci´on af´ın del plano (es decir, la composici´on de una transformaci´on lineal con una traslaci´on), entonces la curva de B´ezier asociada al pol´ıgono de control φ(P0), · · · , φ(Pn) es precisamente φ(α):

φ(α[P0, · · · , Pn](t)) = α[(φ(P0), · · · , φ(Pn)](t).

Esto es esencial para la graficaci´on: en la pr´actica significa que podemos llevar nuestro dise˜no a una regi´on predeterminada del espacio, por ejemplo,

¡la pantalla de nuestro ordenador!

(76)

Otras propiedades: Invariancia af´ın

Proposici´on

( Invariancia af´ın) Sea α la curva de B´ezier asociada al pol´ıgono de control P0, · · · , Pn.

Si φ es una transformaci´on af´ın del plano (es decir, la composici´on de una transformaci´on lineal con una traslaci´on), entonces la curva de B´ezier asociada al pol´ıgono de control φ(P0), · · · , φ(Pn) es precisamente φ(α):

φ(α[P0, · · · , Pn](t)) = α[(φ(P0), · · · , φ(Pn)](t).

Esto es esencial para la graficaci´on: en la pr´actica significa que podemos llevar nuestro dise˜no a una regi´on predeterminada del espacio, por ejemplo,

¡la pantalla de nuestro ordenador!

Fausto Ongay (CIMAT) Julio, 2012 23 / 26

(77)

Otras propiedades: Invariancia af´ın

Proposici´on

( Invariancia af´ın) Sea α la curva de B´ezier asociada al pol´ıgono de control P0, · · · , Pn.

Si φ es una transformaci´on af´ın del plano (es decir, la composici´on de una transformaci´on lineal con una traslaci´on), entonces la curva de B´ezier asociada al pol´ıgono de control φ(P0), · · · , φ(Pn) es precisamente φ(α):

φ(α[P0, · · · , Pn](t)) = α[(φ(P0), · · · , φ(Pn)](t).

Esto es esencial para la graficaci´on: en la pr´actica significa que podemos llevar nuestro dise˜no a una regi´on predeterminada del espacio, por ejemplo,

¡la pantalla de nuestro ordenador!

(78)

Otras propiedades: Invariancia af´ın

Proposici´on

( Invariancia af´ın) Sea α la curva de B´ezier asociada al pol´ıgono de control P0, · · · , Pn.

Si φ es una transformaci´on af´ın del plano (es decir, la composici´on de una transformaci´on lineal con una traslaci´on), entonces la curva de B´ezier asociada al pol´ıgono de control φ(P0), · · · , φ(Pn) es precisamente φ(α):

φ(α[P0, · · · , Pn](t)) = α[(φ(P0), · · · , φ(Pn)](t).

Esto es esencial para la graficaci´on: en la pr´actica significa que podemos llevar nuestro dise˜no a una regi´on predeterminada del espacio, por ejemplo,

¡la pantalla de nuestro ordenador!

Fausto Ongay (CIMAT) Julio, 2012 23 / 26

(79)

Un forma generada con curvas de B´ ezier

Example

Se gener´o primero una curva, utilizando tres curvas de B´ezier de grado 5. Los puntos de control fueron definidos con criterios arbitrarios y

meramente est´eticos:

5 10 15

0.51.0 1.5 2.02.5 3.03.5

Un perfil generado con tres curvas de B´ezier de grado 5.

(80)

Un forma generada con curvas de B´ ezier

Example

Se gener´o primero una curva, utilizando tres curvas de B´ezier de grado 5.

Los puntos de control fueron definidos con criterios arbitrarios y meramente est´eticos:

5 10 15

0.51.0 1.5 2.02.5 3.03.5

Un perfil generado con tres curvas de B´ezier de grado 5.

Fausto Ongay (CIMAT) Julio, 2012 24 / 26

(81)

Un forma generada con curvas de B´ ezier

Example

Se gener´o primero una curva, utilizando tres curvas de B´ezier de grado 5.

Los puntos de control fueron definidos con criterios arbitrarios y meramente est´eticos:

5 10 15

0.51.0 1.5 2.02.5 3.03.5

Un perfil generado con tres curvas de B´ezier de grado 5.

(82)

Comentarios...

Example

La elecci´on del grado de las curvas es arbitraria; para reducir el coste computacional se escogi´o un grado relativamente peque˜no, pero que da ya bastante flexibilidad.

Las uniones de las curvas se aprecian en las c´uspides de la curva global, que ocurren en las abscisas 10 y 16.

Esta parte del proceso evidentemente no es matem´atica, y depende de los gustos y de las habilidades art´ısticas del usuario; pero usando esta curva para generar una superficie de revoluci´on se obtiene entonces el siguiente dise˜no para una mano de un mortero:

Fausto Ongay (CIMAT) Julio, 2012 25 / 26

(83)

Comentarios...

Example

La elecci´on del grado de las curvas es arbitraria; para reducir el coste computacional se escogi´o un grado relativamente peque˜no, pero que da ya bastante flexibilidad.

Las uniones de las curvas se aprecian en las c´uspides de la curva global, que ocurren en las abscisas 10 y 16.

Esta parte del proceso evidentemente no es matem´atica, y depende de los gustos y de las habilidades art´ısticas del usuario; pero usando esta curva para generar una superficie de revoluci´on se obtiene entonces el siguiente dise˜no para una mano de un mortero:

(84)

Comentarios...

Example

La elecci´on del grado de las curvas es arbitraria; para reducir el coste computacional se escogi´o un grado relativamente peque˜no, pero que da ya bastante flexibilidad.

Las uniones de las curvas se aprecian en las c´uspides de la curva global, que ocurren en las abscisas 10 y 16.

Esta parte del proceso evidentemente no es matem´atica, y depende de los gustos y de las habilidades art´ısticas del usuario; pero usando esta curva para generar una superficie de revoluci´on se obtiene entonces el siguiente dise˜no para una mano de un mortero:

Fausto Ongay (CIMAT) Julio, 2012 25 / 26

(85)

Comentarios...

Example

La elecci´on del grado de las curvas es arbitraria; para reducir el coste computacional se escogi´o un grado relativamente peque˜no, pero que da ya bastante flexibilidad.

Las uniones de las curvas se aprecian en las c´uspides de la curva global, que ocurren en las abscisas 10 y 16.

Esta parte del proceso evidentemente no es matem´atica, y depende de los gustos y de las habilidades art´ısticas del usuario; pero usando esta curva para generar una superficie de revoluci´on se obtiene entonces el siguiente dise˜no para una mano de un mortero:

(86)

Y el resultado final...

Example

Mano de mortero, modelada por la superficie de revoluci´on obtenida del perfil anterior.

Fausto Ongay (CIMAT) Julio, 2012 26 / 26

(87)

Y el resultado final...

Example

Mano de mortero, modelada por la superficie de revoluci´on obtenida del perfil anterior.

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

La combinación, de acuerdo con el SEG, de ambos estudios, validez y fiabilidad (esto es, el estudio de los criterios de realidad en la declaración), verificada la

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

La construcción explícita se desarrolla con el objetivo geométrico de des- cribir lugares que por la aplicación de evaluación determinen subvariedades lineales generales, de

We define three invoultions on the moduli space M(GL(n, C)) d and the corresponing involutions on Sym h T ∗ X [Lemma 4.3.14] that will be used in the study of orthogonal and

The considered refinement rules in the paper are widely used in practice and are associated to the well known two-scale refinement equation including as particular examples