Processing

From air
Revision as of 09:42, 27 March 2014 by Donsez (talk | contribs) (→‎Livres)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Processing est un environnement de développement d'animation en Java simple à mettre en oeuvre. Processing est très populaire en Art génératif et interactif ou pour de la visualisation interactive de données.

La version 2.0 produit

  • des applications standalones (incluant des screensavers),
  • des apps Android (requiert le SDK Android)
  • et des applications Web en JavaScript (requiert WebGL).

Processing.JS est l'adaptation en Javascript de Processing.

PyProcessing est un portage de l'API Processing pour Python.

Processing :: Example :: Sphere
Processing :: Example :: Bouncing Bubbles
Processing :: Example :: Menger Sponge
Processing :: Example :: Cubes in Cube



API

De nombreuses bibliotheques ont été adaptés pour Processing : OpenCV, OpenNI, ...

Serial

La communication entre un programme Processing et une carte Arduino s'effectue par l'intermédiaire la liaison série au-dessus de l'USB et s'effectue simplement au travers de l'utilisation de function série (voir les programmes Processing dans File/Examples/Libraries/Serial).

Ci-dessous le programme SerialDuplex qui permet de tester l'envoi et la reception simple de caractère. A complete par un programme correspondant sur l'Arduino

// Programme SerialDuplex 
import processing.serial.*;

Serial myPort;      // The serial port
int whichKey = -1;  // Variable to hold keystoke values
int inByte = -1;    // Incoming serial data

void setup() {
  size(400, 300);
  // create a font with the third font available to the system:
  PFont myFont = createFont(PFont.list()[2], 14);
  textFont(myFont);

  // List all the available serial ports:
  println(Serial.list());

  // I know that the first port in the serial list on my mac
  // is always my  FTDI adaptor, so I open Serial.list()[0].
  // In Windows, this usually opens COM1.
  // Open whatever port is the one you're using.
  String portName = Serial.list()[0];
  myPort = new Serial(this, portName, 9600);
}

void draw() {
  background(0);
  text("Last Received: " + inByte, 10, 130);
  text("Last Sent: " + whichKey, 10, 100);
}

void serialEvent(Serial myPort) {
  inByte = myPort.read();
}

void keyPressed() {
  // Send the keystroke out:
  myPort.write(key);
  whichKey = key;
}


Face tracking

voir Face Tracking with a Pan/Tilt Servo Bracket

avec une webcam, OpenCV et Arduino


Liens

Quelques démonstrations sympas

Livres