Buscar en este blog

sábado, 25 de junio de 2011

Splines (5ª parte)

En esta quinta entrega de nuestra serie dedicada a las curvas B-splines nos centraremos en analizar de forma exclusiva la opción aparentemente más simple de todas las que ofrece el comando SPLINE. Se trata de la opción Objeto (Object) que, en las versiones 2011 y 2012 de AutoCAD, esconde algunas características singulares que conviene conocer para poder aplicarla correctamente. La última parte del artículo se refiere a las posibilidades que ofrece esta opción en las versiones de AutoCAD anteriores a la 2011, donde es una opción esencial para poder construir splines cuadráticas exactas.


La opción Objeto (Object)

El cometido de esta opción, que se ofrece en la primera solicitud del comando SPLINE, es la conversión de polilíneas 2D o 3D en verdaderas splines. Sin embargo, su comportamiento es muy distinto según el método de representación de splines, Ajustar (Fit) o VC (CV), que esté definido como actual. Las diferencias de comportamiento son tan notables que merecen tratamientos separados.


Método=Ajustar (Method=Fit)

Si el método de dibujo de splines está definido en Ajustar (Fit), la opción Objeto (Object) sólo permite designar polilíneas 2D o 3D transformadas en splines, es decir, polilíneas a las que se ha aplicado previamente la opción Spline del comando EDITPOL (PEDIT), las cuales son simples aproximaciones a curvas spline que están compuestas por segmentos rectos o de arco. La opción Objeto (Object) convierte estas aproximaciones en verdaderas splines.

Comando: SPLINE
Parámetros actuales: Método=Ajustar Nudos=Cuerda
Precise primer punto o [Método/Nudos/Objeto]: Objeto
Designe polilínea de ajuste de spline:

Como respuesta al mensaje de solicitud se puede designar cualquier número de polilíneas (no solamente una, como parece indicar el mensaje) y emplear para ello cualquiera de las opciones habituales de designación de objetos. Las polilíneas originales se conservan o se eliminan en función del valor que tenga asignado la variable de sistema DELOBJ. Cuando el valor de esta variable es distinto de 0, las polilíneas originales se suprimen una vez efectuada la conversión. Sólo se conservan si el valor de la variable es 0. Los valores negativos de la variable DELOBJ no tienen ningún efecto sobre el comando SPLINE.

Las curvas resultantes siempre adoptan las mismas propiedades de capa, color, tipo de línea, grosor de línea, etc., que las polilíneas originales.

El grado de las splines resultantes podrá ser de 2 o 3, es decir, las curvas podrán ser cuadráticas o cúbicas dependiendo del valor que tuviera la variable SPLINETYPE en el momento de aplicar la opción Spline del comando EDITPOL (PEDIT) sobre cada una de las polilíneas originales:
  • Cuando la variable SPLINETYPE tiene asignado el valor 5, la opción Spline del comando EDITPOL (PEDIT) transforma la polilínea en una aproximación a una spline cuadrática y, por lo tanto, la opción Objeto (Object) del comando SPLINE la convierte en una spline de grado 2.
  • Si la variable SPLINETYPE tiene asignado el valor 6, la polilínea se transforma en una aproximación a una spline cúbica y la opción Objeto (Object) del comando SPLINE la convierte en una spline de grado 3.
En la figura siguiente se puede apreciar claramente la diferencia que existe entre una spline cúbica aproximada, compuesta por segmentos rectos, y la verdadera spline de grado 3 que resulta de la conversión.

Método=VC (Method=CV)

Cuando el comando SPLINE está definido para dibujar las curvas a partir de los vértices de su polígono de control, la opción Objeto (Object) permite designar cualquier polilínea 2D o 3D, no sólo aquellas que hayan sido transformadas previamente en splines, lo que constituye una diferencia esencial respecto del método Ajustar (Fit). En el caso de las polilíneas 2D, es indiferente, además, que estén compuestas por segmentos rectos, de arco o por una combinación de ambos.

Comando: SPLINE
Parámetros actuales: Método=Ajustar Nudos=Cuerda
Precise primer punto o [Método/Nudos/Objeto]: Método
Introduzca método de creación de spline [Ajustar/VC] <Ajustar>: VC
Parámetros actuales: Método=VC   Grado=3
Precise primer punto o [Método/Grado/Objeto]: Objeto
Designe polilínea:

Igual que sucedía en el caso anterior, se puede responder al mensaje de solicitud designando cualquier número de polilíneas y no solamente una como parece indicar el mensaje. También son idénticos los efectos que tiene el valor de la variable DELOBJ respecto de la eliminación o conservación de las polilíneas originales después de efectuada su conversión en splines.

Las curvas resultantes adoptan siempre las propiedades de capa, color, tipo de línea, grosor de línea, etc., que estén definidas como actuales, ignorando por completo las propiedades de las polilíneas originales. Es decir, ocurre exactamente lo contrario que cuando el método de dibujo de splines está definido como Ajustar (Fit).

