1  Introducción

Vídeo de presentación.

Vídeo introductorio.

El diseño geométrico asistido por ordenador tiene su origen esencialmente en la industria del automóvil. El problema fundamental del que se ocupa consiste en describir las formas, curvas, superficies de un objeto (una pieza de una máquina, el casco de un buque o de un avión...) en forma matemática sencilla, pero eficiente y precisa, que permita trasladar a las oficinas técnicas las características del objeto para su manufactura.

El comienzo del diseño tal como lo conocemos hoy en día se puede situar en los trabajos de Paul de Casteljau para la empresa Citroën a finales de los años cincuenta del siglo pasado. Debido a su carácter secreto, no fueron conocidos hasta años después, razón por la cual muchas de las construcciones matemáticas llevan el nombre de Pierre Bézier, empleado de la Renault, para la cual trabajó durante 42 años.

Aunque el origen del diseño geométrico asistido por ordenador está fundamentalmente ligado a la industria automovilística, su aplicación alcanza a todas las ramas de la ingeniería, cada una de ellas con sus especificidades, desde la industria textil hasta la aeronáutica y naval.

El diseño geométrico es una materia interdisciplinar, ya que, por una parte, sus aplicaciones industriales son patentes y, por otro, entender los procesos que acontecen detrás de la pantalla del ordenador está claramente ligado a la informática y a la geometría.

A modo de complemento, para facilitar la comprensión de la notación y de los elementos del libro, incluimos en este tema cero una revisión de algunos conceptos matemáticos fundamentales. Este capítulo puede leerse independientemente antes de entrar en la materia del libro o se puede recurrir a él como notas de consulta cuando surja alguna dificultad en el resto de capítulos. Por ejemplo, no será preciso echar un vistazo al plano proyectivo hasta que lleguemos al tema de curvas racionales. Esperando que nadie se asuste, comenzaremos revisando el plano afín.

2  El plano afín

El plano afín es una pareja formada por un conjunto, A2, formado por unos elementos llamados puntos y el espacio lineal R2, es decir, el plano vectorial, cuyos elementos son los vectores. Vectores y puntos están ligados por una aplicación φ, que asocia a cada par de puntos x,y ∊ A2 el vector que los une, es decir, el vector con origen y final, respectivamente, en x e y.

φ(x,y) = xy  ,
(1)

fig101

o, indicado de una manera más laxa, podemos denotar esta operación como xy = y-x, y = x+xy, expresando de manera compacta el hecho de que el punto y se obtiene trasladando (sumando) el punto x por el vector xy.

El plano afín se puede transformar por medio de aplicaciones afines, muchas veces llamadas lineales de manera abusiva. Se caracterizan porque respetan la estructura vectorial del plano. Es decir, si usamos la relación entre puntos y vectores para definir a partir de la aplicación f en el plano afín una aplicación, f, en el plano vectorial:

f(xy): = f(y)-f(x)  ,
(2)

fig106

dicha aplicación f deberá ser lineal:

f(v+w) = f(v)+f(w)  ,       f( λv) = λ f(v)  ,    v,wR2  ,  λ ∊ R  .
(3)

Por tanto, para dar una aplicación afín, sólo es preciso dar una aplicación lineal y la imagen de un punto, ya que, si x = a+v,

f(x)-f(a) = f(ax) = f(v),       f(x) = f(a)+f(v)  .
(4)

Estos conceptos se pueden generalizar sin dificultad al espacio afín.

2.1  Coordenadas cartesianas

Para trabajar en el plano afín es conveniente introducir sistemas de referencia que nos permitan describir los puntos mediante parejas de números, que llamaremos coordenadas cartesianas del punto. Ejemplo.

Para introducir un sistema de referencia cartesiano en el plano, es preciso indicar un punto, el origen de coordenadas, y dos vectores que formen una base del plano vectorial. En una referencia {a,e1, e2} podremos expresar cualquier punto x del plano mediante las coordenadas (x1,x2) del vector que lo une al origen, ax,

ax = x1 e1+x2 e2  ,       x = a+ax = a+ x1 e1+x2 e2  .
(5)

fig102

Como manera de distinguir puntos de vectores, es conveniente expresar las coordenadas del punto x como (1,x1,x2), para diferenciarlas de las del vector ax, que denotaremos con frecuencia como (0,x1,x2).

