SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Seminario	
Act. Feb 2015
Creative Commons by-nc-sa
Creación interactiva para la web:	
Processing	
Miguel Gea
http://utopolis.ugr.es/mgea
Dpt. Lenguajes y Sistemas Informáticos
Universidad de Granada
http://www.slideshare.net/mgea/creacion-interactiva-web-processing
Miguel Gea. Producción interactiva 2
Processing	
• Lenguaje de programación y entorno basado en Java (de código
abierto) desarrollado en el MIT media Lab (John Maeda).
https://processing.org/overview/
• Uso para enseñar y producir proyectos multimedia e interactivos de
diseño digital para Web
• Herramientas
• Editor nativo (Windows/Mac/Linux)
• Editor online (sketchpad.cc)
• Plugin para insertar wordpress
Miguel Gea. Producción interactiva 3
Processing ejemplos	
https://processing.org/examples/storinginput.html
http://airtightinteractive.com/demos/processing_js/noisefield08.html
http://everyware.kr/portfolio/contents/09_oasis/
Miguel Gea. Producción interactiva 4
Processing: Sketchpad	
 http://sketchpad.cc/
!  Entorno interactivo en la Web para producir proyectos de Processing.
!  Permite colaborar varias personas en un proyecto (compartir y con chat)
Miguel Gea. Producción interactiva 5
Processing: lenguaje	
!  Lenguaje con sintaxis de Java (distingue minúsculas de mayúsculas)
!  Funciones (colección de ordenes) poseen argumentos entre paréntesis y terminan en “;”
!  Definir variables (de un tipo de dato: int, boolean, string, float) y asignar valor
!  Bloques de funciones. Comienzan con “void” y agrupar ordenes entre llaves
!  Comentarios. de una línea con doble barra “//” o de varias líneas entre /* … */
int numero; // declarar variables con un nombre (numero) y tipo (valor entero) 
/* funciones, agrupan órdenes entre { y } */

 void setup() { /* función especial de iniciación de datos */
numero = 3; 

} 
/* bloques de funciones, agrupan órdenes entre { y } */

 void draw() { /* se repite indefinidamente */
clear();
numero = numero +1 ;
println (“contador “,numero); 
} 
Siempre debe
aparecer esta funcion
en un script (se repite
infinitamente hasta que
acaba programa)
http://processing.org/
Miguel Gea. Producción interactiva 6
Processing: lienzo	
Canvas /lienzo. Donde se dibuja. Se debe definir un tamaño y los dibujos se incluyen
con coordenadas x e y. El punto (0,0) está en la esquina superior izquierda
!  Definir Tamaño lienzo
size (tamx, tamy);
!  Constantes
widht // valor de alto
height // valor de ancho
!  Modo dibujo y fps
// suavizar líneas
smooth (); 
// frames por segundo 30fps
frameRate (30); 
http://processing.org/
Miguel Gea. Producción interactiva 7
Processing: referencia	
Lenguaje, manual de referencia (https://processing.org/reference/)
http://processing.org/
Miguel Gea. Producción interactiva 8
Processing / dibujo	
!  Figuras de dibujo
!  Atributos de dibujo
/*se aplican por defecto a partir de ese momento */
background (255); /* fondo lienzo en escala grises */
background (255,233,233); /* color fondo en componentes RGB*/
/* valores de color para figuras de dibujo (borde y rellenos */
stroke (0); stroke(0,0,0); /* color borde, en escala de gris o RGB */
fill (50); fill (50,50,50); /* color relleno de áreas (circulos, triangulos..) */
noFill(); /* sin relleno */
noStroke(); /* sin borde */ strokeWeight(10); /* grosor en pixels del borde */
point (x,y);
line (x1, y1, x2, y2);
rect (x1,y1, ancho, alto);
ellipse (x1,y1, ancho, alto);
triangle(x1, y1, x2, y2, x3, y3);
text (“texto”, x,y);
Miguel Gea. Producción interactiva 9
Processing: ejemplo dibujo básico	
// dibujo basico
void setup() {
size(300, 300);
background(200);
}
void draw() {
fill(0);
rect (0,150,300,250);
fill (300,100,100);
ellipse(150, 150, 100, 100);
fill (0,100,100);
ellipse(150, 150, 50, 80);
stroke(0,0,250);
line (0,10,300,10); line (0,50,300,50);
line (0,100,300,100);
fill(0,0,250);
triangle(100,20,200,20,150,100);
noStroke(); fill(255);
textSize(20);
text("#medialabUGR",80,280);
} http://studio.sketchpad.cc/sp/pad/view/ro.9jxn3Ouzm1NM3/latest
Miguel Gea. Producción interactiva 10
Processing / dibujo	
 http://processing.org/reference
"  Imágenes
/* crear un tipo de dato “especial” para almacenar una imagen */
PImage img;
/* asociar una imagen (se encuentran en carpeta de datos o de internet (mediante URLR) */
img = loadImage("laDefense.jpg"); 
/* añadir al dibujo en canvas */
void draw() { 
image (img, 0, 0); 
// posición 
image (img,0,0,200, 180); //recortada a 200x180
}
http://studio.sketchpad.cc/sp/pad/view/ro.91SqcwRa8x6BL/latest
Miguel Gea. Producción interactiva 11
Processing / tipos datos	
Variables de tipo texto ascii ( String, char )
// Definición de variables, asignación y comparación
String texto, texto2; /* cadena de caracteres */
char c = ‘a’; /* un solo carácter, comillas simples */
// Asignación de valor
String texto1 = ”Mi texto”;
texto2 = “otro texto” 
// Extracción de un carácter
char c= texto1.charAt(4); /* seleccionado ‘t’*/
// comparación (operación lógica)
if (texto1 == texto2 ) { .. }  /* Comparación */
// concatenar textos
texto1 = texto2 + “…adios”; /* une ambos */
// Impresión del texto
text (texto1, 30,30); /* coloca en lienzo el literal que contiene texto1 */

println(texto1); /* lo imprime en la consola de mensajes */ 
http://processing.org/reference
atributos tamaño texto
textSize(20);
Miguel Gea. Producción interactiva 12
Processing / tipos datos	
Tipos dato numérico enteros ( int )
// Definición de variables, asignación y comparación
int x, y; /* crear variable */
int x = 3; /* crear variable y asignar valor */
// Asignación de valor
y = 44; 
x = y; /* x tendrá el mismo valor que y */ 
// comparación (operación lógica)
if (x == y ) { .. }  /* Comparación igualdad */
if (x >= y ) { .. }  /* Comparación mayor o igual que */
// operaciones aritmeticas
x = x +3 ; /* incrementa el valor de x en 3 */
x = y*2; /* x es el doble que el valor de y */
// Impresión del texto
text (x, 30,30); /* coloca en el lienzo el valor de x */

 println(x); /* imprime en la consola el valor de x */ 
http://processing.org/reference
Miguel Gea. Producción interactiva 13
Processing / tipos datos float 	
Tipos dato numérico reales ( float )
float x,y; /* crear variable de tipo real */
// función aleatoria: random()
x = random (10); // nº aleatrio entre 0 y 10
// Dibujo puntillista
float x,y, grosor = 0; 
void setup() {    
  background(255);
  size(300, 300);   
frameRate(30);
} 
void draw() {  // this is run repeatedly.      
grosor = random(30);    // grosor aleatorio  
strokeWeight(grosor);    // color aleatorio     
stroke(random(50), random(255), random(255), 100);    
// punto aleatorio     
x = random (300);    y = random (300);    
point (x,y);
}
http://studio.sketchpad.cc/8qLEm6NICG
Miguel Gea. Producción interactiva 14
Processing / condicionales	
!  Condicional (Si.. entonces)
int i;
if (i==2) { /* en caso que i sea igual a 2*/
// incluir acciones
} 
else { /* en caso falso se hace esta parte. opcional*/
}
!  Condicional (mientras que)
while (i < 10) {
i = i+1;
}
•  Repetición (un numero de veces
for ( i=0; i < 100; i++) {

 
 
// i++ incrementa de uno en uno; i+=10 de 10 en 10
line(i,0,i, 200); 
}
http://processing.org/reference
#
#
#
#
Miguel Gea. Producción interactiva 15
Processing: ejemplo dibujo iterativo	
int i, x, y;
void setup() {
size (300,300);
}
void draw() {
background(200);
// fondo de círculos blancos sobre negro
for (int y = 0; y <= 300; y += 40) {
for (int x = 0; x <= 300; x += 40) {
fill (224, 140); 
ellipse (x, y, 40 , 40); 
}
}
}
// diseña el fondo del lienzo
http://studio.sketchpad.cc/sp/pad/view/ro.9trIe6v5vd5KX/latest
Miguel Gea. Producción interactiva 16
Processing / interacción mouse	
!  Mouse (datos variables globales)
mouseX 
variable global que contiene con coordenada X del mouse
mouseY 
variable global que contiene con coordenada Y del mouse 

mousePressed 
variable true/false que indica si se ha pulsado
•  Acciones sobre mouse (funciones genéricas) de control ratón
void mousePressed() { … } /* pulsar botón del ratón */
void mouseMoved() { … } /* mueve el ratón */
void mouseDragged() { .. } /* arrastrar ratón pulsando botón */
http://processing.org/reference
Miguel Gea. Producción interactiva 17
Processing: ejemplo (pulsar/soltar mouse)	
// circulo tamaño variable
int x; 
void setup() {
x = 40; // radio circulo
size(300, 300);
background(200); 
fill(0); 
}
void draw() {
if (mousePressed) { 
if (x<300) x = x+5; 
} else { 
if (x > 2) x = x -5;
} 
ellipse(150, 150, x, x);
}
http://studio.sketchpad.cc/sp/pad/view/ro.9yf0a5mmjmKbH/latest
Miguel Gea. Producción interactiva 18
Processing / interacción teclado	
!  Teclado (datos/variables globales)
key // tecla pulsada, ejemplo:

 
 
 
 
// if (code == “b”) { text(“pulsada la B”, 10,10); } 
keyCode // detectar teclas especiales (UP, DOWN, LEFT, RIGHT…)
// if (keyCode == UP ) { text(“subir”,10,10); }
•  Acciones sobre teclado (funciones genéricas)
void keyPressed() { … } 
/* pulsar tecla*/
void keyReleased () { … } /* soltar tecla*/
Miguel Gea. Producción interactiva 19
Processing: ejemplo control teclado	
int x,y;
void setup() {
x = 40;
y = 250; 
size(300, 300); 
}
void draw() {
background(200); 
fill(20,100,100); 
stroke(30);
rect (x,y,50,10);
camino();
if (keyPressed) {
if (key =='x') fire(); //disparar
if(keyCode == UP) y = y -1;
if(keyCode == DOWN) y = y +1;
if(keyCode == LEFT) x = x -1;
if(keyCode == RIGHT) x = x +1;
}
}
Miguel Gea. Producción interactiva 20
Processing: ejemplo dibujo colectivo	
4 Diciembre 2014 – dibujo colectivo en lienzo http://sketchpad.cc/Vytg6d529q
http://studio.sketchpad.cc/sp/pad/view/ro.93JTdlFtCZJc8/latestResultado práctica
Miguel Gea. Producción interactiva 21
Processing.js – insertar en Blog (wordpress)	
Se puede incrustar directamente código procesing.js en una entrada de
Wordpress con este plugin https://wordpress.org/plugins/processing-js/
Miguel Gea. Producción interactiva 22
Una vez activado el plugin en Wordpress, se puede añadir una entrada
en HTML (texto) entre códigos [processing.js] …. [/processing.js] 
Processing.js – insertar en Blog (wordpress)
Miguel Gea. Producción interactiva 23
Conectar interacción al mundo real
Programación sobre hardware (arduino)
Creativos: Nicklas Roy
Processing + Arduino	
Ref: Nickas Roy. My little piece of privacy https://www.youtube.com/watch?v=rKhbUjVyKIc
Imagen: http://www.adafruit.com/blog/wp-content/uploads/2010/07/proc-arduino3-600.jpg
Miguel Gea. Producción interactiva 24
Referencias	
" Referencia: https://www.processing.org/reference/
" Generative art. Practical guide http://abandonedart.org
" Tutoriales y ejemplos sencillos http://funprogramming.org
" Guía de processing http://users.dsic.upv.es/~jlinares/grafics/processing_spa_1.pdf
" Arte con Procesing https://processing.org/exhibition/
" G. Puerta. arduino+proccesing. Iavante: http://es.slideshare.net/ninioperdido/arduinoprocessing

Más contenido relacionado

La actualidad más candente

Curso: Redes y comunicaciones I: 03 Estándares ITU e IEEE
Curso: Redes y comunicaciones I: 03 Estándares ITU e IEEECurso: Redes y comunicaciones I: 03 Estándares ITU e IEEE
Curso: Redes y comunicaciones I: 03 Estándares ITU e IEEEJack Daniel Cáceres Meza
 
Interoperabilidad en redes
Interoperabilidad en redesInteroperabilidad en redes
Interoperabilidad en redesJess Ortiz
 
Presupuesto de potencia
Presupuesto de potenciaPresupuesto de potencia
Presupuesto de potenciaLuis Alberto
 
Configuración básica de un router y switch
Configuración básica de un router y switchConfiguración básica de un router y switch
Configuración básica de un router y switchAlex Yungan
 
Ruido en telecomunicaciones
Ruido en telecomunicacionesRuido en telecomunicaciones
Ruido en telecomunicacionesMonica Patiño
 
Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesJarvey Gonzalez
 
Informe portadora binaria moduladora binaria
Informe portadora binaria   moduladora binariaInforme portadora binaria   moduladora binaria
Informe portadora binaria moduladora binariaBrian Piragauta
 
Modelo OSI , protocolos que intervienen y componentes
Modelo OSI , protocolos que intervienen y componentesModelo OSI , protocolos que intervienen y componentes
Modelo OSI , protocolos que intervienen y componentesSamir Abau
 
Informe de medios de transmision
Informe de medios de transmisionInforme de medios de transmision
Informe de medios de transmisionkelis ramirez
 

La actualidad más candente (20)

Curso: Redes y comunicaciones I: 03 Estándares ITU e IEEE
Curso: Redes y comunicaciones I: 03 Estándares ITU e IEEECurso: Redes y comunicaciones I: 03 Estándares ITU e IEEE
Curso: Redes y comunicaciones I: 03 Estándares ITU e IEEE
 
Redes punto a punto
Redes punto a puntoRedes punto a punto
Redes punto a punto
 
6.11 radioenlace (1)
6.11 radioenlace (1)6.11 radioenlace (1)
6.11 radioenlace (1)
 
Interoperabilidad en redes
Interoperabilidad en redesInteroperabilidad en redes
Interoperabilidad en redes
 
Presupuesto de potencia
Presupuesto de potenciaPresupuesto de potencia
Presupuesto de potencia
 
Medios de transmision no guiados
Medios de transmision no guiadosMedios de transmision no guiados
Medios de transmision no guiados
 
Configuración básica de un router y switch
Configuración básica de un router y switchConfiguración básica de un router y switch
Configuración básica de un router y switch
 
Proyecto punto a punto
Proyecto punto a puntoProyecto punto a punto
Proyecto punto a punto
 
Ruido en telecomunicaciones
Ruido en telecomunicacionesRuido en telecomunicaciones
Ruido en telecomunicaciones
 
Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetes
 
Informe portadora binaria moduladora binaria
Informe portadora binaria   moduladora binariaInforme portadora binaria   moduladora binaria
Informe portadora binaria moduladora binaria
 
Modelo OSI , protocolos que intervienen y componentes
Modelo OSI , protocolos que intervienen y componentesModelo OSI , protocolos que intervienen y componentes
Modelo OSI , protocolos que intervienen y componentes
 
Voip
VoipVoip
Voip
 
Informe de medios de transmision
Informe de medios de transmisionInforme de medios de transmision
Informe de medios de transmision
 
Ruido
RuidoRuido
Ruido
 
Redes de Nueva Generacion
Redes de Nueva GeneracionRedes de Nueva Generacion
Redes de Nueva Generacion
 
Modulación qam
Modulación qamModulación qam
Modulación qam
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Trabajo sistemas de comunicacion
Trabajo sistemas de comunicacionTrabajo sistemas de comunicacion
Trabajo sistemas de comunicacion
 
Fundamentos de Interconectividad de Redes
Fundamentos de Interconectividad de RedesFundamentos de Interconectividad de Redes
Fundamentos de Interconectividad de Redes
 

Destacado

Taller processing arduino
Taller processing arduinoTaller processing arduino
Taller processing arduinojesusresta
 
Diseño en la web
Diseño en la webDiseño en la web
Diseño en la webMiguel Gea
 
Inteligencia colectiva
Inteligencia colectiva Inteligencia colectiva
Inteligencia colectiva Miguel Gea
 
Twitter en Educación (TATGranada)
Twitter en Educación (TATGranada)Twitter en Educación (TATGranada)
Twitter en Educación (TATGranada)Miguel Gea
 
MuseoGrades: El Museo Virtual Inmersivo e Inclusivo. Aprendiendo e interpret...
MuseoGrades: El Museo Virtual  Inmersivo e Inclusivo. Aprendiendo e interpret...MuseoGrades: El Museo Virtual  Inmersivo e Inclusivo. Aprendiendo e interpret...
MuseoGrades: El Museo Virtual Inmersivo e Inclusivo. Aprendiendo e interpret...Miguel Gea
 
MOOC at Universities
MOOC at UniversitiesMOOC at Universities
MOOC at UniversitiesMiguel Gea
 
Sesion 1 2 modelo del negocio
Sesion 1   2 modelo del negocioSesion 1   2 modelo del negocio
Sesion 1 2 modelo del negocioJulio Pari
 
Nuevos medios y formatos de aprendizaje: Proyecto Alhambra Transmedia
Nuevos medios y formatos de aprendizaje: Proyecto Alhambra TransmediaNuevos medios y formatos de aprendizaje: Proyecto Alhambra Transmedia
Nuevos medios y formatos de aprendizaje: Proyecto Alhambra TransmediaMiguel Gea
 
Ecosistema aprendizaje digital
Ecosistema aprendizaje digitalEcosistema aprendizaje digital
Ecosistema aprendizaje digitalMiguel Gea
 
Procedimiento para construir un hexagono
Procedimiento para construir un hexagonoProcedimiento para construir un hexagono
Procedimiento para construir un hexagonoJOSE MOLINA
 
Diseño de interfaces de usuario
Diseño de interfaces de usuarioDiseño de interfaces de usuario
Diseño de interfaces de usuarioDiego Rosas
 
La Universidad ante los nuevos ecosistemas de aprendizaje digital
La Universidad ante los nuevos ecosistemas de aprendizaje digitalLa Universidad ante los nuevos ecosistemas de aprendizaje digital
La Universidad ante los nuevos ecosistemas de aprendizaje digitalMiguel Gea
 
Seminario Dispositivos moviles
Seminario Dispositivos movilesSeminario Dispositivos moviles
Seminario Dispositivos movilesMiguel Gea
 
Una mirada al futuro
Una mirada al futuroUna mirada al futuro
Una mirada al futuroMiguel Gea
 
Seminario Patrones y tareas de interaccion
Seminario Patrones y tareas de interaccionSeminario Patrones y tareas de interaccion
Seminario Patrones y tareas de interaccionMiguel Gea
 
Tema 5 usabilidad y evaluación (2013)
Tema 5 usabilidad y evaluación (2013)Tema 5 usabilidad y evaluación (2013)
Tema 5 usabilidad y evaluación (2013)Miguel Gea
 

Destacado (20)

Introducción a Processing
Introducción a ProcessingIntroducción a Processing
Introducción a Processing
 
Taller processing arduino
Taller processing arduinoTaller processing arduino
Taller processing arduino
 
Macromedia flash
Macromedia flashMacromedia flash
Macromedia flash
 
Diseño en la web
Diseño en la webDiseño en la web
Diseño en la web
 
Inteligencia colectiva
Inteligencia colectiva Inteligencia colectiva
Inteligencia colectiva
 
Twitter en Educación (TATGranada)
Twitter en Educación (TATGranada)Twitter en Educación (TATGranada)
Twitter en Educación (TATGranada)
 
MuseoGrades: El Museo Virtual Inmersivo e Inclusivo. Aprendiendo e interpret...
MuseoGrades: El Museo Virtual  Inmersivo e Inclusivo. Aprendiendo e interpret...MuseoGrades: El Museo Virtual  Inmersivo e Inclusivo. Aprendiendo e interpret...
MuseoGrades: El Museo Virtual Inmersivo e Inclusivo. Aprendiendo e interpret...
 
MOOC at Universities
MOOC at UniversitiesMOOC at Universities
MOOC at Universities
 
abiertaUGR
abiertaUGRabiertaUGR
abiertaUGR
 
Sesion 1 2 modelo del negocio
Sesion 1   2 modelo del negocioSesion 1   2 modelo del negocio
Sesion 1 2 modelo del negocio
 
Nuevos medios y formatos de aprendizaje: Proyecto Alhambra Transmedia
Nuevos medios y formatos de aprendizaje: Proyecto Alhambra TransmediaNuevos medios y formatos de aprendizaje: Proyecto Alhambra Transmedia
Nuevos medios y formatos de aprendizaje: Proyecto Alhambra Transmedia
 
Ecosistema aprendizaje digital
Ecosistema aprendizaje digitalEcosistema aprendizaje digital
Ecosistema aprendizaje digital
 
Pressman y sommerville, GUI
Pressman y sommerville, GUIPressman y sommerville, GUI
Pressman y sommerville, GUI
 
Procedimiento para construir un hexagono
Procedimiento para construir un hexagonoProcedimiento para construir un hexagono
Procedimiento para construir un hexagono
 
Diseño de interfaces de usuario
Diseño de interfaces de usuarioDiseño de interfaces de usuario
Diseño de interfaces de usuario
 
La Universidad ante los nuevos ecosistemas de aprendizaje digital
La Universidad ante los nuevos ecosistemas de aprendizaje digitalLa Universidad ante los nuevos ecosistemas de aprendizaje digital
La Universidad ante los nuevos ecosistemas de aprendizaje digital
 
Seminario Dispositivos moviles
Seminario Dispositivos movilesSeminario Dispositivos moviles
Seminario Dispositivos moviles
 
Una mirada al futuro
Una mirada al futuroUna mirada al futuro
Una mirada al futuro
 
Seminario Patrones y tareas de interaccion
Seminario Patrones y tareas de interaccionSeminario Patrones y tareas de interaccion
Seminario Patrones y tareas de interaccion
 
Tema 5 usabilidad y evaluación (2013)
Tema 5 usabilidad y evaluación (2013)Tema 5 usabilidad y evaluación (2013)
Tema 5 usabilidad y evaluación (2013)
 

Similar a Creación interactiva web: Processing

Similar a Creación interactiva web: Processing (20)

Revista digital
Revista digitalRevista digital
Revista digital
 
Introduccion a awt
Introduccion a awtIntroduccion a awt
Introduccion a awt
 
Codigo ejemplo j2 me
Codigo ejemplo   j2 meCodigo ejemplo   j2 me
Codigo ejemplo j2 me
 
Hp
HpHp
Hp
 
Programa voz
Programa vozPrograma voz
Programa voz
 
C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5
 
Processing
ProcessingProcessing
Processing
 
Intro opengl
Intro openglIntro opengl
Intro opengl
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
Quasi - Practicas de Programacion en C
Quasi - Practicas de Programacion en CQuasi - Practicas de Programacion en C
Quasi - Practicas de Programacion en C
 
El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2
 
El_pensamiento_computacional_y_programacion_.pptx
El_pensamiento_computacional_y_programacion_.pptxEl_pensamiento_computacional_y_programacion_.pptx
El_pensamiento_computacional_y_programacion_.pptx
 
Lecture 37
Lecture 37Lecture 37
Lecture 37
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
Temaswing
TemaswingTemaswing
Temaswing
 
Applets.pdf
Applets.pdfApplets.pdf
Applets.pdf
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 

Más de Miguel Gea

ConectaVRdigital: Conectados por la Accesibilidad
ConectaVRdigital: Conectados por la AccesibilidadConectaVRdigital: Conectados por la Accesibilidad
ConectaVRdigital: Conectados por la AccesibilidadMiguel Gea
 
Transmedia Literacy applied as a learning framework for children with Intell...
Transmedia Literacy applied as a learning framework  for children with Intell...Transmedia Literacy applied as a learning framework  for children with Intell...
Transmedia Literacy applied as a learning framework for children with Intell...Miguel Gea
 
Plena Inclusión y las TIC: una evolución convergente
Plena Inclusión y las TIC:  una evolución convergentePlena Inclusión y las TIC:  una evolución convergente
Plena Inclusión y las TIC: una evolución convergenteMiguel Gea
 
Producción creativa para Web
Producción creativa para WebProducción creativa para Web
Producción creativa para WebMiguel Gea
 
Ecosistema Digital y la experiencia usuario
Ecosistema Digital y la experiencia usuarioEcosistema Digital y la experiencia usuario
Ecosistema Digital y la experiencia usuarioMiguel Gea
 
TOWARDS SMART & INCLUSIVE SOCIETY: BUILDING 3D IMMERSIVE MUSEUM BY CHILDREN W...
TOWARDS SMART & INCLUSIVE SOCIETY: BUILDING 3D IMMERSIVE MUSEUM BY CHILDREN W...TOWARDS SMART & INCLUSIVE SOCIETY: BUILDING 3D IMMERSIVE MUSEUM BY CHILDREN W...
TOWARDS SMART & INCLUSIVE SOCIETY: BUILDING 3D IMMERSIVE MUSEUM BY CHILDREN W...Miguel Gea
 
Tema 6 tendencias de IU
Tema 6 tendencias de IUTema 6 tendencias de IU
Tema 6 tendencias de IUMiguel Gea
 
Experiencia de aprendizaje en elearning
Experiencia de aprendizaje en elearningExperiencia de aprendizaje en elearning
Experiencia de aprendizaje en elearningMiguel Gea
 
MOOC: From Theory to Practice
MOOC: From Theory to PracticeMOOC: From Theory to Practice
MOOC: From Theory to PracticeMiguel Gea
 
Creacion individual y colectiva
Creacion individual y colectivaCreacion individual y colectiva
Creacion individual y colectivaMiguel Gea
 
abiertaUGR: modelling online learning communities
abiertaUGR: modelling online learning communitiesabiertaUGR: modelling online learning communities
abiertaUGR: modelling online learning communitiesMiguel Gea
 
Seminario Usabilidad y accesibilidad
Seminario Usabilidad y accesibilidadSeminario Usabilidad y accesibilidad
Seminario Usabilidad y accesibilidadMiguel Gea
 
Tema 4 estrategias de diseño
Tema 4 estrategias de diseñoTema 4 estrategias de diseño
Tema 4 estrategias de diseñoMiguel Gea
 
Seminario Guia de estilos de windows 7
Seminario Guia de estilos de windows 7Seminario Guia de estilos de windows 7
Seminario Guia de estilos de windows 7Miguel Gea
 
Seminario: Prototipado y Wireframes
Seminario: Prototipado y WireframesSeminario: Prototipado y Wireframes
Seminario: Prototipado y WireframesMiguel Gea
 
Seminario: Diseño Centrado en Usuario: caso videoclub 2013
Seminario:  Diseño Centrado en Usuario: caso videoclub 2013Seminario:  Diseño Centrado en Usuario: caso videoclub 2013
Seminario: Diseño Centrado en Usuario: caso videoclub 2013Miguel Gea
 
Tema 3 diseño centrado usuario (2013)
Tema 3 diseño centrado usuario (2013)Tema 3 diseño centrado usuario (2013)
Tema 3 diseño centrado usuario (2013)Miguel Gea
 
Seminario: componentes de un Interfaz de usuario
Seminario: componentes de un Interfaz de usuarioSeminario: componentes de un Interfaz de usuario
Seminario: componentes de un Interfaz de usuarioMiguel Gea
 

Más de Miguel Gea (19)

ConectaVRdigital: Conectados por la Accesibilidad
ConectaVRdigital: Conectados por la AccesibilidadConectaVRdigital: Conectados por la Accesibilidad
ConectaVRdigital: Conectados por la Accesibilidad
 
Transmedia Literacy applied as a learning framework for children with Intell...
Transmedia Literacy applied as a learning framework  for children with Intell...Transmedia Literacy applied as a learning framework  for children with Intell...
Transmedia Literacy applied as a learning framework for children with Intell...
 
Plena Inclusión y las TIC: una evolución convergente
Plena Inclusión y las TIC:  una evolución convergentePlena Inclusión y las TIC:  una evolución convergente
Plena Inclusión y las TIC: una evolución convergente
 
Producción creativa para Web
Producción creativa para WebProducción creativa para Web
Producción creativa para Web
 
Ecosistema Digital y la experiencia usuario
Ecosistema Digital y la experiencia usuarioEcosistema Digital y la experiencia usuario
Ecosistema Digital y la experiencia usuario
 
TOWARDS SMART & INCLUSIVE SOCIETY: BUILDING 3D IMMERSIVE MUSEUM BY CHILDREN W...
TOWARDS SMART & INCLUSIVE SOCIETY: BUILDING 3D IMMERSIVE MUSEUM BY CHILDREN W...TOWARDS SMART & INCLUSIVE SOCIETY: BUILDING 3D IMMERSIVE MUSEUM BY CHILDREN W...
TOWARDS SMART & INCLUSIVE SOCIETY: BUILDING 3D IMMERSIVE MUSEUM BY CHILDREN W...
 
Tema 6 tendencias de IU
Tema 6 tendencias de IUTema 6 tendencias de IU
Tema 6 tendencias de IU
 
Experiencia de aprendizaje en elearning
Experiencia de aprendizaje en elearningExperiencia de aprendizaje en elearning
Experiencia de aprendizaje en elearning
 
Seminario UX
Seminario UXSeminario UX
Seminario UX
 
MOOC: From Theory to Practice
MOOC: From Theory to PracticeMOOC: From Theory to Practice
MOOC: From Theory to Practice
 
Creacion individual y colectiva
Creacion individual y colectivaCreacion individual y colectiva
Creacion individual y colectiva
 
abiertaUGR: modelling online learning communities
abiertaUGR: modelling online learning communitiesabiertaUGR: modelling online learning communities
abiertaUGR: modelling online learning communities
 
Seminario Usabilidad y accesibilidad
Seminario Usabilidad y accesibilidadSeminario Usabilidad y accesibilidad
Seminario Usabilidad y accesibilidad
 
Tema 4 estrategias de diseño
Tema 4 estrategias de diseñoTema 4 estrategias de diseño
Tema 4 estrategias de diseño
 
Seminario Guia de estilos de windows 7
Seminario Guia de estilos de windows 7Seminario Guia de estilos de windows 7
Seminario Guia de estilos de windows 7
 
Seminario: Prototipado y Wireframes
Seminario: Prototipado y WireframesSeminario: Prototipado y Wireframes
Seminario: Prototipado y Wireframes
 
Seminario: Diseño Centrado en Usuario: caso videoclub 2013
Seminario:  Diseño Centrado en Usuario: caso videoclub 2013Seminario:  Diseño Centrado en Usuario: caso videoclub 2013
Seminario: Diseño Centrado en Usuario: caso videoclub 2013
 
Tema 3 diseño centrado usuario (2013)
Tema 3 diseño centrado usuario (2013)Tema 3 diseño centrado usuario (2013)
Tema 3 diseño centrado usuario (2013)
 
Seminario: componentes de un Interfaz de usuario
Seminario: componentes de un Interfaz de usuarioSeminario: componentes de un Interfaz de usuario
Seminario: componentes de un Interfaz de usuario
 

Último

Slaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfSlaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfslaimenbarakat
 
PRESENTACION SOBRE EL PROYECTO DE GRADO .
PRESENTACION SOBRE EL PROYECTO DE GRADO .PRESENTACION SOBRE EL PROYECTO DE GRADO .
PRESENTACION SOBRE EL PROYECTO DE GRADO .Rosa329296
 
TRABAJO DESDE CASA REGION INSULAR.docx.pdf
TRABAJO DESDE CASA REGION INSULAR.docx.pdfTRABAJO DESDE CASA REGION INSULAR.docx.pdf
TRABAJO DESDE CASA REGION INSULAR.docx.pdfDamarysNavarro1
 
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura ModernaLe Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Modernasofpaolpz
 
Arquitectura moderna / Nazareth Bermúdez
Arquitectura moderna / Nazareth BermúdezArquitectura moderna / Nazareth Bermúdez
Arquitectura moderna / Nazareth BermúdezNaza59
 
2024-EL CAMBIO CLIMATICO Y SUS EFECTOS EN EL PERÚ Y EL MUNDO.pdf
2024-EL CAMBIO CLIMATICO Y SUS EFECTOS EN EL PERÚ Y EL MUNDO.pdf2024-EL CAMBIO CLIMATICO Y SUS EFECTOS EN EL PERÚ Y EL MUNDO.pdf
2024-EL CAMBIO CLIMATICO Y SUS EFECTOS EN EL PERÚ Y EL MUNDO.pdfcnaomi195
 
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfLAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfBrbara57940
 
Arquitectura moderna nazareth bermudez PSM
Arquitectura moderna nazareth bermudez PSMArquitectura moderna nazareth bermudez PSM
Arquitectura moderna nazareth bermudez PSMNaza59
 
Calendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfCalendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfAsol7
 
Gabriela Marcano historia de la arquitectura 2 renacimiento
Gabriela Marcano historia de la arquitectura 2 renacimientoGabriela Marcano historia de la arquitectura 2 renacimiento
Gabriela Marcano historia de la arquitectura 2 renacimientoGabrielaMarcano12
 
Maquetas-modelos-prototipos-Mapa mental-.pdf
Maquetas-modelos-prototipos-Mapa mental-.pdfMaquetas-modelos-prototipos-Mapa mental-.pdf
Maquetas-modelos-prototipos-Mapa mental-.pdforianaandrade11
 
Arquitectura Moderna Le Corbusier- Mies Van Der Rohe
Arquitectura Moderna Le Corbusier- Mies Van Der RoheArquitectura Moderna Le Corbusier- Mies Van Der Rohe
Arquitectura Moderna Le Corbusier- Mies Van Der Roheimariagsg
 
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfCERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfasnsdt
 
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOPDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOManuelBustamante49
 
Quinto-Cuaderno-del-Alumno-optimizado.pdf
Quinto-Cuaderno-del-Alumno-optimizado.pdfQuinto-Cuaderno-del-Alumno-optimizado.pdf
Quinto-Cuaderno-del-Alumno-optimizado.pdfPapiElMejor1
 
Presentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxPresentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxbarbaracantuflr
 
TIPOS DE LINEAS utilizados en dibujo técnico mecánico
TIPOS DE LINEAS utilizados en dibujo técnico mecánicoTIPOS DE LINEAS utilizados en dibujo técnico mecánico
TIPOS DE LINEAS utilizados en dibujo técnico mecánicoWilsonChambi4
 
diseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddiseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddabuitragoi
 
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)LeonardoDantasRivas
 
Curso Básico de Windows Word y PowerPoint.pdf
Curso Básico de Windows Word y PowerPoint.pdfCurso Básico de Windows Word y PowerPoint.pdf
Curso Básico de Windows Word y PowerPoint.pdfirisvanegas1990
 

Último (20)

Slaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfSlaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdf
 
PRESENTACION SOBRE EL PROYECTO DE GRADO .
PRESENTACION SOBRE EL PROYECTO DE GRADO .PRESENTACION SOBRE EL PROYECTO DE GRADO .
PRESENTACION SOBRE EL PROYECTO DE GRADO .
 
TRABAJO DESDE CASA REGION INSULAR.docx.pdf
TRABAJO DESDE CASA REGION INSULAR.docx.pdfTRABAJO DESDE CASA REGION INSULAR.docx.pdf
TRABAJO DESDE CASA REGION INSULAR.docx.pdf
 
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura ModernaLe Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
 
Arquitectura moderna / Nazareth Bermúdez
Arquitectura moderna / Nazareth BermúdezArquitectura moderna / Nazareth Bermúdez
Arquitectura moderna / Nazareth Bermúdez
 
2024-EL CAMBIO CLIMATICO Y SUS EFECTOS EN EL PERÚ Y EL MUNDO.pdf
2024-EL CAMBIO CLIMATICO Y SUS EFECTOS EN EL PERÚ Y EL MUNDO.pdf2024-EL CAMBIO CLIMATICO Y SUS EFECTOS EN EL PERÚ Y EL MUNDO.pdf
2024-EL CAMBIO CLIMATICO Y SUS EFECTOS EN EL PERÚ Y EL MUNDO.pdf
 
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfLAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
 
Arquitectura moderna nazareth bermudez PSM
Arquitectura moderna nazareth bermudez PSMArquitectura moderna nazareth bermudez PSM
Arquitectura moderna nazareth bermudez PSM
 
Calendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfCalendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdf
 
Gabriela Marcano historia de la arquitectura 2 renacimiento
Gabriela Marcano historia de la arquitectura 2 renacimientoGabriela Marcano historia de la arquitectura 2 renacimiento
Gabriela Marcano historia de la arquitectura 2 renacimiento
 
Maquetas-modelos-prototipos-Mapa mental-.pdf
Maquetas-modelos-prototipos-Mapa mental-.pdfMaquetas-modelos-prototipos-Mapa mental-.pdf
Maquetas-modelos-prototipos-Mapa mental-.pdf
 
Arquitectura Moderna Le Corbusier- Mies Van Der Rohe
Arquitectura Moderna Le Corbusier- Mies Van Der RoheArquitectura Moderna Le Corbusier- Mies Van Der Rohe
Arquitectura Moderna Le Corbusier- Mies Van Der Rohe
 
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfCERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
 
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOPDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
 
Quinto-Cuaderno-del-Alumno-optimizado.pdf
Quinto-Cuaderno-del-Alumno-optimizado.pdfQuinto-Cuaderno-del-Alumno-optimizado.pdf
Quinto-Cuaderno-del-Alumno-optimizado.pdf
 
Presentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxPresentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptx
 
TIPOS DE LINEAS utilizados en dibujo técnico mecánico
TIPOS DE LINEAS utilizados en dibujo técnico mecánicoTIPOS DE LINEAS utilizados en dibujo técnico mecánico
TIPOS DE LINEAS utilizados en dibujo técnico mecánico
 
diseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddiseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidad
 
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
 
Curso Básico de Windows Word y PowerPoint.pdf
Curso Básico de Windows Word y PowerPoint.pdfCurso Básico de Windows Word y PowerPoint.pdf
Curso Básico de Windows Word y PowerPoint.pdf
 

Creación interactiva web: Processing

  • 1. Seminario Act. Feb 2015 Creative Commons by-nc-sa Creación interactiva para la web: Processing Miguel Gea http://utopolis.ugr.es/mgea Dpt. Lenguajes y Sistemas Informáticos Universidad de Granada http://www.slideshare.net/mgea/creacion-interactiva-web-processing
  • 2. Miguel Gea. Producción interactiva 2 Processing • Lenguaje de programación y entorno basado en Java (de código abierto) desarrollado en el MIT media Lab (John Maeda). https://processing.org/overview/ • Uso para enseñar y producir proyectos multimedia e interactivos de diseño digital para Web • Herramientas • Editor nativo (Windows/Mac/Linux) • Editor online (sketchpad.cc) • Plugin para insertar wordpress
  • 3. Miguel Gea. Producción interactiva 3 Processing ejemplos https://processing.org/examples/storinginput.html http://airtightinteractive.com/demos/processing_js/noisefield08.html http://everyware.kr/portfolio/contents/09_oasis/
  • 4. Miguel Gea. Producción interactiva 4 Processing: Sketchpad http://sketchpad.cc/ !  Entorno interactivo en la Web para producir proyectos de Processing. !  Permite colaborar varias personas en un proyecto (compartir y con chat)
  • 5. Miguel Gea. Producción interactiva 5 Processing: lenguaje !  Lenguaje con sintaxis de Java (distingue minúsculas de mayúsculas) !  Funciones (colección de ordenes) poseen argumentos entre paréntesis y terminan en “;” !  Definir variables (de un tipo de dato: int, boolean, string, float) y asignar valor !  Bloques de funciones. Comienzan con “void” y agrupar ordenes entre llaves !  Comentarios. de una línea con doble barra “//” o de varias líneas entre /* … */ int numero; // declarar variables con un nombre (numero) y tipo (valor entero) /* funciones, agrupan órdenes entre { y } */ void setup() { /* función especial de iniciación de datos */ numero = 3; } /* bloques de funciones, agrupan órdenes entre { y } */ void draw() { /* se repite indefinidamente */ clear(); numero = numero +1 ; println (“contador “,numero); }  Siempre debe aparecer esta funcion en un script (se repite infinitamente hasta que acaba programa) http://processing.org/
  • 6. Miguel Gea. Producción interactiva 6 Processing: lienzo Canvas /lienzo. Donde se dibuja. Se debe definir un tamaño y los dibujos se incluyen con coordenadas x e y. El punto (0,0) está en la esquina superior izquierda !  Definir Tamaño lienzo size (tamx, tamy); !  Constantes widht // valor de alto height // valor de ancho !  Modo dibujo y fps // suavizar líneas smooth (); // frames por segundo 30fps frameRate (30); http://processing.org/
  • 7. Miguel Gea. Producción interactiva 7 Processing: referencia Lenguaje, manual de referencia (https://processing.org/reference/) http://processing.org/
  • 8. Miguel Gea. Producción interactiva 8 Processing / dibujo !  Figuras de dibujo !  Atributos de dibujo /*se aplican por defecto a partir de ese momento */ background (255); /* fondo lienzo en escala grises */ background (255,233,233); /* color fondo en componentes RGB*/ /* valores de color para figuras de dibujo (borde y rellenos */ stroke (0); stroke(0,0,0); /* color borde, en escala de gris o RGB */ fill (50); fill (50,50,50); /* color relleno de áreas (circulos, triangulos..) */ noFill(); /* sin relleno */ noStroke(); /* sin borde */ strokeWeight(10); /* grosor en pixels del borde */ point (x,y); line (x1, y1, x2, y2); rect (x1,y1, ancho, alto); ellipse (x1,y1, ancho, alto); triangle(x1, y1, x2, y2, x3, y3); text (“texto”, x,y);
  • 9. Miguel Gea. Producción interactiva 9 Processing: ejemplo dibujo básico // dibujo basico void setup() { size(300, 300); background(200); } void draw() { fill(0); rect (0,150,300,250); fill (300,100,100); ellipse(150, 150, 100, 100); fill (0,100,100); ellipse(150, 150, 50, 80); stroke(0,0,250); line (0,10,300,10); line (0,50,300,50); line (0,100,300,100); fill(0,0,250); triangle(100,20,200,20,150,100); noStroke(); fill(255); textSize(20); text("#medialabUGR",80,280); } http://studio.sketchpad.cc/sp/pad/view/ro.9jxn3Ouzm1NM3/latest
  • 10. Miguel Gea. Producción interactiva 10 Processing / dibujo http://processing.org/reference "  Imágenes /* crear un tipo de dato “especial” para almacenar una imagen */ PImage img; /* asociar una imagen (se encuentran en carpeta de datos o de internet (mediante URLR) */ img = loadImage("laDefense.jpg"); /* añadir al dibujo en canvas */ void draw() { image (img, 0, 0); // posición image (img,0,0,200, 180); //recortada a 200x180 } http://studio.sketchpad.cc/sp/pad/view/ro.91SqcwRa8x6BL/latest
  • 11. Miguel Gea. Producción interactiva 11 Processing / tipos datos Variables de tipo texto ascii ( String, char ) // Definición de variables, asignación y comparación String texto, texto2; /* cadena de caracteres */ char c = ‘a’; /* un solo carácter, comillas simples */ // Asignación de valor String texto1 = ”Mi texto”; texto2 = “otro texto” // Extracción de un carácter char c= texto1.charAt(4); /* seleccionado ‘t’*/ // comparación (operación lógica) if (texto1 == texto2 ) { .. }  /* Comparación */ // concatenar textos texto1 = texto2 + “…adios”; /* une ambos */ // Impresión del texto text (texto1, 30,30); /* coloca en lienzo el literal que contiene texto1 */ println(texto1); /* lo imprime en la consola de mensajes */ http://processing.org/reference atributos tamaño texto textSize(20);
  • 12. Miguel Gea. Producción interactiva 12 Processing / tipos datos Tipos dato numérico enteros ( int ) // Definición de variables, asignación y comparación int x, y; /* crear variable */ int x = 3; /* crear variable y asignar valor */ // Asignación de valor y = 44; x = y; /* x tendrá el mismo valor que y */ // comparación (operación lógica) if (x == y ) { .. }  /* Comparación igualdad */ if (x >= y ) { .. }  /* Comparación mayor o igual que */ // operaciones aritmeticas x = x +3 ; /* incrementa el valor de x en 3 */ x = y*2; /* x es el doble que el valor de y */ // Impresión del texto text (x, 30,30); /* coloca en el lienzo el valor de x */ println(x); /* imprime en la consola el valor de x */ http://processing.org/reference
  • 13. Miguel Gea. Producción interactiva 13 Processing / tipos datos float Tipos dato numérico reales ( float ) float x,y; /* crear variable de tipo real */ // función aleatoria: random() x = random (10); // nº aleatrio entre 0 y 10 // Dibujo puntillista float x,y, grosor = 0;  void setup() {       background(255);   size(300, 300);    frameRate(30); }  void draw() {  // this is run repeatedly.      grosor = random(30);    // grosor aleatorio   strokeWeight(grosor);    // color aleatorio     stroke(random(50), random(255), random(255), 100);    // punto aleatorio     x = random (300);    y = random (300);    point (x,y); } http://studio.sketchpad.cc/8qLEm6NICG
  • 14. Miguel Gea. Producción interactiva 14 Processing / condicionales !  Condicional (Si.. entonces) int i; if (i==2) { /* en caso que i sea igual a 2*/ // incluir acciones } else { /* en caso falso se hace esta parte. opcional*/ } !  Condicional (mientras que) while (i < 10) { i = i+1; } •  Repetición (un numero de veces for ( i=0; i < 100; i++) { // i++ incrementa de uno en uno; i+=10 de 10 en 10 line(i,0,i, 200); } http://processing.org/reference # # # #
  • 15. Miguel Gea. Producción interactiva 15 Processing: ejemplo dibujo iterativo int i, x, y; void setup() { size (300,300); } void draw() { background(200); // fondo de círculos blancos sobre negro for (int y = 0; y <= 300; y += 40) { for (int x = 0; x <= 300; x += 40) { fill (224, 140); ellipse (x, y, 40 , 40); } } } // diseña el fondo del lienzo http://studio.sketchpad.cc/sp/pad/view/ro.9trIe6v5vd5KX/latest
  • 16. Miguel Gea. Producción interactiva 16 Processing / interacción mouse !  Mouse (datos variables globales) mouseX variable global que contiene con coordenada X del mouse mouseY variable global que contiene con coordenada Y del mouse mousePressed variable true/false que indica si se ha pulsado •  Acciones sobre mouse (funciones genéricas) de control ratón void mousePressed() { … } /* pulsar botón del ratón */ void mouseMoved() { … } /* mueve el ratón */ void mouseDragged() { .. } /* arrastrar ratón pulsando botón */ http://processing.org/reference
  • 17. Miguel Gea. Producción interactiva 17 Processing: ejemplo (pulsar/soltar mouse) // circulo tamaño variable int x; void setup() { x = 40; // radio circulo size(300, 300); background(200); fill(0); } void draw() { if (mousePressed) { if (x<300) x = x+5; } else { if (x > 2) x = x -5; } ellipse(150, 150, x, x); } http://studio.sketchpad.cc/sp/pad/view/ro.9yf0a5mmjmKbH/latest
  • 18. Miguel Gea. Producción interactiva 18 Processing / interacción teclado !  Teclado (datos/variables globales) key // tecla pulsada, ejemplo: // if (code == “b”) { text(“pulsada la B”, 10,10); } keyCode // detectar teclas especiales (UP, DOWN, LEFT, RIGHT…) // if (keyCode == UP ) { text(“subir”,10,10); } •  Acciones sobre teclado (funciones genéricas) void keyPressed() { … } /* pulsar tecla*/ void keyReleased () { … } /* soltar tecla*/
  • 19. Miguel Gea. Producción interactiva 19 Processing: ejemplo control teclado int x,y; void setup() { x = 40; y = 250; size(300, 300); } void draw() { background(200); fill(20,100,100); stroke(30); rect (x,y,50,10); camino(); if (keyPressed) { if (key =='x') fire(); //disparar if(keyCode == UP) y = y -1; if(keyCode == DOWN) y = y +1; if(keyCode == LEFT) x = x -1; if(keyCode == RIGHT) x = x +1; } }
  • 20. Miguel Gea. Producción interactiva 20 Processing: ejemplo dibujo colectivo 4 Diciembre 2014 – dibujo colectivo en lienzo http://sketchpad.cc/Vytg6d529q http://studio.sketchpad.cc/sp/pad/view/ro.93JTdlFtCZJc8/latestResultado práctica
  • 21. Miguel Gea. Producción interactiva 21 Processing.js – insertar en Blog (wordpress) Se puede incrustar directamente código procesing.js en una entrada de Wordpress con este plugin https://wordpress.org/plugins/processing-js/
  • 22. Miguel Gea. Producción interactiva 22 Una vez activado el plugin en Wordpress, se puede añadir una entrada en HTML (texto) entre códigos [processing.js] …. [/processing.js] Processing.js – insertar en Blog (wordpress)
  • 23. Miguel Gea. Producción interactiva 23 Conectar interacción al mundo real Programación sobre hardware (arduino) Creativos: Nicklas Roy Processing + Arduino Ref: Nickas Roy. My little piece of privacy https://www.youtube.com/watch?v=rKhbUjVyKIc Imagen: http://www.adafruit.com/blog/wp-content/uploads/2010/07/proc-arduino3-600.jpg
  • 24. Miguel Gea. Producción interactiva 24 Referencias " Referencia: https://www.processing.org/reference/ " Generative art. Practical guide http://abandonedart.org " Tutoriales y ejemplos sencillos http://funprogramming.org " Guía de processing http://users.dsic.upv.es/~jlinares/grafics/processing_spa_1.pdf " Arte con Procesing https://processing.org/exhibition/ " G. Puerta. arduino+proccesing. Iavante: http://es.slideshare.net/ninioperdido/arduinoprocessing