Por lo que se refiere al grado, las splines resultantes siempre son cúbicas (grado 3), lo que significa que no se tiene en cuenta el valor de la variable SPLINETYPE ni tampoco el de la variable SPLDEGREE, que establece el grado de la spline cuando el método VC (CV) está definido como actual.

Para terminar esta exposición sobre las particularidades que presenta la opción Objeto (Object) del comando SPLINE cuando el método actual es VC (CV), queremos poner de manifiesto el desastre que, a nuestro entender, se produce cuando se aplica sobre una polilínea transformada previamente en spline aproximada por aplicación de la opción Spline del comando EDITPOL (PEDIT). En principio, cabría pensar que la conversión debería producirse sin mayores problemas, dando lugar a una spline verdadera cuadrática o cúbica, tal y como sucede si el método actual es Ajustar (Fit). Sin embargo, por alguna razón que se nos escapa, la curva se corrompe en su tramo final adoptando formas un tanto pintorescas.

La figura siguiente muestra un ejemplo de la situación que acabamos de describir. En el lado izquierdo está dibujada una polilínea sencilla compuesta por segmentos rectos, mientras que en el derecho tenemos la misma polilínea sobre la que se ha aplicado la opción Spline del comando EDITPOL (PEDIT).
Y en la figura siguiente podemos ver el resultado que se obtiene al aplicar sobre ambas polilíneas la opción Objeto (Object) del comando SPLINE estando activo el método VC (CV). La conversión se produce correctamente en la polilínea de la izquierda, pero no así en la de la derecha, a pesar de que las dos polilíneas deberían dar lugar a la misma curva.
A la vista del ejemplo, podemos concluir que, cuando se trate de convertir polilíneas a las que previamente se haya aplicado la opción Spline del comando EDITPOL (PEDIT), es decir, polilíneas transformadas en aproximaciones a splines, deberá establecerse como actual el método Ajustar (Fit) antes de utilizar la opción Objeto (Object) del comando SPLINE. En todos los demás casos, podrá establecerse como actual el método VC (CV), pero convendrá tener en cuenta que las splines resultantes siempre serán cúbicas. Estas conclusiones son válidas para las versiones 2011 y 2012, ya que en ambas se produce el mismo error.


Versiones de AutoCAD anteriores a la 2011

Desde la versión 2011 de AutoCAD, puesto que es posible dibujar la curva a partir de su polígono de control (Método=VC) y predefinir el grado de la misma, la importancia y utilidad de la opción Objeto (Object) se han reducido notablemente. Sin embargo es una opción extraordinariamente útil en las versiones anteriores a la 2011 por dos razones:
  • Es el único método que proporciona AutoCAD para construir splines verdaderas cuando el punto de partida debe ser el polígono de control.
  • Es la única forma de construir splines cuadráticas, ya que el comando SPLINE siempre dibuja splines cúbicas y no existe la posibilidad de reducir el grado de la curva.
Como ejemplo de aplicación de la opción Objeto (Object), dirigido especialmente a los usuarios de AutoCAD que utilicen la versión 2010 o cualquier otra anterior, vamos a explicar el procedimiento de construcción de una parábola exacta cuando se conocen dos tangentes y sus puntos de contacto con la curva. Este procedimiento ya quedó expuesto en la segunda entrega de esta serie, pero aplicando las nuevas opciones incluidas en el comando SPLINE a partir de la versión 2011. En este ejemplo llegaremos al mismo resultado utilizando exclusivamente comandos y opciones disponibles en todas las versiones de AutoCAD.

Los datos de partida para dibujar la parábola deben ser dos tangentes y sus respectivos puntos de contacto con la curva. Si los datos fueran otros, sería necesario efectuar previamente las construcciones geométricas apropiadas para obtener dos tangentes cualesquiera con sus puntos de tangencia respectivos. A partir de ahí, sólo tenemos que dibujar una polilínea compuesta por dos segmentos rectos, que tenga sus vértices extremos en los puntos de tangencia con la parábola y el vértice intermedio en el punto de intersección de las tangentes. Una vez dibujada la polilínea, basta asignar el valor 5 a la variable de sistema SPLINETYPE y aplicar la opción Spline del comando EDITPOL (PEDIT) sobre la polilínea. El resultado será una parábola, cuyo grado de aproximación a la curva real dependerá del valor asignado a la variable SPLINESEGS.
La operación se completa iniciando el comando SPLINE, seleccionando la opción Objeto (Object) y designando la parábola aproximada, que quedará convertida en una parábola exacta sobre la que se podrán efectuar, con total exactitud, operaciones tales como encontrar sus puntos de intersección con una recta o con otra parábola, trazar tangentes desde un punto exterior, etc.


Ir a 4ª parte ...

0 comentarios: