El objetivo de esta tarea es hacer un programa interactivo para manejar una curva de Bezier. Recuerden que las tareas son individuales.
Una vez instalado Processing, la mejor manera de sumergirse en el desarrollo con Processing es abriendo el menú de Ejemplos en File->Examples. También ayuda la página de aprendizaje de Processing, y posteriormente la página de referencia. Para este segundo programa usaremos las funciones de Processing y sus primitivas gráficas.
Un ejemplo de un programa en Processing que usa estas funciones es el siguiente:
import processing.opengl.*;
void setup() { size(200, 200, P2D); stroke(255); noFill(); smooth(); }
void draw() { background(0); for(int i = 0; i < 100; i += 20) { bezier(90-(i/2.0), 20+i, 210, 10, 220, 150, 120-(i/8.0), 150+(i/4.0)); } } |
Screenshot del programa resultante del codigo anterior
1 El objetivo del sketch de Processing que va a hacer es un manipulador de curvas de Bezier. El sketch va a presentar una curva de bezier, de color blanco y de un cierto ancho, los puntos iniciales y finales con círculos de color anaranjado del tamaño de su preferencia, y los puntos de control en color azul. Los puntos de inicio y fin van unidos a sus respectivos puntos de control con una línea azul oscuro más delgada que la línea principal. El tamaño de la ventana debe ser de 500x500. Utilice el modo OPENGL.
2 Con el mouse debe ser capaz de hacer click sobre los puntos de inicio o de fin y de los puntos de control para moverlos en cualquier lado de la pantalla.
3 Al hacer doble click izquierdo en la pantalla se crea otra curva de Bezier que comienza por el final de la anterior. Se pueden crear de esta manera hasta 2 curvas más (es decir, máximo 3 curvas en pantalla).
4 Al hacer click derecho en la pantalla se elimina la última curva creada. El mínimo de curvas en la pantalla es una.
5 Funciones para revisar en la referencia: beginShape(), vertex(), bezierVertex(), endShape(), bezierTangent(), bezierTangent(), strokeWeight(), stroke(), mousePressed(), mouseDragged(), mouseReleased().
6 Usted entregará al correo electrónico ciro.duran@gmail.com un archivo comprimido en formato .ZIP o .RAR con el directorio que contiene el código fuente del sketch en Processing (de extensión .pde), nombrando el archivo con su nombre y el número de la tarea (ej. Ciro_Duran_Tarea_3.pde). Escriba esto mismo en el asunto del correo.
7 Usted puede entregar la tarea hasta el miércoles 17 de abril a las 11:59PM. Las tareas recibidas después de la hora no serán corregidas.
8 Usaremos la versión más reciente de Processing para evaluar, es decir, la versión 2.0.
9 Cualquier pregunta puede hacerla al correo ciro.duran@gmail.com.