Courses/Pielen met Plotters

From Publication Station

Ook al worden computers steeds slimmer en sneller, creatief zijn ze nog steeds niet. Dit komt doordat ze eigenlijk alleen maar regels kunnen volgen. Maar juist doordat ze werken op basis van regels kunnen ze gebruikt worden om hele mooie dingen te genereren. Een paar eenvoudige regels kunnen leiden tot de meest complexe resultaten.

Toevallig is er ook een categorie kunst die zich helemaal richt op het creëren van simpele regels die tot mooie resultaten leiden. Dit heet generatieve kunst, en het is zeker de moeite waard om er even wat over te leren. Hier en hier vind je een goede omschrijving.

Aan de slag

Download Processing

Nu je wat inspiratie hebt opgedaan kun je gaan pielen met de plotter. Dit gaan we doen vanuit processing, dus download dat eerst. Het is slim om er even kennis mee te maken, dat kun je hier doen.

Installeer de driver

Om vervolgens te zorgen dat je computer met de plotter kan communiceren moet je even een driver installeren. Voor mac kun je die hier vinden. Voor windows hier.


De minimale code die je nodig hebt om de plotter aan te sturen is als volgt:

import processing.serial.*; // Communicating with the plotter happens via the serial port, so we import the libraries first
Serial myPort;  // Create object from Serial class

void setup(){
  size(200,200);  
  
   println(Serial.list()); // Output a list of available serial ports
   try{
      String portName = Serial.list()[0]; // Instead of the zero, use the right number based on the list mentioned above
      myPort = new Serial(this, portName, 9600); 
      myPort.write("IN"); // Tell the plotter that communication will commence

      plotterLine (0,0,700,100);
   }
   catch ( Exception e){
      println("Error"+ e);
   }
} 

void plotterLine(float x1, float y1, float x2, float y2) {
  println("plotterline");

   myPort.write("PU"); //Write the command for pen up to the serial port
   myPort.write("PA" + str(x1) + "," + str(y1) +";"); // pen go to position x1, y1
   myPort.write("PD"); // pen down
   myPort.write("PA" + str(x2) + "," + str(y2) +";"); // pen go to position x1, y1
   myPort.write("PU"); // pen up
}

Meer voorbeelden kun je hier vinden: Media:Voorbeelden.zip