entramado.net

Hermite, Bézier, B-Spline y cacaos mentales

Continúo estudiando por los sistemas CAD y los métodos de definición de curvas, para entender un poco mejor como funcionan estos he abierto el primer programa de CAD que tenía a mano en Ubuntu, el FreeCAD, un programa muy orientado al diseño 3D, tipo Inventor, Solid Works, etc.

Empiezo yendo al escenario Draft y viendo que tenemos aquí, enseguida encuentro como hacer una B-Spline, pincho unos cuantos puntos y me sale esto:

Una B-Spline según FreeCAD

Una B-Spline según FreeCAD

¡Sorpresa! Lo que debería ser una curva de aproximación es en realidad una curva de interpolación. Como vemos, todos los puntos de definición pasan por la curva, realmente es una curva de Hermite, posiblemente una Spline cúbica natural. Además la curva es poco editable, sólo es posible eliminar y rehacer los puntos y además se producen fallos hacerlo, total, muy poco intuitivo.

Paso entonces a otro programa, el LibreCAD, más enfocado a diseño 2D, por ejemplo planos o bocetos. Enseguida encuentro la opción Spline, que no dice mucho sobre cómo va a ser la curva. Hago unos cuantos puntos y me encuentro con lo siguiente:

Spline en LibreCAD

Spline en LibreCAD


Lo que podemos observar en esta “Spline” es que concretamente es una Bézier, el primer y ultimo punto coinciden con la curva y los puntos intermedios se aproximan a ella. Es muy sencillo esta vez editar el polígono de control para modificar la curva a nuestro gusto.
Conclusiones, los programadores de herramientas CAD libre deberían ser más descriptivos en sus nombres y saber realmente que están haciendo, probablemente por estos detalles el CAD libre no acaba de arrancar mientras que por ejemplo las herramientas de diseño gráfico y artístico sí que están a la altura, podemos poner los ya conocidos ejemplos de Blender, Inkscape y Gimp. Los algoritmos están ahí, ya escritos, pero es necesario recopilarlos e integrarlos en una sola herramienta que sea sencilla de utilizar y no tenga errores.

4 respuestas a “Hermite, Bézier, B-Spline y cacaos mentales”

  1. Miki dice:

    ¿Has probado con Qcad? Hace tiempo que no lo uso, pero recuerdo que estaba bastante bien. Es relativamente similar a AutoCAD, algo más feito, eso sí, pero bastante usable sobre todo cuando te acostumbras.

  2. litox9 dice:

    LibreCAD es la continuación totalmente libre de QCad, que porcierto ya no está en desarrollo, por eso gasto ese. No digo que no sea usable, pero al software CAD algo le falta para que se generalice su uso.

  3. Jose M. Cuetara dice:

    Las curvas de Bezier y los B-Splines (bspl) son casos particulares de las Non Uniform Tational B-Splines (NURBS) y son todas ellas curvas “de aproximación” y no “de ajuste”, como muy bien apunta el autor.

    Sin embargo, en el caso de FreeCAD la cosa es mas compleja, pues es factible convertir un cubic splines, realmente una secuencia de curvas de hermite de tercer grado, en una secuencia de curvas de Bezier de 4 puntos de control, y a su vez esta secuencia en un B-spline verdadero (hay algoritmos que lo hacen).

    Efectivamente Free CAD parece crear un “cubic Spline”, o mas bien una secuencia de curvas de Bezier de 3 o 4 puntos de control. En el programa no he encontrado modo de acceder a la definicion interna de la curva, salvo su exportacion a fichero IGES, y ahí, sorpresa¡¡¡ … FreeCAD lo exporta como un autentico b-spline.

    Efectivamente sería bueno que los desarrolladores de FreeCAD proporcionasen un poco más de informacion respecto a que son las entidades geometricas que utiliza y sobre el como manejarlas. Por todo lo demas, excluyendo los problemas de inestabilidad que presenta, pienso que es un programa de un potencial enorme.

  4. litox9 dice:

    Gracias por la aclaración, realmente no se por que lo hacen así, podrían ya que están dar las dos opciones de editarlo. Lo que menos me gustó de estos programas es su mala integración con Ubuntu, necesitan un buen equipo de desarrolladores que le pegue caña, pero le veo futuro a los dos proyectos, cada uno en su especialidad, espero que sigan mejorando.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Todos usamos cookies, acéptalo ya. más información

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close