Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
1. ¿QUÉ ES PROCESSING?................................................................................................... 2
1.1. Descargar Processing .................................................................................................. 2
1.2. El área de trabajo de processing ............................................................................. 5
1.3. Estructura de los programas ..................................................................................... 6
1.3.1. Funciones principales .............................................................................................. 6
1.3.2. Cómo se comenta el programa ........................................................................... 7
1.3.3. El lienzo de trabajo. El sistema de coordenadas ............................................ 7
91 695 05 19
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 1
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
1. ¿QUÉ ES PROCESSING?
Processing es un lenguaje de programación próximo al Java o al C++, pero
más sencillo. Se orienta a la creación de gráficos para poder aprender los
algoritmos esenciales y se usa por profesionales del diseño, estudiantes e
investigadores. Fue iniciado por Ben Fry y Casey Reas, ambos miembros de
Aesthetics and Computation Group del MIT (Instituto de Tecnología de Massa-
chusetts) Media Lab dirigido por John Maeda.
o Documentos (en MAX u otra distribución Linux). Tras esto, resulta útil crear un
acceso directo a Processing en el escritorio.
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 2
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
necesario instalarlo en el disco duro del ordenador (bastará con arrancar el
ejecutable que podéis tener en el propio PC o incluso en un pendrive). Los pasos
serían:
1º. Accede a https://processing.org/.
91 695 05 19
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 3
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
91 695 05 19
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 4
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
5º. Ahora, tan sólo tenemos que hacer doble clic sobre el icono “Proccesing" y el
programa se abrirá, quedando listo para trabajar con él.
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 5
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
Ayuda/Referencia. Muestra ayuda sobre cómo utilizar las instrucciones básicas
de Processing.
Archivo/Ejemplos. Presenta una colección de ejemplos.
Sketch/Importar biblioteca/Añadir biblioteca. Mediante esta opción podemos
agregar las librerías que otras personas van creando y ver así nuevos ejemplos.
Editar/Autoformato. Después de escribir un trozo de código, podemos hacer
que el texto adquiera el formato con las tabulaciones o espacios adecuados para
poder entender el código como marcan las normas de estilo.
Por otro lado, el botón Modo (arriba a la derecha) guarda por defecto los ar-
chivos en modo Java, pero podemos hacer clic en el desplegable y seleccionar apli-
caciones para Android, JavaScript o Python.
91 695 05 19
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 6
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
1.3.2. Cómo se comenta el programa
En todo lenguaje de programación es muy recomendable comentar el código.
Esto es debido a que en muchas ocasiones no es muy intuitivo, se le pueden olvidar
ciertos detalles al propio programador al cabo del tiempo, y se intenta facilitar la
lectura del código a otras personas (ya que los grandes programas suelen ser fruto
del trabajo en equipo de numerosas personas a lo largo del tiempo, con las habitua-
les mejoras y actualizaciones). Para hacer comentarios de una línea se debe iniciar
el comentario con //. Para hacer comentarios de más de una línea, se debe co-
menzar el comentario con /*, y finalizar con */. Los comentarios de documenta-
ción empiezan con /** y acaban con */, se emplean principalmente para compartir
una descripción del sketch cuando el programa es exportado.
91 695 05 19
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 7
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
91 695 05 19
Pº Pablo Iglesias, 5 – 28901 Getafe (Madrid)
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 8
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
Processing llama por defecto a los programas generados “sketch”. Por eso, el
nombre que le asigna en este caso es un genérico sketch_nº. Nosotros podemos
asignarle otro nombre más intuitivo como “Miprimerprograma”, pinchando
en: Archivo->Guardar como… y dándole la ubicación y nombre deseados.
…y observamos cómo
nos ha generado la
ventana o lienzo con
91 695 05 19
las dimensiones
deseadas.
Pº Pablo Iglesias, 5 – 28901 Getafe (Madrid)
Colegio Divina Pastora
2. FORMAS BÁSICAS
2.1. El color
Código de centro 28003262
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 9
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
Para trabajar con el color
en Processing, podemos utilizar
tres sistemas distintos:
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 10
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
2.2. Formas básicas
Una vez definido el lienzo, podemos dibujar diversas formas básicas en él, las
más vienen dadas en la tabla siguiente (si no se indica otra cosa, la unidad en la que
trabajan es el pixel):
Función Significado
line(x1, y1, x2, y2) Traza una línea desde la coordenada (x1, y1) hasta (x2,
y2).
triangle(x1, y1, x2, y2, Dibuja un triángulo con vértices en los puntos (x1, y1),
Pº Pablo Iglesias, 5 – 28901 Getafe (Madrid)
quad(x1, y1, x2, y2, x3, Dibuja un cuadrilátero con vértices en los puntos (x1,
y3, x4, y4) y1), (x2, y2), (x3, y3) y (x4, y4). El orden en que apare-
cen las coordenadas dentro de la sentencia es muy im-
portante; Processing va trazando una línea desde las
coordenadas x1, y1 hasta x2,y2, y así sucesivamente.
ellipse(x, y, ancho, alto) Dibuja una elipse con centro en (x, y) y diámetros (an-
Código de centro 28003262
cho, alto).
arc(x, y, ancho, alto, Dibuja un arco con centro en (x, y), dimensiones (ancho,
inicio, fin) alto) y ángulos de inicio y fin en radianes (inicio, fin).
CIF R-7800027-J
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 11
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
2.3. Propiedades básicas
En cuanto a las propiedades de todas estas formas básicas, podemos definir
algunas como el fondo, el borde, el relleno, ...
Si no le damos una instrucción que indique otra cosa, Processing dibuja
las formas usando una línea negra de 1 píxel de grosor y las rellena, en el caso
de poder hacerlo, con color blanco. Pero es mucho más atractivo conseguir que
nuestros diseños estén llenos de color y que pudiéramos cambiar el contorno de las
distintas figuras geométricas. Para ello, se dispone de las siguientes funciones:
Siempre hay que indicar los atributos antes de dibujar una figura. Es de-
cir, primero seleccionamos color, grosor de línea y relleno; después dibujamos
la figura en la posición y con las dimensiones que deseamos.
CIF R-7800027-J
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 12
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
91 695 05 19
Pº Pablo Iglesias, 5 – 28901 Getafe (Madrid)
3. PROGRAMAS INTERACTIVOS
Colegio Divina Pastora
Los programas que hemos realizado hasta ahora son los llamados programas
estáticos. Esto significa que nunca cambian. Se ejecutan una vez y cuando llegan a la
última línea de código, se paran. Si queremos que un programa sea interactivo, te-
nemos que habilitar la entrada de datos continuamente mientras el programa se eje-
cuta. Esto sólo es posible si la ejecución es continua.
Código de centro 28003262
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 13
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
la función draw(), se dice que Processing está funcionando en modo dinámico; cuan-
do no se utiliza, se dice que está funcionando en modo estático.
Vamos a escribir de nuevo un programa que dibuje una línea, pero utilizando
la función draw():
Programa 1:
1 void setup(){
2 size(300,300);
3}
4
5 void draw() {
6 line(0,0, width, height);
91 695 05 19
7}
nal (300, 300), último punto de la pantalla, hemos utilizado los comandos width y
height, que indican respectivamente el ancho y alto de la ventana.
En este momento, todavía no se puede apreciar que esto está pasando una y
otra vez (pues las líneas se dibujan una encima de otra continuamente), así que va-
mos a escribir otro programa para hacerlo más visible:
(programa 2)
1 void setup(){
2 size(300,300);
Colegio Divina Pastora
3}
4
5 void draw() {
6 line(0,0, mouseX, mouseY);
Código de centro 28003262
7}
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 14
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
línea se dibuja; el segundo punto de la línea cambia dependiendo de la posición del
puntero del ratón. En el siguiente link se puede ver el resultado.
https://www.youtube.com/watch?v=lZA0qiPpMuY&feature=emb_logo
Como puede verse en el video, se deja un rastro de líneas por donde se mueve
el ratón. Esto es porque cada línea dibujada no es eliminada ni se dibuja nada más
por encima. Puede añadirse una nueva línea de código al principio del draw() para
establecer el color de fondo a blanco, por lo que parecerá que existe siempre una
sola línea. Esto se debe a que el código dentro de esta función se ejecuta una y
otra vez, línea por línea, de arriba a abajo. Por tanto, lo primero que sucede cada vez
que el draw() se ejecuta es que se crea el fondo blanco sobre todo lo anterior; des-
pués una nueva línea es dibujada y luego el fondo se vuelve a poner blanco,... así una
y otra vez.
91 695 05 19
(programa 3)
1 void setup(){
2 size(300,300);
3}
Pº Pablo Iglesias, 5 – 28901 Getafe (Madrid)
4
5 void draw() {
6 background(255);
7 line(0,0, mouseX, mouseY);
8}
El resultado https://www.youtube.com/watch?v=Z85_5QBK_zs&feature=emb_logo
Colegio Divina Pastora
4. VARIABLES EN PROCESSING
Las variables son como un contenedor para diferentes tipos de datos. Pa-
ra cada variable, se necesita especificar qué tipo de datos contendrá. Los tipos de
Código de centro 28003262
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 15
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
Ejemplo de utilización: int ancho=200;
int alto=100;
rect(10,10,ancho,alto);
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 16
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
Ejemplos: string nombre="Luis";
string apellidoI0="Torres";
de éstas son:
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 17
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
4.2. Operaciones más usuales.
Processing tiene incluidas las funciones matemáticas o lógicas más usuales pa-
ra utilizarlas con las variables creadas.
Paréntesis: ( y ).
Relacionales: >, >=, <, <=, == y !=, que se corresponden con mayor que,
mayor o igual que, menor que, menor o igual que, igual a, distinto de.
91 695 05 19
Lógicos: !, && y ||, que se corresponden con las funciones lógicas NOT, AND y
OR. Se emplean con frecuencia en estructuras de control del flujo del programa.
Pº Pablo Iglesias, 5 – 28901 Getafe (Madrid)
1 int i=0; //variable global de valor entero que vamos a usar para mover las lí-
neas
2 void setup() {
3 size (400,400); //lienzo de 400x400 píxeles
Código de centro 28003262
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 18
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
10 }
5. TEXTOS
Con processing se puede mostrar información en forma de texto de dos ma-
neras:
En la consola del IDE, con las instrucciones print(“Texto”); o println(“Texto”);
incluyendo en el segundo caso un salto de línea. Esto sirve para mostrar men-
sajes de confirmación de cara al programador o usuario.
91 695 05 19
Pº Pablo Iglesias, 5 – 28901 Getafe (Madrid)
Colegio Divina Pastora
Código de centro 28003262
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 19
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
3 textSize(12); //definimos el tamaño de la letra
4 fill(125,0,125); // definimos el color de fuente
5 text("tecnologia",10,30); //indicamos el texto a escribir en (10,30)
6}
sintaxis es la siguiente:
if (condición1){
Bloque 1 de sentencias
}
else{
Bloque 2 de sentencias
}
Colegio Divina Pastora
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 20
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
> Mayor que 4>2 true
< Menor que 54<12 false
>= Mayor o igual que 14>=10 true
<= Menor o igual que 22<=11 false
== Igual a 20==19 false
!= Distinto de "d"!="r" true
Por otra parte, debemos tener en cuenta que pueden utilizarse va-
rios if()anidados.
La sentencia if puede evaluarse sobre varias condiciones lógicas a la vez usan-
do operadores lógicos. Son los siguientes:
91 695 05 19
tas
|| O cond1 || cond2 es true si alguna de las dos condiciones
es cierta
! No !cond1 es true si la condición es falsa
6.2. Switch
Colegio Divina Pastora
La sentencia switch es muy útil si tenemos una serie larga de funciones que
queremos que se ejecuten cuando el valor de una variable coincida con el que le
indiquemos. Su sintaxis sería la siguiente:
switch(selector){
Código de centro 28003262
case A:
funcion_1();
break;
case B:
funcion_2();
break;
CIF R-7800027-J
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 21
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
case C:
funcion_3();
break;
deafult: //opcional
funcion_defecto();
break;
}
3 void setup() {
4 size(400, 400);
5 background(0);
6 stroke(255);
7 fill(0);
8 rectMode(CENTER);
9 }
10
Colegio Divina Pastora
11 void draw() {
12 contador++;
13 switch (contador) {
14
Código de centro 28003262
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 22
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
22 delay(500);
23 break;
24 default: //para cualquier otro valor de 'contador'
25 contador = 0; //reinicia 'contador'
26 delay(500);
27 break;
28 }
29 }
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 23
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
Veamos cómo funciona en un ejemplo concreto:
(programa 7)
1 void setup()
2{
3 size(400,400);
4 for(int x=20; x<=380; x=x+20)
5{
6 line(x,20,x,380);//dibuja una linea vertical
7}
8}
91 695 05 19
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 24
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
8. AÑADIR INFORMACIÓN CON EL TECLADO
Processing puede recibir datos por el teclado, determinando si se ha pulsado
alguna tecla y la tecla que se ha pulsado. Para ello, usa fundamentalmente
dos variables para reconocer si se ha pulsado o no una tecla y reconocer cuál es:
keyPressed. Es una variable de tipo boolean que adopta el valor true mientras
se presiona una tecla. Si no se está presionando ninguna tecla, devuelve false.
key. Es una variable de tipo char que adopta el valor de la última tecla presio-
nada.
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 25
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
especiales (SHIFT, CTRL, UP, DOWN, etc). También es posible implementar la fun-
ción keyReleased que, al contrario que keyPressed, será invocada cada vez que se
suelte una tecla.
Para cargar una imagen que se encuentre dentro de nuestra carpeta data,
puede utilizarse un código como el siguiente:
Pº Pablo Iglesias, 5 – 28901 Getafe (Madrid)
Colegio Divina Pastora
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 26
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe
Si pusiéramos: image(imagen_01, 100,100,width/2,height/2); estaríamos si-
tuando la esquina superior izquierda de la imagen en las coordenadas (100,100) y el
tamaño de imagen sería la mitad.
FUENTES CONSULTADAS
Código de centro 28003262
https://sites.google.com/site/processing2obachillerato/
Libro tecnología, programación y robótica 3ºESO- Anaya
CIF R-7800027-J
www.divinapastoragetafe.es
UNIÓN EURO-
secretaria@divinapastoragetafe.es 27
PEA PastorasGetafe
Fondo Social
Europeo
BACHILLERATO DUAL Divina Pastora Getafe