PROCESSING
Programación para artistas visuales
Jaime Munárriz
1- La ventana de dibujo
Nuestros programas se ejecutan dibujando en una ventana. Podemos verla pulsando el botón "Run" (correr, ejecutar el programa).
![]()
La ventana de dibujo tiene un tamaño de 100x100 px. por defecto.

Determinamos el tamaño con la instrucción:
size(800,600);
El punto de origen (0,0) es la esquina superior izquierda.
Las coordenadas iniciales van por tanto desde (0,0) hasta (99,99).
2- Dibujando
Podemos "dibujar con números" con las instrucciones de dibujo simples:
point - punto
line - línea
ellipse - círculos y elipses
rect - cuadrados y rectángulos
arc - arco
quad - polígonos de 4 lados
triangle - polígonos de 3 lados
Cada instrucción de dibujo necesita unos parámetros (números) que indican dónde y cómo se dibuja esa forma.
point(5,5); // un punto
line(10,10,50,40); // (10,10) es el punto inicial, (90,90) el punto final
ellipse(50,50,30,10); // (50,50) es el centro,
// 30 el diámetro horizontal y 10 el diámetro vertical
rect(10,70,80,20); // (10,70) es la esquina superior izquierda, 80 el ancho y 20 el alto

3- Cambiar el grosor del trazo
El trazo es de 1px por defecto. Podemos modificarlo con:
strokeWeight(4); // (4 es el número de píxeles de grosor del trazo)
Varias líneas con grosor creciente como ejemplo:
strokeWeight(1);
line(20,20,20,80);
strokeWeight(2);
line(30,20,30,80);
strokeWeight(3);
line(40,20,40,80);
strokeWeight(4);
line(40,20,40,80);
strokeWeight(5);
line(50,20,50,80);
strokeWeight(6);
line(60,20,60,80);
strokeWeight(7);
line(70,20,70,80);
strokeWeight(8);
line(80,20,80,80);

Todas las formas que dibujemos a continuación tendrán un grosor de 4, hasta que cambiemos de nuevo el grosor con una nueva instrucción:
strokeWeight().
4- Comentarios
Utilizamos comentarios para luego acordarnos y poder comprender el código. Pueden se de una línea, como en los ejemplos anteriores, empezando con: //
O de varias líneas, en cuyo caso abrimos con /* y terminamos con */
/* esto es un comentario
de varias líneas
------------------------- !!!!!
*/
5- Suavizado (antialising)
Si queremos que las formas queden suaves, sin escalonamiento en los bordes, utilizamos la orden smooth() (suavizado).
smooth();
O su contrario, cuando necesitamos dibujar muchas formas muy rápidamente.
noSmooth();

noSmooth() vs smooth()
6- Polígonos
Podemos dibujar polígonos compuestos por varias líneas:
beginShape();vertex(20, 20);
vertex(85, 30);
vertex(65, 75);
vertex(30, 55);
endShape(CLOSE);

7- Formas curvas
Esta misma instrucción puede utilizarse para dibujar curvas:
noFill();
beginShape();
curveVertex(50, 90);
curveVertex(50, 90);
curveVertex(70, 20);
curveVertex(20, 12);
curveVertex(30, 60);
curveVertex(30, 60);
endShape();

8- Curvas de Bezier
Podemos trazar curvas de Bezier, una a una:
noFill();
stroke(255, 102, 0);
line(85, 20, 10, 10); // (tiradora)
line(90, 90, 15, 80); // (tiradora)
stroke(0, 0, 0);
bezier(85, 20, 10, 10, 90, 90, 15, 80); // (curva)

O en secuencia, con el sistema anterior:
beginShape();
vertex(30, 20);
bezierVertex(80, 0, 80, 75, 30, 75);
bezierVertex(50, 80, 60, 25, 30, 20);
endShape();