Si f es la aplicación lineal asociada a una aplicación afín f y M es la matriz de f en una base {e1,e2}, entonces, como f(x) = f(a)+f(ax), podemos expresar las coordenadas cartesianas, (y1,y2), de f(x) como

(
y1
y2
) = (
b1
b2
)+ M(
x1
x2
)  ,
si (b1,b2) son las coordenadas cartesianas de f(a). La notación
(
1
y1
y2
) = (
1
0
b1
b2
M
)(
1
x1
x2
)
(6)
es mucho más compacta. Las columnas de la matriz de la aplicación afín son las coordenadas de las imágenes de los elementos de la referencia, f(a), f(e1), f(e2).

Por tanto, dada la imagen de una referencia, tenemos fijada la aplicación afín de manera única.

2.2  Coordenadas baricéntricas

Con frecuencia haremos uso de otro tipo de coordenadas en el plano. La relación con las coordenadas cartesianas, más usuales, es sencilla. Sólo se trata de poner en pie de igualdad los tres elementos de la referencia y, en vez de requerir un punto y dos vectores, {a,e1, e2}, necesitaremos tres puntos. La manera de obtenerlos es sencilla. Simplemente trasladamos el origen por cada de uno de los vectores de la base y así obtenemos la referencia baricéntrica {a,b,c}, b = a+e1, c = a+e2.

fig100

Si el punto x tenía por coordenadas (1,x1,x2) en la referencia cartesiana, sus coordenadas baricéntricas son sencillas de obtener:

x = 1· a+x1e1+x2e2 = (1-x1-x2)a+ x1(a+e1)+x2(a+e2)  ,
(7)
de donde se deduce que un punto de coordenadas cartesianas (1,x1,x2) tiene coordenadas baricéntricas (1-x1-x2,x1,x2), que obviamente suman uno, ya que una combinación de puntos debe tener suma de coeficientes igual a la unidad.

Del mismo modo, un vector de coordenadas cartesianas (0,x1,x2) tiene coordenadas baricéntricas (-x1-x2,x1,x2), que suman cero, como corresponde a un vector.

A la inversa, para pasar de coordenadas baricéntricas a coordenadas cartesianas con origen en, por ejemplo, el primero de los puntos, sólo es preciso eliminar la primera coordenada baricéntrica y sustituirla por un uno o un cero, dependiendo de si es un vector o un punto. Es decir, un punto de coordenadas baricéntricas (x0,x1,x2), Σxi = 1, tiene coordenadas cartesianas (1,x1,x2) si el origen es a. Si fuera un vector, sus coordenadas cartesianas serían (0,x1,x2).

Aunque no formen una referencia, podemos realizar combinaciones baricéntricas de varios puntos {a1,...,an} y escribir un punto x como x = Σxiai, donde xi son los coeficientes de la combinación, que deberán sumar la unidad. Para un vector, deberán sumar cero.

La interpretación de las coordenadas baricéntricas es sencilla. Consideremos tan sólo dos puntos {a,b}. Un punto x que sea combinación baricéntrica de {a,b} se escribe como x = (1-t)a+t b, es decir, ax = tab, con lo cual las combinaciones baricéntricas de {a,b} describen la recta que pasa por a y b. Más aún, podemos saber que, si las dos coordenadas (1-t), t están entre cero y uno, el punto x pertenece al segmento ab. El punto a corresponde a t = 0 y el punto b, a t = 1. Los puntos con t > 1 están más allá de b y los que tienen t < 0 están más allá de a. Ejemplo

fig103

Esto nos lleva a una construcción típica de la geometría afín, la razón simple de tres puntos alineados, a,b,x, que denotaremos por

[a,b,x]: = ax
xb
= t
1-t
  ,
(8)
que no es más que la proporción existente entre los dos segmentos en los que ''divide'' el punto x al segmento ab. Ejemplo

fig107

Claramente, si x está realmente contenido en el segmento ab, la razón simple es positiva y toma valores en el intervalo (0,∞). Si x está situado más allá de b, la razón simple toma un valor en el intervalo (-∞,-1). Y si x se encuentra más allá de a, toma un valor en (-1,0). Los puntos singulares corresponden a los casos degenerados de dos puntos coincidentes,

[a,b,a] = 0  ,       [a,b,b] = ∞   ,       [a,a,x] = -1  .
(9)

