Definición y Propiedades de las Curvas en Diseño Asistido por Ordenador

Definición Parabólica de Curvas de Trazado

La definición parabólica de curvas permite simplificar la búsqueda de curvas o tramos de curvas que ayuden a representar las formas del casco. Las líneas de aguas, en general, tienen una forma parabólica y se aproximarán más a esta forma matemática cuanto más se descomponga esta línea de trazado.

Ecuación de la parábola que pasa por tres puntos P1(x1,y1), P2(x2,y2), P3(x3,y3):

y(x) = A0 + A1*x1 + A2*x22

Donde A0, A1, A2 son los coeficientes desconocidos que habrá que determinar para formular la curva. Este método presenta la desventaja de que no puede conseguir una continuidad entre dos tramos contiguos, ni de tangencia ni de curvatura, por lo que no serviría para representar gráficamente las líneas de trazado.

El siguiente paso es usar una función polinómica de grado n, igual al número de puntos que definen la curva:

f(x) = A0 + A1*x + A2*x2 + … + An*xn

Pero presenta una desventaja, y es que al aumentar el número de puntos, aumenta el tamaño de los sistemas de matrices a resolver numéricamente y los tiempos de cálculo, que junto a los errores cometidos por las técnicas numéricas hacen que estas metodologías tampoco sean válidas para representar las formas de buques.

Curvas de Bézier

Son un método de definición de una curva en forma de serie de potencias y consiste en definir algunos puntos de control, a partir de los que se determinan los puntos de la curva. La forma de representar una curva polinómica de grado p mediante las curvas de Bézier es:

(fórmula)

Donde Bi,p son los polinomios de Bernstein y Pi los puntos de control. Los polinomios de Bernstein Bi,p(u) de grado p vienen dados por:

Donde u ∈ [0, 1].

Ventajas de las Curvas de Bézier:

  • Están dentro de un polígono formado por los puntos de control Pi.
  • Son infinitamente derivables.
  • Al modificar los puntos de control Pi, la curva cambia.
  • Si los puntos de control están alineados, la curva se convierte en una recta.
  • La tangente a la curva en el punto de control P0 tiene una dirección P0 à P1, mientras que la tangente a la curva en el punto Pn tiene la dirección Pn-1 à Pn.
  • Además, las curvas de Bézier son invariantes ante transformaciones usuales como rotaciones, traslaciones y escalados, lo que significa que esas transformaciones son aplicadas a los puntos de control.

Curvas Racionales de Bézier

Son un caso especial de las curvas B-Splines. Tienen forma polinómica y muchas ventajas; existen un número importante de curvas y superficies que no se pueden representar con polinomios, como círculos, elipses, hipérbolas, cilindros, conos o esferas. Se conoce que todas las curvas cónicas pueden ser representadas mediante funciones racionales que pueden ser definidas mediante polinomios.

Círculo de radio unidad y centro (0,0).

Elipse centrada en el origen con eje mayor en sentido del eje y y radio 2, y eje menor en sentido del eje x y radio 1.

De esta manera, las curvas racionales de Bézier son:

(fórmula)

Siendo Pi = (xi,yi,zi) los puntos de control y Ri,p(u) funciones racionales base de la curva. Donde Bi,p(u) son los polinomios de Bernstein y wi son los pesos.

Propiedades de las Curvas:

  • Son siempre positivas Ri,p ≥ 0 para todo i,p y con 0 ≤ u ≤ 1.
  • R0,p(0) = Rp,p(1) = 1.
  • El máximo de Ri,p(u) siempre está en el intervalo [0,1].
  • Si wi para todo i, entonces Ri,p(u) = Bi,p(u) para todo i.
  • Las curvas son contenidas en polígonos convexos definidos por los puntos de control Pi.
  • Las curvas Bézier racionales son invariantes a las transformaciones.
  • Las curvas polinómicas de Bézier son un caso especial de las curvas racionales de Bézier.
  • Se pueden expresar de una forma elegante que las haga eficientes computacionalmente.
  • La idea es usar coordenadas homogéneas para representar la curva racional de n dimensiones como un polinomio en un espacio de (n+1) dimensiones.

Un punto Pi = (xi,yi,zi) del espacio Euclídeo se puede representar en un espacio de 4 dimensiones como Pwi = (w · xi,w · yi,w · zi,w) para w ≠ 0. Así, P se puede obtener dividiendo Pw por la cuarta coordenada W. De esta manera, dado un conjunto de puntos de control Pi y pesos wi, se puede construir puntos de control ponderados.

Curvas B-Splines

Cada segmento está unido al anterior con el mismo nivel de continuidad. Cada trozo se representa como un polinomio estándar representado por Ci(u). Dados n puntos de control Pi, una curva Spline se define como:

(fórmula)

Donde fi(u) es la función polinómica definida a trozos, y cada fi es una función distinta. Estas curvas tienen propiedades similares a las curvas de Bézier, tienen formas definidas por el polígono de control, invarianza en las transformaciones y solo se ven afectadas por los puntos de control locales de cada subintervalo.

