sábado, 13 de junio de 2009

Curvas de Bezier en Draw

El programa Draw de la suite de oficina OpenOffice tiene entre sus herramientas la posibilidad de hacer curvas de Bezier, es decir, curvas con puntos y manijas de control.

Pantalla de un nuevo dibujo mostrando la opción para hacer curvas de Bezier en la Barra de herramientas.

Una curva de Bezier consiste en una línea quebrada en varios puntos. Desde el punto de vista del usuario es como hacer una curva "uniendo los puntos". Uno hace click donde quiere que empiece la curva, se mueve el mouse hasta el siguiente punto, se hace click y de la misma forma hasta lograr la curva deseada (bueno, más o menos) y se hace doble click en el punto donde debe terminar la curva.

Curva que tracé con unos pocos puntos.

Como ven, muchas veces las curvas no salen exactamente como queríamos.
Para tomar control de todos los puntos de la curva se debe seleccionar la herramienta "Puntos":

Pantalla de dibujo mostrando el botón de la herramienta "Puntos" para control de puntos Bezier y el menú flotante de control de puntos.

Mientras la herramienta "Puntos" esté seleccionada, se puede mover cada punto individualmente.

"Curva" con los puntos movidos.

Pero lo más importante viene en el menú flotante de puntos; se puede convertir un punto en curva, en curva simétrica, agregar o quitar puntos de control, cerrar o dividir la curva de Bezier, etc. Las opciones son muchas y abarcarlas todas en un solo post lo haría demasiado pesado, pero hay que ejemplificar una herramienta de ese menú especialmente útil: "Suavizar transición":

El botón "Suavizar Transición" convierte el punto de una arista a un control de curva.
Los puntos que aparecieron se llaman manijas de control y sirven para controlar la forma de la curva. Por default OpenOffice hace que las manijas estén a una distancia simétrica del punto de control y que sean tangentes a la curva, esto resulta en una curva "suave" (sin sobresaltos) e integrada a la forma de la "curva" general.

Repitiendo la aplicación de "Suavizar Transición" a cada punto de nuestra "curva" (se selecciona un punto y luego se oprime el botón del menú flotante) se logra una curva continua:

Y ahora a mi "curva" se le puede llamar curva.

2982.42