La importancia de la razón simple radica en que es invariante bajo aplicaciones afines, propiedad esta muy importante que subyace en el diseño. De hecho, las aplicaciones afines pueden caracterizarse precisamente por ser las únicas que conservan la razón simple de tres puntos alineados.

En el plano, podemos hacer una clasificación similar de los puntos en términos de sus coordenadas baricéntricas en una referencia {a,b,c}. Si x = u a+v b+w c, de modo que u+v+w = 1, el punto x estará en el interior del triángulo descrito por la referencia si 0 < u,v,w < 1. Si u = 0, el punto está sobre la recta bc y así sucesivamente. Ejemplo.

fig104

Esta propiedad se generaliza sin dificultad a combinaciones baricéntricas de varios puntos {a1,...,an}: Un punto x = Σuiai, tal que Σ ui = 1 de modo que 0 < u1,...,un < 1 está situado en el interior de la envolvente convexa de {a1,...,an}, es decir, el menor polígono convexo (con ángulos interiores menores que π) que encierra a todos los puntos.

fig111

El nombre de baricéntrico hace referencia a que estas combinaciones generalizan el concepto de baricentro o centro de gravedad de un conjunto de puntos, g,

g = 1
n+1
n
Σ
i = 0 
ai  ,
que no es más que el caso particular en el que todos los coeficientes son iguales.

Las aplicaciones afines también se pueden expresan en coordenadas baricéntricas. Si x = x0a+x1b+x2c, entonces

f(x) = x0f(a)+x1f(b)+x2f(c)  .
(10)

Así pues, las aplicaciones afines respetan las combinaciones baricéntricas,

f( n
Σ
i = 0 
uiai) = n
Σ
i = 0 
uif(ai)  ,
(11)
hecho que nos será muy útil al definir las parametrizaciones de Bézier.

Por ello, podemos expresar una aplicación afín en una referencia {a,b,c} como

(
y0
y1
y2
) = M(
x0
x1
x2
)  ,
(12)
donde (y0,y1,y2) son las coordenadas baricéntricas de la imagen, f(x), de un punto x, de coordenadas (x0,x1,x2). Las columnas de la matriz M de la aplicación son las coordenadas de las imágenes de los puntos de la referencia {a,b,c}.

3  Plano proyectivo

La asimetría entre puntos y vectores del plano afín se soslaya en una construcción más compleja, el plano proyectivo. Veremos que en él puntos y vectores están en pie de igualdad y que sólo al descender al plano afín aparecen las diferencias. Los vectores serán los puntos del infinito.

Para ello, consideremos en R3 el conjunto de rectas que pasan por el origen. A cada recta le asignamos un punto del plano proyectivo P2. Para identificar los puntos de P2, tomamos un punto representante de cada recta cortándolas, por ejemplo, por el plano x0 = 1. Cada recta corta a dicho plano en un único punto, salvo las rectas horizontales, paralelas al plano, que cortarían a x0 = 1 en un punto del infinito.

fig110

Con esta construcción hemos asignado a cada punto del plano afín x0 = 1 un punto del plano proyectivo. El resto de puntos son los puntos del infinito y los podemos asociar con cada una de las direcciones horizontales de las rectas del plano x0 = 0. Es decir, cada punto del infinito se corresponde con un vector, realmente con una recta de vectores.

Esta construcción heurística del plano proyectivo nos permite llevar por proyección al plano afín objetos que están definidos en el proyectivo, ampliando nuestro repertorio. Un punto del plano proyectivo, definido en R3 por el vector (x0,x1,x2), o por cualquier otro de la recta (λx0,λx1,λx2), en coordenadas homogéneas, se refleja en el afín en el punto (1,x1/x0,x2/x0) si x0 ≠ 0 en coordenadas inhomogéneas. En caso contrario, tal como queda dicho, se identifica con el vector (0,x1,x2).

3.1  Coordenadas proyectivas

Para definir un sistema de coordenadas en el plano proyectivo, se podría pensar que bastaría dar una terna de puntos no alineados. Si a,b,c son tres puntos no alineados del proyectivo (rectas vectoriales no coplanarias), añadimos un cuarto punto d, de manera que en {a,b,c;d} no haya tres puntos alineados. A este punto lo denominaremos punto unidad, precisamente porque ayuda a solventar la ambigüedad en la elección de representantes vectoriales, escogiendo vectores de R3 que verifiquen

d = a+b+c  .
(13)

Estos vectores son únicos, salvo un factor multiplicativo global (nótese que λa, λb, λc, λd, también verifican dicha condición).