Definiciones:

  • Grado: Es un número positivo (p). Las líneas y polilíneas NURBS son normalmente de grado 1 (lineal), círculos de grado 2 (cuadrático), formas libres de grado 3 (cúbico) o 5 (quíntico).
  • Orden: El orden de una curva NURBS es un número entero positivo igual a (grado + 1). El grado es igual a (orden – 1).
  • Existe la posibilidad de incrementar los grados de una curva NURBS sin cambiar su forma. Pero no es posible reducir el grado de una curva NURBS y no cambiar su forma.
  • Puntos de control: Lista de puntos de grado + 1 como mínimo (Pi). Una de las maneras más sencillas de cambiar la forma de una curva NURBS es mover los puntos de control, que tienen un número asociado denominado peso, son números positivos. Cuando todos los puntos de control de una curva tienen el mismo peso, la curva se denomina no racional; de lo contrario, la curva se denomina racional.
  • Nodos: Lista de números de p + n − 1 (grado + orden – 1), donde n es el número de puntos de control U. El número debe mantenerse igual o aumentar a medida que vaya bajando en la lista y limitar el número de valores duplicados para que no sea superior al grado.

Por ejemplo, una curva NURBS de grado 3 con 11 puntos de control [0,0,0,1,2,2,2,3,7,7,9,9,9] es satisfactoria, pero [0,0,0,1,2,2,2,2,7,7,9,9,9] no lo es porque el número “2” se repite 4 veces, y 4 > 3 (grado).

El número de veces que se duplica el valor de un nodo (nudo) se denomina multiplicidad nodal. Un valor nodal es un nodo (nudo) de multiplicidad total si el grado se ha duplicado varias veces.

Nodos y Puntos de Control: Un error frecuente se produce cuando cada nodo se empareja con un punto de control, pero esto ocurre solo en las NURBS de grado 1.

El cálculo de las funciones base requiere la especificación del vector de nodos, U, y el grado de la curva, p. La ecuación anterior puede llevar al cociente 0/0 que, por convención, se toma como cero.

La derivada de la curva B-spline C(u) se obtiene derivando las funciones base respecto al parámetro u. Para añadir más flexibilidad a las curvas B-spline hay que utilizar el vector nudo U como una variable adicional, donde el mayor valor ui del vector nudo es el mayor valor que toma el parámetro u de la curva.

La modificación de un punto de control Pi cambia la curva C(u) en el intervalo [ui,ui+p+1).

El cálculo de las funciones base de grado p genera una tabla triangular truncada de la siguiente forma:

Se cumple que el número m de nodos ui del vector U es siempre m = n + p + 1. Existen tres tipos de vector nudo U:

  1. Vector nudo uniforme: aquel en el que los valores ui están igualmente espaciados, comenzando en 0 e incrementándose respectivamente en una unidad.
  2. Vector nudo uniforme abierto: tiene multiplicidad de los valores del vector nudo en los extremos igual al orden p de la curva, y los valores interiores están igualmente espaciados.
  3. Vector no uniforme: tiene valores no igualmente espaciados, y/o valores internos múltiples.

Curvas NURBS

Las NURBS (Non-Uniform Rational B-Spline) son representaciones matemáticas de geometría en 3D capaces de describir cualquier forma con precisión. Gracias a su flexibilidad y precisión, se pueden utilizar modelos NURBS en cualquier proceso, desde la ilustración y animación hasta la fabricación.

La geometría NURBS tiene cinco cualidades esenciales que la convierten en la opción ideal para el modelado asistido por ordenador:

  • Para el intercambio de la geometría NURBS se utilizan distintos métodos estándar de la industria. Los usuarios pueden transportar todos sus modelos geométricos entre los diferentes programas de modelado, renderizado, animación e ingeniería de análisis que hay en el mercado.
  • Las NURBS tienen una definición precisa y muy conocida. La mayoría de las universidades importantes enseñan matemáticas e informática de geometría NURBS. Eso significa que los vendedores de software especializado, los equipos de ingenieros, las empresas de diseño industrial y las empresas de animación que necesitan crear aplicaciones de software específicas para sus proyectos podrán encontrar programadores capacitados para trabajar con la geometría NURBS.
  • Las NURBS pueden representar con precisión objetos geométricos estándar tales como líneas, círculos, elipses, esferas y toroides, así como formas geométricas libres como carrocerías de coches y cuerpos humanos.
  • La cantidad de información que requiere la representación de una forma geométrica en NURBS es muy inferior a la que necesitan por separado las aproximaciones más comunes.
  • La implementación de las funciones que describen las NURBS es relativamente sencilla de implementar en un ordenador de manera eficaz y precisa.

Propiedades de las Curvas NURBS:

  • Cuando todos los pesos de la función son iguales a la unidad, la función se convierte en una B-Spline.
  • Cuando n = p, no existen nudos interiores del vector de nudos y se convierte en una curva racional de Bézier.
  • Si además del caso anterior todos los wi son iguales a la unidad, el resultado es una curva de Bézier.