Processing

De FdIwiki ELP
Revisión a fecha de 00:31 28 ene 2015; Javiterr (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Processing es un lenguaje de progamacion de código abierto y un entrorno de desarrollo integrado(IDE) creado para las comunidades de artes electrónicas, arte multimedia y diseño visual con el objetivo de enseñar los fundamentos de la programación en un contexto visual y para la creacion de los cuadernos de dibujo electronicos. El proyecto empezó en 2001 De la mano de Casey Reas y Benjami Fry, ex-componentes del grupo de estética y computación en el Media Lab del MIT. Una de las metas de Processing es actuar como herramienta de introduccion en el mundo de la programación a los no-programadores a traves de un feedback visual. El lenguaje se basa en Java, pero usa una sintaxis simplificada y un modelo de programación de graficos.

Características

Processing incluye un sketchbook, una pequeña alternativa a un IDE para organizar proyectos.

Cada sketch de Processing es una subclase de la clase de Java PApplet que implementa la mayoria de las características del lenguaje de Processing

Cuando se programa en Processing, todas las clases adicionales definidas se tratarán como clase interna cuando el codigo se traduce a Java antes de compilar. Esto quiere decir que el uso de variables y metodos estáticos está prohibido salvo que indiques a Processing que quieres codificar en Java.

Processing tambien permite a los usuarios crear sus propias clases en el sketch de PApplet. Permite tipos de datos complejos que poseen cualquier numero de argumentos y evita la limitacion de usar unicamente tipos de datos estandar int, char, float y color.


Ejemplos

Hola Mundo

El equivalente al "Hola Mundo" en Processing es como dibujar una linea:[1] <source lang="java"> line(15, 25, 70, 90); </source> El siguiente codigo es un ejemplo básico de este lenguaje.

<source lang="java"> //Hello mouse. void setup() {

      size(400, 400);
      stroke(255);
      background(192, 64, 0);

}

void draw() {

      line(150, 25, mouseX, mouseY);

} </source>

Mapa de elecciones a presidente de Estados Unidos

El siguiente ejemplo muestra un mapa del resultado de las elecciones presidenciales de 2008 en Estado Unidos. Azul mostrará los estados donde ganó Barack Obama, y rojo donde ganó John McCain. Plantilla:Clear <source lang="java"> PShape usa; PShape state; String [] Obama = { "HI", "RI", "CT", "MA", "ME", "NH", "VT", "NY", "NJ", "FL", "NC", "OH", "IN", "IA", "CO", "NV", "PA", "DE", "MD", "MI", "WA", "CA", "OR", "IL", "MN", "WI", "DC", "NM", "VA" };

String [] McCain = { "AK", "GA", "AL", "TN", "WV", "KY", "SC", "WY", "MT", "ID", "TX", "AZ", "UT", "ND", "SD", "NE", "MS", "MO", "AR", "OK", "KS", "LA" };

void setup() {

 size(950, 600);
 // The file Blank_US_Map.svg can be found at Wikimedia Commons
 usa = loadShape("http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg");
 smooth(); // Improves the drawing quality of the SVG
 noLoop();

}

void draw() {

 background(255);
 // Draw the full map
 shape(usa, 0, 0);
 // Blue denotes states won by Obama
 statesColoring(Obama , color(0, 0, 255));
 // Red  denotes states won by McCain
 statesColoring(McCain, color(255, 0, 0));
 // Save the map as image
 saveFrame("map output.png");

}

void statesColoring(String[] states, int c){

 for (int i = 0; i < states.length; ++i) {
   PShape state = usa.getChild(states[i]);
   // Disable the colors found in the SVG file
   state.disableStyle();
   // Set our own coloring
   fill(c);
   noStroke();
   // Draw a single state
   shape(state, 0, 0);
 }

} </source>

Proyectos relacionados

Design By Numbers

Processing estaba basado en el trabajo original del proyecto de "Design By Numbers" en el MIT. Comparte algunas ideas y es heredero de este experimento.

Wiring, Arduino y Fritzing

Processing ha generado otro proyecto, Wiring, que usa el IDE de Processing con una version simplificada de C++ para enseñar a los artistas a programar microcontroladores. Actualmente hay dos proyectos diferentes de hardware, Wiring y Arduino, que usa el entorno y lenguaje de Wiring. Fritzing es otro entorno de software que ayuda a artistas y diseñadores a documentar su prototipo interactivo y pasar del prototipo fisico al producto actual

Mobile Processing

Otro proyecto que surgió(no continua), es Mobile Processing de Francis Li,que permitia usar Processing en moviles que aceptasen Java. A dia de hoy, algunas de estas funcionalidades lo hace Processing.[2]

Processing.js

En 2008 John Resig portó Processing a Javascript usando Canvas para renderizar,Error en la cita: Etiqueta de apertura <ref> sin su correspondiente cierre </ref> [2] [3] [4] [5] [6] [7]

  1. Error en la cita: Etiqueta <ref> inválida; no se ha definido el contenido de las referencias llamadas Ref1
  2. 2,0 2,1 http://wiki.processing.org/w/Android
  3. http://ejohn.org/blog/processingjs/
  4. [http://technically.us/spde/About Spde: Spde
  5. [http://technically.us/code/x/runaway-processing/ Coderspiel / Runaway processing
  6. Coderspiel / Flocking with Spde
  7. http://github.com/quil/quil