Así, si, una vez fijada la base vectorial, {a,b,c}, las coordenadas de x son (x0,x1,x2), el punto x del proyectivo tendrá coordenadas homogéneas (λx0,λx1,λx2), con cualquier λ ≠ 0.

Un ejemplo más sencillo lo constituye la recta proyectiva. En una referencia {a,b;c}, un punto x de la recta tendrá coordenadas homogéneas λ(x0,x1). Si x0 ≠ 0, podemos escoger λ de modo que las coordenadas del punto sean (1,x1) con lo cual, como hemos visto, podemos identificar x con el punto x1 de la recta afín. Sólo queda fuera el único punto de coordenadas (0, λ). Este es el único punto adicional que presenta la recta proyectiva frente a la recta afín, así que podemos considerarlo el punto del infinito de esta. La recta proyectiva es, pues, una circunferencia cerrada por dicho punto.

fig112

Obviamente, las coordenadas homogéneas de a, b, c, en la referencia que definen son, respectivamente, (1,0), (0,1), (1,1), salvo factor multiplicativo.

3.2  Aplicaciones proyectivas

Una aplicación proyectiva del plano es una aplicación f: P2P2, es decir, que lleva rectas vectoriales de R3 a rectas vectoriales de R3, y que define a su vez una aplicación lineal f: R3R3, de modo que, si f(x) = y, entonces f(x) = y, siendo x,y representantes de los puntos x,y del plano proyectivo.

En una base vectorial de R3, {a,b,c}, la aplicación f tendrá una expresión coordenada

(
y0
y1
y2
) = M (
x0
x1
x2
)  ,
donde (x0,x1,x2), (y0,y1,y2) son las coordenadas de x,f(x), respectivamente, en dicha base y M es la matriz de f.

En el plano proyectivo, en una referencia {a,b,c;d} para la cual a,b,c,d son vectores representantes que verifican (13), la expresión matricial será la misma,

(
y0
y1
y2
) = λM (
x0
x1
x2
)  ,
salvo un factor multiplicativo λ ≠ 0.

Veámoslo en un ejemplo sencillo sobre la recta proyectiva, P1. En este caso, las ecuaciones de una aplicación proyectiva serán de la forma

(
y0
y1
) = λ(
A
B
C
D
) (
x0
x1
) = λ(
A x0+ B x1
C x0+ D x1
)   .

Para ganar intuición, proyectamos sobre la recta afín, dividiendo por la primera componente, es decir, eligiendo representantes en los que y0 = 1 = x0,

y1 = C + D x1
A + B x1
  .
(15)

fig109

Son las llamadas transformaciones de Möbius de la recta. En general, son funciones racionales, salvo si B = 0, caso en el que recuperamos las aplicaciones afines de la recta. En caso contrario, la imagen de x1 = -A/B queda fuera de la recta afín, ya que es el punto del infinito. Son aplicaciones proyectivas que no tienen equivalente afín, ya que mezclan el punto del infinito con los puntos afines.

Si (C,D) fuese proporcional a (A,B), podríamos factorizar la aplicación y nos quedaría y1 = const.. Este es un caso degenerado que evitamos exigiendo a las aplicaciones de Möbius que AD-BC ≠ 0, es decir, que la aplicación lineal sea regular.

Las aplicaciones proyectivas no respetan la razón simple. Sin embargo, el cociente de dos razones simples es conservado. De hecho, se puede demostrar que las aplicaciones proyectivas son las únicas que conservan este cociente, que, por ser razón de dos razones simples, denominaremos razón doble de los puntos a,b,c,x,

[a,b,c,x]: = [a,b,x]
[a,b,c]
= ax
xb
cb
ac
  .
(16)

fig108

Si llevamos el punto b al infinito, el cociente cb/xb tiende a la unidad y la razón doble está bien definida. Más aún, si tomamos a = 0, c = 1 (como corresponde a que, si (1,0), (0,1) son las coordenadas de a,b, respectivamente, entonces (1,1) son las del punto unidad c), entonces nos queda [0,∞,1,x] = x, es decir, la razón doble [a,b,c,x] nos proporciona la coordenada inhomogénea de x en la referencia {a,b;c}. Ejemplo

Lo mismo que para la razón simple, existen definiciones alternativas de la razón doble, que tan sólo modifican el orden de los puntos.


© Leonardo Fernández Jambrina