<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ktrin</id>
	<title>Medien Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ktrin"/>
	<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/Special:Contributions/Ktrin"/>
	<updated>2026-05-13T23:04:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=Category:Katrin_Caspar&amp;diff=36029</id>
		<title>Category:Katrin Caspar</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=Category:Katrin_Caspar&amp;diff=36029"/>
		<updated>2011-12-19T16:27:17Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Created page with &amp;quot;* [http://www.katrincaspar.net website]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://www.katrincaspar.net website]&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Soundvirus&amp;diff=36028</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Soundvirus</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Soundvirus&amp;diff=36028"/>
		<updated>2011-12-19T16:22:02Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Created page with &amp;quot;= Soundvirus =  The soundvirus is a three dimensional sound visualization. It consists of four levels of branches, rising out of a common origin. Each branch has several children...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Soundvirus =&lt;br /&gt;
&lt;br /&gt;
The soundvirus is a three dimensional sound visualization. It consists of four levels of branches, rising out of a common origin. Each branch has several children decreasing in quantity with higher branch levels. The whole system moves in time, while the 360 branches in total access 90 randomly generated variables based on their position in the field to calculate their movement in the three dimensions. This means that for most branches there are three other branches following the same movement, producing a mix of random arrangement and a subliminal pattern. The speed of the system&#039;s evolution, as well as its color are based on the stero mix level of the sound input.&lt;br /&gt;
&lt;br /&gt;
For the soundvirus_mic version, the microphone input is used. The microphone&#039;s sensivity can be changed by adjusting the &amp;quot;volumeadjust&amp;quot; variable in the first line. A smaller number increases the microphone&#039;s sensivity.&lt;br /&gt;
The soundvirus sketch uses the provided sound file to obtain the mix level.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_tristan.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Processing_einfuehrung_tristan.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= various sketches =&lt;br /&gt;
&lt;br /&gt;
== dimension clock ==&lt;br /&gt;
The Dimensionclock is a three dimensional way to display time. Hours, minutes and seconds are displayed as lines arranged in a circle on three different plains in the room. They are pointing away from the center and change in quanity and length as time goes by. The time is still shown in its numeric value to prevent confusion. By moving the mouse you can change the angle of view, a click zooms in on the clock. After a few seconds without any user input, the sketch falls into a &amp;quot;screen saver mode&amp;quot;, where the camera floats around.&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_tristan_dimensionclock.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_tristan_dimensionclock.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== colorpattern ==&lt;br /&gt;
This sketch visualizes sine waves in different ways, based on time. There are two sine waves which are combined to produce a moving pattern by altering the vertex shapes. The colors of these shapes vary by the value of two sine waves with different frequencies. Altogether this sketch succeeds in creating an effect which can be compared to an optical illusion, while being based just on waves.&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_tristan_colorpattern.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
int col = 0;&lt;br /&gt;
int patternsize = 20;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(800, 600);&lt;br /&gt;
  background(255);&lt;br /&gt;
  frameRate(30);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  background(255);&lt;br /&gt;
  smooth();&lt;br /&gt;
  col++;&lt;br /&gt;
  for (int ex = 0; ex &amp;lt;= width; ex=ex+patternsize) {&lt;br /&gt;
    for (int yp = 0; yp &amp;lt;= height; yp=yp+patternsize) {&lt;br /&gt;
      float movex = ex;&lt;br /&gt;
      float movey = yp;&lt;br /&gt;
      noStroke(); &lt;br /&gt;
      fill(((sin(((movex/10)+col)/12))*100)+150, (sin(((movey/12)+col)/12)*100)+150, 100);&lt;br /&gt;
      beginShape();&lt;br /&gt;
      float wob=col;&lt;br /&gt;
      vertex( 2+movex, 2+movey);&lt;br /&gt;
      vertex( 7+movex, (3*sin((20*wob+movey-movex)/100))+6+movey);&lt;br /&gt;
      vertex(13+movex, (3*sin((20*wob+movey-movex)/100))+6+movey);&lt;br /&gt;
      vertex(18+movex, 2+movey);&lt;br /&gt;
      vertex(18+movex, 18+movey);&lt;br /&gt;
      vertex(13+movex, (-3*sin((20*wob+movey+movex)/100))+14+movey);&lt;br /&gt;
      vertex( 7+movex, (-3*sin((20*wob+movey+movex)/100))+14+movey);&lt;br /&gt;
      vertex( 2+movex, 18+movey);&lt;br /&gt;
      endShape(CLOSE);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== spectralmandra ==&lt;br /&gt;
&lt;br /&gt;
Another sketch based on sine waves. This sketch creates nine circulary arranged ellipses - floating around, changing their colors and shapes. The stretching and colorprogress suggest a three dimensional, nearly &amp;quot;hallucinogenic&amp;quot; perception.&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_tristan_mandra.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float rad=radians(35);&lt;br /&gt;
float counter=0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(800, 600);&lt;br /&gt;
  frameRate(60);&lt;br /&gt;
  background(255);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  counter=counter+0.01;&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(width/2+sin(counter)*100, height/2+sin(counter+PI/2)*100);&lt;br /&gt;
  for (int i=0; i&amp;lt;10; i++) {&lt;br /&gt;
    noStroke();&lt;br /&gt;
    rotate(sin(counter));&lt;br /&gt;
    fill(122+122*sin(i-counter*counter), 122+122*sin(i+counter), 122+122*sin(i*i+counter), 30);&lt;br /&gt;
    rectMode(CENTER);&lt;br /&gt;
    ellipse(60, 60, 100*cos(counter*0.4), 100*tan(counter*0.6));&lt;br /&gt;
  }&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== volumeter ==&lt;br /&gt;
&lt;br /&gt;
The Volumeter uses the mic input to process speed, size and color of a moving circle. If the volume exceeds a specific treshold, the whole circle turns red and indicates that the sound is &amp;quot;too loud&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_tristan_vol.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
import ddf.minim.*;&lt;br /&gt;
Minim minim;&lt;br /&gt;
AudioInput input;&lt;br /&gt;
float xmove=width/2;&lt;br /&gt;
float ymove=height/2;&lt;br /&gt;
int xaccel=1;&lt;br /&gt;
int yaccel=1;&lt;br /&gt;
&lt;br /&gt;
float laut = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(screen.width, screen.height);&lt;br /&gt;
  background(0);&lt;br /&gt;
  minim = new Minim (this);&lt;br /&gt;
  input = minim.getLineIn (Minim.STEREO, 512);&lt;br /&gt;
  smooth();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  fill(0, 20);&lt;br /&gt;
  noStroke();&lt;br /&gt;
  rect(0, 0, width, height);&lt;br /&gt;
  laut = input.mix.level()*4000;&lt;br /&gt;
  noFill();&lt;br /&gt;
  strokeWeight(2);&lt;br /&gt;
  if (laut&amp;gt;=600) {&lt;br /&gt;
    fill(255, 0, 0, 235);&lt;br /&gt;
  }&lt;br /&gt;
  xmove=xmove+laut*xaccel/50;&lt;br /&gt;
  ymove=ymove+laut*yaccel/50;&lt;br /&gt;
  if (xmove&amp;lt;=0) {&lt;br /&gt;
    xaccel=1;&lt;br /&gt;
  }&lt;br /&gt;
  if (xmove&amp;gt;=width) {&lt;br /&gt;
    xaccel=-1;&lt;br /&gt;
  }&lt;br /&gt;
  if (ymove&amp;lt;=0) {&lt;br /&gt;
    yaccel=1;&lt;br /&gt;
  }&lt;br /&gt;
  if (ymove&amp;gt;=height) {&lt;br /&gt;
    yaccel=-1;&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    stroke(195-laut/100, 195-laut/100, 255, 235);&lt;br /&gt;
  }&lt;br /&gt;
  ellipse(xmove, ymove, laut, laut);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_tristan_vol.jpg&amp;diff=36027</id>
		<title>File:Processing einfuehrung final tristan vol.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_tristan_vol.jpg&amp;diff=36027"/>
		<updated>2011-12-19T16:20:21Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_tristan_mandra.jpg&amp;diff=36026</id>
		<title>File:Processing einfuehrung final tristan mandra.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_tristan_mandra.jpg&amp;diff=36026"/>
		<updated>2011-12-19T16:20:06Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_tristan_dimensionclock.jpg&amp;diff=36025</id>
		<title>File:Processing einfuehrung final tristan dimensionclock.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_tristan_dimensionclock.jpg&amp;diff=36025"/>
		<updated>2011-12-19T16:19:50Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_tristan_colorpattern.jpg&amp;diff=36024</id>
		<title>File:Processing einfuehrung final tristan colorpattern.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_tristan_colorpattern.jpg&amp;diff=36024"/>
		<updated>2011-12-19T16:19:28Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_tristan_dimensionclock.zip&amp;diff=36023</id>
		<title>File:Processing einfuehrung tristan dimensionclock.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_tristan_dimensionclock.zip&amp;diff=36023"/>
		<updated>2011-12-19T15:56:50Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_tristan.zip&amp;diff=36022</id>
		<title>File:Processing einfuehrung tristan.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_tristan.zip&amp;diff=36022"/>
		<updated>2011-12-19T15:30:07Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Star_Trails&amp;diff=36021</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Star Trails</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Star_Trails&amp;diff=36021"/>
		<updated>2011-12-19T15:25:19Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: /* PROGRAM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Star Trails =&lt;br /&gt;
&lt;br /&gt;
Inspired by photos and videos of star trails my aim was to recreate the look of these in an interactive processing sketch.&lt;br /&gt;
&lt;br /&gt;
== Short Description ==&lt;br /&gt;
In this version of the code you are able to randomly add new stars and show/hide/fade their trails, and switch to »Vortex Mode«&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
So, what does a starry sky consist of and how can we code something similar? &lt;br /&gt;
At first you have to create the stars, they are all basically just little dots and circles with different size, color and brightness. Does not seem to be a problem for the size, just let it be random. Same for brightness and... oh wait – stars do not have random colors, there are no green stars for example. There are mostly white, blue, yellow and some red stars. It turns out that the color of a star depends on its energy level, its temperature ... [http://www.astronomycafe.net/qadir/q72.html astronomycafe] &lt;br /&gt;
The point is, I can not use random() for my colors, so I create an array of colors I want to have and pick my colors out of that. To get the right amount of stars of each color I simply say »15 out of 20 colors in my array are blueish-white, 4 are yellow, 1 is red«. After thinking about that I do the same for size and brightness, so I get the right distribution of values – I do not want all my stars to be maximum sized and ultra bright, I need a little more control. Well, now there is a star field. To get some traces the stars have to be moved and drawn again every frame. You could do this by assigning every single star a vector changing over time but there is a much simpler way for this particular idea. Since it is not the stars that are moving but our earth, they all move the same. To move all the stars at once I simply move the whole coordinate system with rotate() and translate(). In this version of the sketch there is only one kind of movement – rotation – but you could easily write other types of movement, too. There is the »Vortex Mode« though, it works not by moving the whole system but by moving every single star.&lt;br /&gt;
With the function moveSystem(int mode) the coordinate system can be moved, thereby new motion patterns can be created. The patterns can be selected via the MODE value.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_sebastian.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// import processing.opengl.*;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////&lt;br /&gt;
// TRY PRESSING f, t, and v&lt;br /&gt;
/////////////////////////////////////////////&lt;br /&gt;
int winWidth   = 800;   // width of the window&lt;br /&gt;
int count      = 100;    // how many &amp;quot;stars&amp;quot; to draw at once&lt;br /&gt;
float maxSize  = 3;     // maximum size of &amp;quot;stars&amp;quot;&lt;br /&gt;
float centerX  = 66;    // percent&lt;br /&gt;
float centerY  = 62;    // percent&lt;br /&gt;
boolean trace  = true;  // if &amp;quot;stars&amp;quot; traces should be drawn&lt;br /&gt;
boolean fade   = false; // if traces should fade out&lt;br /&gt;
boolean vortex = false; // if &amp;quot;stars&amp;quot; move to one point&lt;br /&gt;
/////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
int winHeight = int((winWidth/16)*9);    // aspect ratio 16/9&lt;br /&gt;
ArrayList circles = new ArrayList();     // ArrayList to store objects of the Circle class&lt;br /&gt;
float step = 0;                          // initial state of rotation steps (360steps)&lt;br /&gt;
color colors[] = new color[20];          // Array of possible colors&lt;br /&gt;
float sizes[] = new float[20];           // Array of possible sizes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  size(winWidth, winHeight, JAVA2D);     // JAVA2D (standard) renderer for smooth rendering&lt;br /&gt;
  frameRate(24);&lt;br /&gt;
  noStroke();&lt;br /&gt;
  smooth();&lt;br /&gt;
  //hint( ENABLE_OPENGL_2X_SMOOTH );     // 2x &amp;quot;antialiasing&amp;quot; for OPENGL renderer&lt;br /&gt;
  //hint( ENABLE_OPENGL_4X_SMOOTH );     // 4x &amp;quot;antialiasing&amp;quot; for OPENGL renderer&lt;br /&gt;
&lt;br /&gt;
  colorMode(HSB, 360);&lt;br /&gt;
  background(0);&lt;br /&gt;
&lt;br /&gt;
  createSizes();&lt;br /&gt;
  createColors();&lt;br /&gt;
  createCircles();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  if (!trace) {&lt;br /&gt;
    background(0);&lt;br /&gt;
  }&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate((centerX/100)*width, (centerY/100)*height);&lt;br /&gt;
  moveSystem(2);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
  step += .005;&lt;br /&gt;
  if (step &amp;gt;= 360) {&lt;br /&gt;
    step = 0;&lt;br /&gt;
  }&lt;br /&gt;
  if (fade) {&lt;br /&gt;
    fill(0, 10);&lt;br /&gt;
    rect(0, 0, width, height);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void mouseReleased() {&lt;br /&gt;
  if (circles.size() &amp;gt;= 1) {&lt;br /&gt;
    createCircles();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyReleased() {&lt;br /&gt;
  if (key == &#039;t&#039; || key == &#039;T&#039;) {&lt;br /&gt;
    trace = !trace;&lt;br /&gt;
  }&lt;br /&gt;
  if (key == &#039;f&#039; || key == &#039;F&#039;) {&lt;br /&gt;
    fade = !fade;&lt;br /&gt;
  }&lt;br /&gt;
  if (key == &#039;v&#039; || key == &#039;V&#039;) {&lt;br /&gt;
    vortex = !vortex;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void createCircles() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; count; i++) {&lt;br /&gt;
    float sz = sizes[int(random(sizes.length))];&lt;br /&gt;
    color clr = colors[int(random(colors.length))];&lt;br /&gt;
    circles.add(new Circle(new PVector(random(-width, width), random(-height, height), sz), clr));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles() { &lt;br /&gt;
  for (int i = 0; i &amp;lt; circles.size(); i++) {&lt;br /&gt;
    Circle crcl = (Circle)circles.get(i);&lt;br /&gt;
    PVector target = new PVector(0, 0, 0);&lt;br /&gt;
    if (vortex) {&lt;br /&gt;
      crcl.vortex(target);&lt;br /&gt;
    }&lt;br /&gt;
    crcl.display();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void createSizes() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; sizes.length; i++) {&lt;br /&gt;
    sizes[i] = random(maxSize/3);      // most &amp;quot;stars&amp;quot; are not larger than a third of maxSize&lt;br /&gt;
    if (i &amp;lt;= sizes.length/5) {         // every 5th &amp;quot;star&amp;quot;&lt;br /&gt;
      // is&lt;br /&gt;
      sizes[i] = random(maxSize);    // between 0 and maxSize&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void createColors() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; colors.length; i++) {&lt;br /&gt;
    colors[i] = color(random(350, 360));&lt;br /&gt;
    if (i &amp;lt;= colors.length/2) {                                                                // half of all &amp;quot;stars&amp;quot;                                                                                           // are&lt;br /&gt;
      colors[i] = color(random(180, 240), random(60, 120), random(330, 360), random(60, 300));  // BLUE&lt;br /&gt;
    }&lt;br /&gt;
    if (i &amp;lt;= colors.length/4) {                                                                // every 4th                                                                                          // is&lt;br /&gt;
      colors[i] = color(random(50, 60), random(60, 120), random(330, 360), random(60, 180));    // YELLOW&lt;br /&gt;
    }    &lt;br /&gt;
    if (i &amp;lt;= random(1)) {                                                                // of those one or two&lt;br /&gt;
      // are&lt;br /&gt;
      colors[i] = color(random(0, 15), random(180, 240), random(330, 360), random(300, 360));   // RED&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void moveSystem(int mode) {&lt;br /&gt;
  switch(mode) {&lt;br /&gt;
  case 1: &lt;br /&gt;
    rotate(step);&lt;br /&gt;
  case 2: &lt;br /&gt;
    //    translate(100*sin(step), 100*cos(step));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Circle { &lt;br /&gt;
  PVector p;&lt;br /&gt;
  color c;&lt;br /&gt;
&lt;br /&gt;
  Circle (PVector tempP, color tempC) {  &lt;br /&gt;
    p = tempP;&lt;br /&gt;
    c = tempC;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  void vortex(PVector target){&lt;br /&gt;
    target = PVector.sub(target, p);  // find vector pointing towards target&lt;br /&gt;
    target.normalize();               // normalize it&lt;br /&gt;
    p.add(target);                    // add it to position vector&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  void display(){&lt;br /&gt;
    fill(c);&lt;br /&gt;
    ellipse(p.x, p.y, p.z, p.z);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Star_Trails&amp;diff=36020</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Star Trails</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Star_Trails&amp;diff=36020"/>
		<updated>2011-12-19T15:23:58Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Created page with &amp;quot;= Star Trails =  Inspired by photos and videos of star trails my aim was to recreate the look of these in an interactive processing sketch.  == Short Description == In this versi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Star Trails =&lt;br /&gt;
&lt;br /&gt;
Inspired by photos and videos of star trails my aim was to recreate the look of these in an interactive processing sketch.&lt;br /&gt;
&lt;br /&gt;
== Short Description ==&lt;br /&gt;
In this version of the code you are able to randomly add new stars and show/hide/fade their trails, and switch to »Vortex Mode«&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
So, what does a starry sky consist of and how can we code something similar? &lt;br /&gt;
At first you have to create the stars, they are all basically just little dots and circles with different size, color and brightness. Does not seem to be a problem for the size, just let it be random. Same for brightness and... oh wait – stars do not have random colors, there are no green stars for example. There are mostly white, blue, yellow and some red stars. It turns out that the color of a star depends on its energy level, its temperature ... [http://www.astronomycafe.net/qadir/q72.html astronomycafe] &lt;br /&gt;
The point is, I can not use random() for my colors, so I create an array of colors I want to have and pick my colors out of that. To get the right amount of stars of each color I simply say »15 out of 20 colors in my array are blueish-white, 4 are yellow, 1 is red«. After thinking about that I do the same for size and brightness, so I get the right distribution of values – I do not want all my stars to be maximum sized and ultra bright, I need a little more control. Well, now there is a star field. To get some traces the stars have to be moved and drawn again every frame. You could do this by assigning every single star a vector changing over time but there is a much simpler way for this particular idea. Since it is not the stars that are moving but our earth, they all move the same. To move all the stars at once I simply move the whole coordinate system with rotate() and translate(). In this version of the sketch there is only one kind of movement – rotation – but you could easily write other types of movement, too. There is the »Vortex Mode« though, it works not by moving the whole system but by moving every single star.&lt;br /&gt;
With the function moveSystem(int mode) the coordinate system can be moved, thereby new motion patterns can be created. The patterns can be selected via the MODE value.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// import processing.opengl.*;&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////&lt;br /&gt;
// TRY PRESSING f, t, and v&lt;br /&gt;
/////////////////////////////////////////////&lt;br /&gt;
int winWidth   = 800;   // width of the window&lt;br /&gt;
int count      = 100;    // how many &amp;quot;stars&amp;quot; to draw at once&lt;br /&gt;
float maxSize  = 3;     // maximum size of &amp;quot;stars&amp;quot;&lt;br /&gt;
float centerX  = 66;    // percent&lt;br /&gt;
float centerY  = 62;    // percent&lt;br /&gt;
boolean trace  = true;  // if &amp;quot;stars&amp;quot; traces should be drawn&lt;br /&gt;
boolean fade   = false; // if traces should fade out&lt;br /&gt;
boolean vortex = false; // if &amp;quot;stars&amp;quot; move to one point&lt;br /&gt;
/////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
int winHeight = int((winWidth/16)*9);    // aspect ratio 16/9&lt;br /&gt;
ArrayList circles = new ArrayList();     // ArrayList to store objects of the Circle class&lt;br /&gt;
float step = 0;                          // initial state of rotation steps (360steps)&lt;br /&gt;
color colors[] = new color[20];          // Array of possible colors&lt;br /&gt;
float sizes[] = new float[20];           // Array of possible sizes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  size(winWidth, winHeight, JAVA2D);     // JAVA2D (standard) renderer for smooth rendering&lt;br /&gt;
  frameRate(24);&lt;br /&gt;
  noStroke();&lt;br /&gt;
  smooth();&lt;br /&gt;
  //hint( ENABLE_OPENGL_2X_SMOOTH );     // 2x &amp;quot;antialiasing&amp;quot; for OPENGL renderer&lt;br /&gt;
  //hint( ENABLE_OPENGL_4X_SMOOTH );     // 4x &amp;quot;antialiasing&amp;quot; for OPENGL renderer&lt;br /&gt;
&lt;br /&gt;
  colorMode(HSB, 360);&lt;br /&gt;
  background(0);&lt;br /&gt;
&lt;br /&gt;
  createSizes();&lt;br /&gt;
  createColors();&lt;br /&gt;
  createCircles();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  if (!trace) {&lt;br /&gt;
    background(0);&lt;br /&gt;
  }&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate((centerX/100)*width, (centerY/100)*height);&lt;br /&gt;
  moveSystem(2);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
  step += .005;&lt;br /&gt;
  if (step &amp;gt;= 360) {&lt;br /&gt;
    step = 0;&lt;br /&gt;
  }&lt;br /&gt;
  if (fade) {&lt;br /&gt;
    fill(0, 10);&lt;br /&gt;
    rect(0, 0, width, height);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void mouseReleased() {&lt;br /&gt;
  if (circles.size() &amp;gt;= 1) {&lt;br /&gt;
    createCircles();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyReleased() {&lt;br /&gt;
  if (key == &#039;t&#039; || key == &#039;T&#039;) {&lt;br /&gt;
    trace = !trace;&lt;br /&gt;
  }&lt;br /&gt;
  if (key == &#039;f&#039; || key == &#039;F&#039;) {&lt;br /&gt;
    fade = !fade;&lt;br /&gt;
  }&lt;br /&gt;
  if (key == &#039;v&#039; || key == &#039;V&#039;) {&lt;br /&gt;
    vortex = !vortex;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void createCircles() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; count; i++) {&lt;br /&gt;
    float sz = sizes[int(random(sizes.length))];&lt;br /&gt;
    color clr = colors[int(random(colors.length))];&lt;br /&gt;
    circles.add(new Circle(new PVector(random(-width, width), random(-height, height), sz), clr));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles() { &lt;br /&gt;
  for (int i = 0; i &amp;lt; circles.size(); i++) {&lt;br /&gt;
    Circle crcl = (Circle)circles.get(i);&lt;br /&gt;
    PVector target = new PVector(0, 0, 0);&lt;br /&gt;
    if (vortex) {&lt;br /&gt;
      crcl.vortex(target);&lt;br /&gt;
    }&lt;br /&gt;
    crcl.display();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void createSizes() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; sizes.length; i++) {&lt;br /&gt;
    sizes[i] = random(maxSize/3);      // most &amp;quot;stars&amp;quot; are not larger than a third of maxSize&lt;br /&gt;
    if (i &amp;lt;= sizes.length/5) {         // every 5th &amp;quot;star&amp;quot;&lt;br /&gt;
      // is&lt;br /&gt;
      sizes[i] = random(maxSize);    // between 0 and maxSize&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void createColors() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; colors.length; i++) {&lt;br /&gt;
    colors[i] = color(random(350, 360));&lt;br /&gt;
    if (i &amp;lt;= colors.length/2) {                                                                // half of all &amp;quot;stars&amp;quot;                                                                                           // are&lt;br /&gt;
      colors[i] = color(random(180, 240), random(60, 120), random(330, 360), random(60, 300));  // BLUE&lt;br /&gt;
    }&lt;br /&gt;
    if (i &amp;lt;= colors.length/4) {                                                                // every 4th                                                                                          // is&lt;br /&gt;
      colors[i] = color(random(50, 60), random(60, 120), random(330, 360), random(60, 180));    // YELLOW&lt;br /&gt;
    }    &lt;br /&gt;
    if (i &amp;lt;= random(1)) {                                                                // of those one or two&lt;br /&gt;
      // are&lt;br /&gt;
      colors[i] = color(random(0, 15), random(180, 240), random(330, 360), random(300, 360));   // RED&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void moveSystem(int mode) {&lt;br /&gt;
  switch(mode) {&lt;br /&gt;
  case 1: &lt;br /&gt;
    rotate(step);&lt;br /&gt;
  case 2: &lt;br /&gt;
    //    translate(100*sin(step), 100*cos(step));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Circle { &lt;br /&gt;
  PVector p;&lt;br /&gt;
  color c;&lt;br /&gt;
&lt;br /&gt;
  Circle (PVector tempP, color tempC) {  &lt;br /&gt;
    p = tempP;&lt;br /&gt;
    c = tempC;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  void vortex(PVector target){&lt;br /&gt;
    target = PVector.sub(target, p);  // find vector pointing towards target&lt;br /&gt;
    target.normalize();               // normalize it&lt;br /&gt;
    p.add(target);                    // add it to position vector&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  void display(){&lt;br /&gt;
    fill(c);&lt;br /&gt;
    ellipse(p.x, p.y, p.z, p.z);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_sebastian.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_patawat.zip&amp;diff=36019</id>
		<title>File:Processing einfuehrung patawat.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_patawat.zip&amp;diff=36019"/>
		<updated>2011-12-19T15:03:24Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Crimewave&amp;diff=36018</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Crimewave</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Crimewave&amp;diff=36018"/>
		<updated>2011-12-19T15:01:41Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Created page with &amp;quot;= Crimewave =  == top concept == A music reactive system and a crime restriction are band.  600px &amp;lt;br clear=all /&amp;gt;  == c...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Crimewave =&lt;br /&gt;
&lt;br /&gt;
== top concept ==&lt;br /&gt;
A music reactive system and a crime restriction are band. &lt;br /&gt;
[[File:Processing_einfuehrung_final_crimewave1.jpg|left|600px]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== color + code ==&lt;br /&gt;
[[File:Processing_einfuehrung_final_crimewave2.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== construction ==&lt;br /&gt;
[[File:Processing_einfuehrung_final_crimewave3.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_crimewave4.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_crimewave5.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_crimewave6.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_crimewave7.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; Final pattern&lt;br /&gt;
[[File:Processing_einfuehrung_patawat.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_patawat.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave7.jpg&amp;diff=36013</id>
		<title>File:Processing einfuehrung final crimewave7.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave7.jpg&amp;diff=36013"/>
		<updated>2011-12-19T14:54:08Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave6.jpg&amp;diff=36012</id>
		<title>File:Processing einfuehrung final crimewave6.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave6.jpg&amp;diff=36012"/>
		<updated>2011-12-19T14:53:43Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave5.jpg&amp;diff=36011</id>
		<title>File:Processing einfuehrung final crimewave5.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave5.jpg&amp;diff=36011"/>
		<updated>2011-12-19T14:53:28Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave4.jpg&amp;diff=36010</id>
		<title>File:Processing einfuehrung final crimewave4.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave4.jpg&amp;diff=36010"/>
		<updated>2011-12-19T14:53:09Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave3.jpg&amp;diff=36009</id>
		<title>File:Processing einfuehrung final crimewave3.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave3.jpg&amp;diff=36009"/>
		<updated>2011-12-19T14:52:55Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave2.jpg&amp;diff=36008</id>
		<title>File:Processing einfuehrung final crimewave2.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave2.jpg&amp;diff=36008"/>
		<updated>2011-12-19T14:52:37Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave1.jpg&amp;diff=36007</id>
		<title>File:Processing einfuehrung final crimewave1.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_crimewave1.jpg&amp;diff=36007"/>
		<updated>2011-12-19T14:52:22Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_moritz.zip&amp;diff=36006</id>
		<title>File:Processing einfuehrung moritz.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_moritz.zip&amp;diff=36006"/>
		<updated>2011-12-19T14:39:19Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Linebender&amp;diff=36005</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Linebender</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Linebender&amp;diff=36005"/>
		<updated>2011-12-19T14:38:06Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Created page with &amp;quot;= Linebender =  == Idea == A very simple, yet appealing pattern can be created by drawing multiple vertical lines with equal distances – but what happens if this representation...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Linebender =&lt;br /&gt;
&lt;br /&gt;
== Idea ==&lt;br /&gt;
A very simple, yet appealing pattern can be created by drawing multiple vertical lines with equal distances – but what happens if this representation of perfect geometry is being disturbed? &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Vertical lines&#039;&#039;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Processing_einfuehrung_final_linebender1.jpg|(a) in peace&lt;br /&gt;
File:Processing_einfuehrung_final_linebender2.jpg|(b) disturbed&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the linebender sketch, one or a couple of agents will be placed between the lines and start to move in random directions. The lines should try to avoid contact with the agents and bend away. During this animation of action and reaction, new patterns of lines will be generated. One line shall be highlighted for a better visualization of the effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Processing_einfuehrung_final_linebender3.jpg|Agent at work&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This process will be achieved by creating an array of lines, each line consisting of an array of points.&lt;br /&gt;
These points will react to the agent’s movements.&lt;br /&gt;
The observer should be able to reset the process (UP-key) and save single frames of the animation as&lt;br /&gt;
a pdf (left mouse button).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Vertical lines with one highlighted:&#039;&#039;&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Processing_einfuehrung_final_linebender4.jpg|(a) in peace&lt;br /&gt;
File:Processing_einfuehrung_final_linebender5.jpg|(b) disturbed&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
[[File:Processing_einfuehrung_moritz.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_moritz.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender5.jpg&amp;diff=36004</id>
		<title>File:Processing einfuehrung final linebender5.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender5.jpg&amp;diff=36004"/>
		<updated>2011-12-19T14:33:47Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender4.jpg&amp;diff=36003</id>
		<title>File:Processing einfuehrung final linebender4.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender4.jpg&amp;diff=36003"/>
		<updated>2011-12-19T14:33:29Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender3.jpg&amp;diff=36002</id>
		<title>File:Processing einfuehrung final linebender3.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender3.jpg&amp;diff=36002"/>
		<updated>2011-12-19T14:33:15Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender2.jpg&amp;diff=36001</id>
		<title>File:Processing einfuehrung final linebender2.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender2.jpg&amp;diff=36001"/>
		<updated>2011-12-19T14:33:00Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender1.jpg&amp;diff=36000</id>
		<title>File:Processing einfuehrung final linebender1.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_linebender1.jpg&amp;diff=36000"/>
		<updated>2011-12-19T14:32:45Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35999</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Groving Ivy</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35999"/>
		<updated>2011-12-19T14:20:32Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: /* ivy leave 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Groving Ivy =&lt;br /&gt;
&lt;br /&gt;
== Observations ==&lt;br /&gt;
=== short description ===&lt;br /&gt;
The pattern of growing ivy is a pretty dense one. The leaves are the smallest elements within that pattern. Looking at the boundaries of it you can observe that ivy grows up in lines, each covered with leaves to the left and right side by turn. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions.&lt;br /&gt;
&lt;br /&gt;
=== longer description ===&lt;br /&gt;
The pattern consists of one basic shape – the shape of the leaves. One leave has an organic figure which could be transformed into a geometric form. This geometric shape exists of three equilateral triangles: the first one is the biggest with the hypotenuse at the bottom. The other two triangles are smaller than the first one. They are half sized and arranged in a diagonal way. Two-thirds of those triangles are inside the bigger triangle. Their top shows one to the left and one to the right side. &lt;br /&gt;
The leaves have different sizes which are organized randomly. They are arranged along a line, one to the left and one to the right side by turn. Those lines grow in parallel and even sometimes overlapping. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions. &lt;br /&gt;
&lt;br /&gt;
=== structure of the song ===&lt;br /&gt;
&lt;br /&gt;
* soft, high, fading single tones -&amp;gt;from beginning till 4th seconds&lt;br /&gt;
* louder, deeper, fading single tones -&amp;gt; from 4th second till 16th seconds&lt;br /&gt;
* lasting note with higher sequence -&amp;gt; from 16th second&lt;br /&gt;
* another lasting note with deeper sequence -&amp;gt; from 19th second&lt;br /&gt;
* changing with higher sequence note by turn every 3rd second -&amp;gt; till 59th second&lt;br /&gt;
* deep lasting note - instead of changing tones -&amp;gt; from 59th second till 81st second&lt;br /&gt;
* very deep lasting note -&amp;gt; lasting for 3 seconds with a delay of another 3 seconds, as a loop&lt;br /&gt;
* two high notes: first = clear and second = bit higher + fading; changing by turn-&amp;gt; from 81st second&lt;br /&gt;
* unregularly short cut and deep tones -&amp;gt; from 81st second&lt;br /&gt;
* singing voice of a woman, fading -&amp;gt; from 103rd second&lt;br /&gt;
* singing voice of a woman, clear and louder -&amp;gt; from 124th second&lt;br /&gt;
* kind of irregular beat -&amp;gt; from 124th second&lt;br /&gt;
&lt;br /&gt;
== in Processing ==&lt;br /&gt;
For Processing I wanted to create a programing code that simulates the natural way how ivy grows. The blinking ball at the beginning of the code reacts according to the music and embodies the origin of the growing plant. When the ball starts to move over the screen with the blurry effect, it stands for the randomly growing boughs, the main structure for the ivy leaves. The leaves itself are drawn when the music gets louder and rougher in its sound. They are drawn with random distances, like they would grow naturally.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
=== sketches ===&lt;br /&gt;
==== ivy leave ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy.jpg|thumb|ivy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(255);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  background(0);&lt;br /&gt;
  for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
    pushMatrix();&lt;br /&gt;
    for (int j = 0; j &amp;lt; 5; j++) {&lt;br /&gt;
      float colorFactor = calculateColorFactor(random(1.5, 3.5));&lt;br /&gt;
      ivyLeave(colorFactor);&lt;br /&gt;
      translate(80, 0);&lt;br /&gt;
    }&lt;br /&gt;
    popMatrix();&lt;br /&gt;
    translate(0, 80);&lt;br /&gt;
  }&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  if (timeInSeconds % 5 == 0) {&lt;br /&gt;
    println(&amp;quot;five seconds have passed&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(float colorFactor) {&lt;br /&gt;
  fill(colorFactor*10, 50);&lt;br /&gt;
  noStroke();&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
float calculateColorFactor(float r) {&lt;br /&gt;
  float newColor = r*10;&lt;br /&gt;
  return newColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 2 ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy2.jpg|thumb|ivy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //background(0);&lt;br /&gt;
  //fill(0,50);&lt;br /&gt;
  //rect(0,0,width,height);&lt;br /&gt;
  if (mousePressed == true) {&lt;br /&gt;
    variableIvyLeave();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave() {&lt;br /&gt;
  //noStroke();&lt;br /&gt;
  fill(150, 50);&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(-50, -120);&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave() {&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(mouseX, mouseY);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 3 ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy3.jpg|thumb|ivy3]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float x = 0;&lt;br /&gt;
float y = 0;&lt;br /&gt;
float speedX;&lt;br /&gt;
float speedY;&lt;br /&gt;
float velocityX = 1.0;&lt;br /&gt;
float velocityY = 1.0;&lt;br /&gt;
&lt;br /&gt;
//--------------------------&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  size(500,500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw(){&lt;br /&gt;
  background(0);&lt;br /&gt;
  speedX = random(-3, 5);&lt;br /&gt;
  speedY = random(-5, 5);&lt;br /&gt;
  variableIvyLeave(x,y);&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  &lt;br /&gt;
  if (timeInSeconds % 1 == 0) {&lt;br /&gt;
    variableIvyLeave(x,y);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if ((x &amp;gt; width) || (x &amp;lt; 0)) {&lt;br /&gt;
    speedX = abs(speedX);&lt;br /&gt;
    velocityX = -velocityX;&lt;br /&gt;
  }&lt;br /&gt;
  if ((y &amp;gt; height) || (y &amp;lt; 0)) {&lt;br /&gt;
    speedY = abs(speedY);&lt;br /&gt;
    velocityY = -velocityY;&lt;br /&gt;
  }&lt;br /&gt;
  x += speedX * velocityX;&lt;br /&gt;
  y += speedY * velocityY;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//---------------------------------------&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(){&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);  fill(250,60);&lt;br /&gt;
  &lt;br /&gt;
  //triangle large&lt;br /&gt;
  triangle(50,120, 100,40, 150,120);&lt;br /&gt;
  &lt;br /&gt;
  //triangle small left&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62,20);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
  &lt;br /&gt;
  //triangle small right&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125,-125);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave(float x, float y){&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(x,y);&lt;br /&gt;
  x += random(1,9);&lt;br /&gt;
  y += random(1,11);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 4 ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy4.jpg|thumb|ivy4]]&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_julia_ivy4.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
=== final version ===&lt;br /&gt;
[[File:Processing_einfuehrung_julia_all.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_julia.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35998</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Groving Ivy</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35998"/>
		<updated>2011-12-19T14:19:59Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: /* ivy leave 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Groving Ivy =&lt;br /&gt;
&lt;br /&gt;
== Observations ==&lt;br /&gt;
=== short description ===&lt;br /&gt;
The pattern of growing ivy is a pretty dense one. The leaves are the smallest elements within that pattern. Looking at the boundaries of it you can observe that ivy grows up in lines, each covered with leaves to the left and right side by turn. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions.&lt;br /&gt;
&lt;br /&gt;
=== longer description ===&lt;br /&gt;
The pattern consists of one basic shape – the shape of the leaves. One leave has an organic figure which could be transformed into a geometric form. This geometric shape exists of three equilateral triangles: the first one is the biggest with the hypotenuse at the bottom. The other two triangles are smaller than the first one. They are half sized and arranged in a diagonal way. Two-thirds of those triangles are inside the bigger triangle. Their top shows one to the left and one to the right side. &lt;br /&gt;
The leaves have different sizes which are organized randomly. They are arranged along a line, one to the left and one to the right side by turn. Those lines grow in parallel and even sometimes overlapping. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions. &lt;br /&gt;
&lt;br /&gt;
=== structure of the song ===&lt;br /&gt;
&lt;br /&gt;
* soft, high, fading single tones -&amp;gt;from beginning till 4th seconds&lt;br /&gt;
* louder, deeper, fading single tones -&amp;gt; from 4th second till 16th seconds&lt;br /&gt;
* lasting note with higher sequence -&amp;gt; from 16th second&lt;br /&gt;
* another lasting note with deeper sequence -&amp;gt; from 19th second&lt;br /&gt;
* changing with higher sequence note by turn every 3rd second -&amp;gt; till 59th second&lt;br /&gt;
* deep lasting note - instead of changing tones -&amp;gt; from 59th second till 81st second&lt;br /&gt;
* very deep lasting note -&amp;gt; lasting for 3 seconds with a delay of another 3 seconds, as a loop&lt;br /&gt;
* two high notes: first = clear and second = bit higher + fading; changing by turn-&amp;gt; from 81st second&lt;br /&gt;
* unregularly short cut and deep tones -&amp;gt; from 81st second&lt;br /&gt;
* singing voice of a woman, fading -&amp;gt; from 103rd second&lt;br /&gt;
* singing voice of a woman, clear and louder -&amp;gt; from 124th second&lt;br /&gt;
* kind of irregular beat -&amp;gt; from 124th second&lt;br /&gt;
&lt;br /&gt;
== in Processing ==&lt;br /&gt;
For Processing I wanted to create a programing code that simulates the natural way how ivy grows. The blinking ball at the beginning of the code reacts according to the music and embodies the origin of the growing plant. When the ball starts to move over the screen with the blurry effect, it stands for the randomly growing boughs, the main structure for the ivy leaves. The leaves itself are drawn when the music gets louder and rougher in its sound. They are drawn with random distances, like they would grow naturally.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
=== sketches ===&lt;br /&gt;
==== ivy leave ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy.jpg|thumb|ivy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(255);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  background(0);&lt;br /&gt;
  for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
    pushMatrix();&lt;br /&gt;
    for (int j = 0; j &amp;lt; 5; j++) {&lt;br /&gt;
      float colorFactor = calculateColorFactor(random(1.5, 3.5));&lt;br /&gt;
      ivyLeave(colorFactor);&lt;br /&gt;
      translate(80, 0);&lt;br /&gt;
    }&lt;br /&gt;
    popMatrix();&lt;br /&gt;
    translate(0, 80);&lt;br /&gt;
  }&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  if (timeInSeconds % 5 == 0) {&lt;br /&gt;
    println(&amp;quot;five seconds have passed&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(float colorFactor) {&lt;br /&gt;
  fill(colorFactor*10, 50);&lt;br /&gt;
  noStroke();&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
float calculateColorFactor(float r) {&lt;br /&gt;
  float newColor = r*10;&lt;br /&gt;
  return newColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 2 ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy2.jpg|thumb|ivy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //background(0);&lt;br /&gt;
  //fill(0,50);&lt;br /&gt;
  //rect(0,0,width,height);&lt;br /&gt;
  if (mousePressed == true) {&lt;br /&gt;
    variableIvyLeave();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave() {&lt;br /&gt;
  //noStroke();&lt;br /&gt;
  fill(150, 50);&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(-50, -120);&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave() {&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(mouseX, mouseY);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 3 ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy3.jpg|thumb|ivy3]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float x = 0;&lt;br /&gt;
float y = 0;&lt;br /&gt;
float speedX;&lt;br /&gt;
float speedY;&lt;br /&gt;
float velocityX = 1.0;&lt;br /&gt;
float velocityY = 1.0;&lt;br /&gt;
&lt;br /&gt;
//--------------------------&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  size(500,500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw(){&lt;br /&gt;
  background(0);&lt;br /&gt;
  speedX = random(-3, 5);&lt;br /&gt;
  speedY = random(-5, 5);&lt;br /&gt;
  variableIvyLeave(x,y);&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  &lt;br /&gt;
  if (timeInSeconds % 1 == 0) {&lt;br /&gt;
    variableIvyLeave(x,y);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if ((x &amp;gt; width) || (x &amp;lt; 0)) {&lt;br /&gt;
    speedX = abs(speedX);&lt;br /&gt;
    velocityX = -velocityX;&lt;br /&gt;
  }&lt;br /&gt;
  if ((y &amp;gt; height) || (y &amp;lt; 0)) {&lt;br /&gt;
    speedY = abs(speedY);&lt;br /&gt;
    velocityY = -velocityY;&lt;br /&gt;
  }&lt;br /&gt;
  x += speedX * velocityX;&lt;br /&gt;
  y += speedY * velocityY;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//---------------------------------------&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(){&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);  fill(250,60);&lt;br /&gt;
  &lt;br /&gt;
  //triangle large&lt;br /&gt;
  triangle(50,120, 100,40, 150,120);&lt;br /&gt;
  &lt;br /&gt;
  //triangle small left&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62,20);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
  &lt;br /&gt;
  //triangle small right&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125,-125);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave(float x, float y){&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(x,y);&lt;br /&gt;
  x += random(1,9);&lt;br /&gt;
  y += random(1,11);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 4 ====&lt;br /&gt;
[[File:Processing_einfuehrung_julia_ivy4.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
=== final version ===&lt;br /&gt;
[[File:Processing_einfuehrung_julia_all.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_julia.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35997</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Groving Ivy</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35997"/>
		<updated>2011-12-19T14:19:27Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: /* ivy leave 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Groving Ivy =&lt;br /&gt;
&lt;br /&gt;
== Observations ==&lt;br /&gt;
=== short description ===&lt;br /&gt;
The pattern of growing ivy is a pretty dense one. The leaves are the smallest elements within that pattern. Looking at the boundaries of it you can observe that ivy grows up in lines, each covered with leaves to the left and right side by turn. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions.&lt;br /&gt;
&lt;br /&gt;
=== longer description ===&lt;br /&gt;
The pattern consists of one basic shape – the shape of the leaves. One leave has an organic figure which could be transformed into a geometric form. This geometric shape exists of three equilateral triangles: the first one is the biggest with the hypotenuse at the bottom. The other two triangles are smaller than the first one. They are half sized and arranged in a diagonal way. Two-thirds of those triangles are inside the bigger triangle. Their top shows one to the left and one to the right side. &lt;br /&gt;
The leaves have different sizes which are organized randomly. They are arranged along a line, one to the left and one to the right side by turn. Those lines grow in parallel and even sometimes overlapping. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions. &lt;br /&gt;
&lt;br /&gt;
=== structure of the song ===&lt;br /&gt;
&lt;br /&gt;
* soft, high, fading single tones -&amp;gt;from beginning till 4th seconds&lt;br /&gt;
* louder, deeper, fading single tones -&amp;gt; from 4th second till 16th seconds&lt;br /&gt;
* lasting note with higher sequence -&amp;gt; from 16th second&lt;br /&gt;
* another lasting note with deeper sequence -&amp;gt; from 19th second&lt;br /&gt;
* changing with higher sequence note by turn every 3rd second -&amp;gt; till 59th second&lt;br /&gt;
* deep lasting note - instead of changing tones -&amp;gt; from 59th second till 81st second&lt;br /&gt;
* very deep lasting note -&amp;gt; lasting for 3 seconds with a delay of another 3 seconds, as a loop&lt;br /&gt;
* two high notes: first = clear and second = bit higher + fading; changing by turn-&amp;gt; from 81st second&lt;br /&gt;
* unregularly short cut and deep tones -&amp;gt; from 81st second&lt;br /&gt;
* singing voice of a woman, fading -&amp;gt; from 103rd second&lt;br /&gt;
* singing voice of a woman, clear and louder -&amp;gt; from 124th second&lt;br /&gt;
* kind of irregular beat -&amp;gt; from 124th second&lt;br /&gt;
&lt;br /&gt;
== in Processing ==&lt;br /&gt;
For Processing I wanted to create a programing code that simulates the natural way how ivy grows. The blinking ball at the beginning of the code reacts according to the music and embodies the origin of the growing plant. When the ball starts to move over the screen with the blurry effect, it stands for the randomly growing boughs, the main structure for the ivy leaves. The leaves itself are drawn when the music gets louder and rougher in its sound. They are drawn with random distances, like they would grow naturally.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
=== sketches ===&lt;br /&gt;
==== ivy leave ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy.jpg|thumb|ivy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(255);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  background(0);&lt;br /&gt;
  for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
    pushMatrix();&lt;br /&gt;
    for (int j = 0; j &amp;lt; 5; j++) {&lt;br /&gt;
      float colorFactor = calculateColorFactor(random(1.5, 3.5));&lt;br /&gt;
      ivyLeave(colorFactor);&lt;br /&gt;
      translate(80, 0);&lt;br /&gt;
    }&lt;br /&gt;
    popMatrix();&lt;br /&gt;
    translate(0, 80);&lt;br /&gt;
  }&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  if (timeInSeconds % 5 == 0) {&lt;br /&gt;
    println(&amp;quot;five seconds have passed&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(float colorFactor) {&lt;br /&gt;
  fill(colorFactor*10, 50);&lt;br /&gt;
  noStroke();&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
float calculateColorFactor(float r) {&lt;br /&gt;
  float newColor = r*10;&lt;br /&gt;
  return newColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 2 ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy2.jpg|thumb|ivy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //background(0);&lt;br /&gt;
  //fill(0,50);&lt;br /&gt;
  //rect(0,0,width,height);&lt;br /&gt;
  if (mousePressed == true) {&lt;br /&gt;
    variableIvyLeave();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave() {&lt;br /&gt;
  //noStroke();&lt;br /&gt;
  fill(150, 50);&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(-50, -120);&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave() {&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(mouseX, mouseY);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 3 ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float x = 0;&lt;br /&gt;
float y = 0;&lt;br /&gt;
float speedX;&lt;br /&gt;
float speedY;&lt;br /&gt;
float velocityX = 1.0;&lt;br /&gt;
float velocityY = 1.0;&lt;br /&gt;
&lt;br /&gt;
//--------------------------&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  size(500,500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw(){&lt;br /&gt;
  background(0);&lt;br /&gt;
  speedX = random(-3, 5);&lt;br /&gt;
  speedY = random(-5, 5);&lt;br /&gt;
  variableIvyLeave(x,y);&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  &lt;br /&gt;
  if (timeInSeconds % 1 == 0) {&lt;br /&gt;
    variableIvyLeave(x,y);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if ((x &amp;gt; width) || (x &amp;lt; 0)) {&lt;br /&gt;
    speedX = abs(speedX);&lt;br /&gt;
    velocityX = -velocityX;&lt;br /&gt;
  }&lt;br /&gt;
  if ((y &amp;gt; height) || (y &amp;lt; 0)) {&lt;br /&gt;
    speedY = abs(speedY);&lt;br /&gt;
    velocityY = -velocityY;&lt;br /&gt;
  }&lt;br /&gt;
  x += speedX * velocityX;&lt;br /&gt;
  y += speedY * velocityY;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//---------------------------------------&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(){&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);  fill(250,60);&lt;br /&gt;
  &lt;br /&gt;
  //triangle large&lt;br /&gt;
  triangle(50,120, 100,40, 150,120);&lt;br /&gt;
  &lt;br /&gt;
  //triangle small left&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62,20);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
  &lt;br /&gt;
  //triangle small right&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125,-125);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave(float x, float y){&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(x,y);&lt;br /&gt;
  x += random(1,9);&lt;br /&gt;
  y += random(1,11);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 4 ====&lt;br /&gt;
[[File:Processing_einfuehrung_julia_ivy4.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
=== final version ===&lt;br /&gt;
[[File:Processing_einfuehrung_julia_all.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_julia.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35996</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Groving Ivy</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35996"/>
		<updated>2011-12-19T14:19:01Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: /* ivy leave */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Groving Ivy =&lt;br /&gt;
&lt;br /&gt;
== Observations ==&lt;br /&gt;
=== short description ===&lt;br /&gt;
The pattern of growing ivy is a pretty dense one. The leaves are the smallest elements within that pattern. Looking at the boundaries of it you can observe that ivy grows up in lines, each covered with leaves to the left and right side by turn. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions.&lt;br /&gt;
&lt;br /&gt;
=== longer description ===&lt;br /&gt;
The pattern consists of one basic shape – the shape of the leaves. One leave has an organic figure which could be transformed into a geometric form. This geometric shape exists of three equilateral triangles: the first one is the biggest with the hypotenuse at the bottom. The other two triangles are smaller than the first one. They are half sized and arranged in a diagonal way. Two-thirds of those triangles are inside the bigger triangle. Their top shows one to the left and one to the right side. &lt;br /&gt;
The leaves have different sizes which are organized randomly. They are arranged along a line, one to the left and one to the right side by turn. Those lines grow in parallel and even sometimes overlapping. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions. &lt;br /&gt;
&lt;br /&gt;
=== structure of the song ===&lt;br /&gt;
&lt;br /&gt;
* soft, high, fading single tones -&amp;gt;from beginning till 4th seconds&lt;br /&gt;
* louder, deeper, fading single tones -&amp;gt; from 4th second till 16th seconds&lt;br /&gt;
* lasting note with higher sequence -&amp;gt; from 16th second&lt;br /&gt;
* another lasting note with deeper sequence -&amp;gt; from 19th second&lt;br /&gt;
* changing with higher sequence note by turn every 3rd second -&amp;gt; till 59th second&lt;br /&gt;
* deep lasting note - instead of changing tones -&amp;gt; from 59th second till 81st second&lt;br /&gt;
* very deep lasting note -&amp;gt; lasting for 3 seconds with a delay of another 3 seconds, as a loop&lt;br /&gt;
* two high notes: first = clear and second = bit higher + fading; changing by turn-&amp;gt; from 81st second&lt;br /&gt;
* unregularly short cut and deep tones -&amp;gt; from 81st second&lt;br /&gt;
* singing voice of a woman, fading -&amp;gt; from 103rd second&lt;br /&gt;
* singing voice of a woman, clear and louder -&amp;gt; from 124th second&lt;br /&gt;
* kind of irregular beat -&amp;gt; from 124th second&lt;br /&gt;
&lt;br /&gt;
== in Processing ==&lt;br /&gt;
For Processing I wanted to create a programing code that simulates the natural way how ivy grows. The blinking ball at the beginning of the code reacts according to the music and embodies the origin of the growing plant. When the ball starts to move over the screen with the blurry effect, it stands for the randomly growing boughs, the main structure for the ivy leaves. The leaves itself are drawn when the music gets louder and rougher in its sound. They are drawn with random distances, like they would grow naturally.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
=== sketches ===&lt;br /&gt;
==== ivy leave ====&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_final_ivy.jpg|thumb|ivy]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(255);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  background(0);&lt;br /&gt;
  for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
    pushMatrix();&lt;br /&gt;
    for (int j = 0; j &amp;lt; 5; j++) {&lt;br /&gt;
      float colorFactor = calculateColorFactor(random(1.5, 3.5));&lt;br /&gt;
      ivyLeave(colorFactor);&lt;br /&gt;
      translate(80, 0);&lt;br /&gt;
    }&lt;br /&gt;
    popMatrix();&lt;br /&gt;
    translate(0, 80);&lt;br /&gt;
  }&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  if (timeInSeconds % 5 == 0) {&lt;br /&gt;
    println(&amp;quot;five seconds have passed&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(float colorFactor) {&lt;br /&gt;
  fill(colorFactor*10, 50);&lt;br /&gt;
  noStroke();&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
float calculateColorFactor(float r) {&lt;br /&gt;
  float newColor = r*10;&lt;br /&gt;
  return newColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 2 ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //background(0);&lt;br /&gt;
  //fill(0,50);&lt;br /&gt;
  //rect(0,0,width,height);&lt;br /&gt;
  if (mousePressed == true) {&lt;br /&gt;
    variableIvyLeave();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave() {&lt;br /&gt;
  //noStroke();&lt;br /&gt;
  fill(150, 50);&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(-50, -120);&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave() {&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(mouseX, mouseY);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 3 ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float x = 0;&lt;br /&gt;
float y = 0;&lt;br /&gt;
float speedX;&lt;br /&gt;
float speedY;&lt;br /&gt;
float velocityX = 1.0;&lt;br /&gt;
float velocityY = 1.0;&lt;br /&gt;
&lt;br /&gt;
//--------------------------&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  size(500,500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw(){&lt;br /&gt;
  background(0);&lt;br /&gt;
  speedX = random(-3, 5);&lt;br /&gt;
  speedY = random(-5, 5);&lt;br /&gt;
  variableIvyLeave(x,y);&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  &lt;br /&gt;
  if (timeInSeconds % 1 == 0) {&lt;br /&gt;
    variableIvyLeave(x,y);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if ((x &amp;gt; width) || (x &amp;lt; 0)) {&lt;br /&gt;
    speedX = abs(speedX);&lt;br /&gt;
    velocityX = -velocityX;&lt;br /&gt;
  }&lt;br /&gt;
  if ((y &amp;gt; height) || (y &amp;lt; 0)) {&lt;br /&gt;
    speedY = abs(speedY);&lt;br /&gt;
    velocityY = -velocityY;&lt;br /&gt;
  }&lt;br /&gt;
  x += speedX * velocityX;&lt;br /&gt;
  y += speedY * velocityY;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//---------------------------------------&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(){&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);  fill(250,60);&lt;br /&gt;
  &lt;br /&gt;
  //triangle large&lt;br /&gt;
  triangle(50,120, 100,40, 150,120);&lt;br /&gt;
  &lt;br /&gt;
  //triangle small left&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62,20);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
  &lt;br /&gt;
  //triangle small right&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125,-125);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave(float x, float y){&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(x,y);&lt;br /&gt;
  x += random(1,9);&lt;br /&gt;
  y += random(1,11);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 4 ====&lt;br /&gt;
[[File:Processing_einfuehrung_julia_ivy4.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
=== final version ===&lt;br /&gt;
[[File:Processing_einfuehrung_julia_all.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_julia.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_ivy4.jpg&amp;diff=35995</id>
		<title>File:Processing einfuehrung final ivy4.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_ivy4.jpg&amp;diff=35995"/>
		<updated>2011-12-19T14:17:26Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_ivy3.jpg&amp;diff=35994</id>
		<title>File:Processing einfuehrung final ivy3.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_ivy3.jpg&amp;diff=35994"/>
		<updated>2011-12-19T14:17:13Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_ivy2.jpg&amp;diff=35993</id>
		<title>File:Processing einfuehrung final ivy2.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_ivy2.jpg&amp;diff=35993"/>
		<updated>2011-12-19T14:17:02Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_ivy.jpg&amp;diff=35992</id>
		<title>File:Processing einfuehrung final ivy.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_final_ivy.jpg&amp;diff=35992"/>
		<updated>2011-12-19T14:16:46Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35990</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Groving Ivy</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35990"/>
		<updated>2011-12-17T18:17:58Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Groving Ivy =&lt;br /&gt;
&lt;br /&gt;
== Observations ==&lt;br /&gt;
=== short description ===&lt;br /&gt;
The pattern of growing ivy is a pretty dense one. The leaves are the smallest elements within that pattern. Looking at the boundaries of it you can observe that ivy grows up in lines, each covered with leaves to the left and right side by turn. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions.&lt;br /&gt;
&lt;br /&gt;
=== longer description ===&lt;br /&gt;
The pattern consists of one basic shape – the shape of the leaves. One leave has an organic figure which could be transformed into a geometric form. This geometric shape exists of three equilateral triangles: the first one is the biggest with the hypotenuse at the bottom. The other two triangles are smaller than the first one. They are half sized and arranged in a diagonal way. Two-thirds of those triangles are inside the bigger triangle. Their top shows one to the left and one to the right side. &lt;br /&gt;
The leaves have different sizes which are organized randomly. They are arranged along a line, one to the left and one to the right side by turn. Those lines grow in parallel and even sometimes overlapping. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions. &lt;br /&gt;
&lt;br /&gt;
=== structure of the song ===&lt;br /&gt;
&lt;br /&gt;
* soft, high, fading single tones -&amp;gt;from beginning till 4th seconds&lt;br /&gt;
* louder, deeper, fading single tones -&amp;gt; from 4th second till 16th seconds&lt;br /&gt;
* lasting note with higher sequence -&amp;gt; from 16th second&lt;br /&gt;
* another lasting note with deeper sequence -&amp;gt; from 19th second&lt;br /&gt;
* changing with higher sequence note by turn every 3rd second -&amp;gt; till 59th second&lt;br /&gt;
* deep lasting note - instead of changing tones -&amp;gt; from 59th second till 81st second&lt;br /&gt;
* very deep lasting note -&amp;gt; lasting for 3 seconds with a delay of another 3 seconds, as a loop&lt;br /&gt;
* two high notes: first = clear and second = bit higher + fading; changing by turn-&amp;gt; from 81st second&lt;br /&gt;
* unregularly short cut and deep tones -&amp;gt; from 81st second&lt;br /&gt;
* singing voice of a woman, fading -&amp;gt; from 103rd second&lt;br /&gt;
* singing voice of a woman, clear and louder -&amp;gt; from 124th second&lt;br /&gt;
* kind of irregular beat -&amp;gt; from 124th second&lt;br /&gt;
&lt;br /&gt;
== in Processing ==&lt;br /&gt;
For Processing I wanted to create a programing code that simulates the natural way how ivy grows. The blinking ball at the beginning of the code reacts according to the music and embodies the origin of the growing plant. When the ball starts to move over the screen with the blurry effect, it stands for the randomly growing boughs, the main structure for the ivy leaves. The leaves itself are drawn when the music gets louder and rougher in its sound. They are drawn with random distances, like they would grow naturally.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
=== sketches ===&lt;br /&gt;
==== ivy leave ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(255);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  background(0);&lt;br /&gt;
  for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
    pushMatrix();&lt;br /&gt;
    for (int j = 0; j &amp;lt; 5; j++) {&lt;br /&gt;
      float colorFactor = calculateColorFactor(random(1.5, 3.5));&lt;br /&gt;
      ivyLeave(colorFactor);&lt;br /&gt;
      translate(80, 0);&lt;br /&gt;
    }&lt;br /&gt;
    popMatrix();&lt;br /&gt;
    translate(0, 80);&lt;br /&gt;
  }&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  if (timeInSeconds % 5 == 0) {&lt;br /&gt;
    println(&amp;quot;five seconds have passed&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(float colorFactor) {&lt;br /&gt;
  fill(colorFactor*10, 50);&lt;br /&gt;
  noStroke();&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
float calculateColorFactor(float r) {&lt;br /&gt;
  float newColor = r*10;&lt;br /&gt;
  return newColor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 2 ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  size(500, 500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  //background(0);&lt;br /&gt;
  //fill(0,50);&lt;br /&gt;
  //rect(0,0,width,height);&lt;br /&gt;
  if (mousePressed == true) {&lt;br /&gt;
    variableIvyLeave();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ivyLeave() {&lt;br /&gt;
  //noStroke();&lt;br /&gt;
  fill(150, 50);&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(-50, -120);&lt;br /&gt;
  triangle(50, 120, 100, 40, 150, 120);&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62, 20);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125, -125);&lt;br /&gt;
  triangle(15, 130, 40, 70, 65, 130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave() {&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(mouseX, mouseY);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 3 ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float x = 0;&lt;br /&gt;
float y = 0;&lt;br /&gt;
float speedX;&lt;br /&gt;
float speedY;&lt;br /&gt;
float velocityX = 1.0;&lt;br /&gt;
float velocityY = 1.0;&lt;br /&gt;
&lt;br /&gt;
//--------------------------&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  size(500,500);&lt;br /&gt;
  background(0);&lt;br /&gt;
  smooth();&lt;br /&gt;
  frameRate(15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw(){&lt;br /&gt;
  background(0);&lt;br /&gt;
  speedX = random(-3, 5);&lt;br /&gt;
  speedY = random(-5, 5);&lt;br /&gt;
  variableIvyLeave(x,y);&lt;br /&gt;
  float timeInSeconds = millis()/1000;&lt;br /&gt;
  &lt;br /&gt;
  if (timeInSeconds % 1 == 0) {&lt;br /&gt;
    variableIvyLeave(x,y);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if ((x &amp;gt; width) || (x &amp;lt; 0)) {&lt;br /&gt;
    speedX = abs(speedX);&lt;br /&gt;
    velocityX = -velocityX;&lt;br /&gt;
  }&lt;br /&gt;
  if ((y &amp;gt; height) || (y &amp;lt; 0)) {&lt;br /&gt;
    speedY = abs(speedY);&lt;br /&gt;
    velocityY = -velocityY;&lt;br /&gt;
  }&lt;br /&gt;
  x += speedX * velocityX;&lt;br /&gt;
  y += speedY * velocityY;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//---------------------------------------&lt;br /&gt;
&lt;br /&gt;
void ivyLeave(){&lt;br /&gt;
  stroke(55);&lt;br /&gt;
  strokeWeight(0.25);  fill(250,60);&lt;br /&gt;
  &lt;br /&gt;
  //triangle large&lt;br /&gt;
  triangle(50,120, 100,40, 150,120);&lt;br /&gt;
  &lt;br /&gt;
  //triangle small left&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(150);&lt;br /&gt;
  translate(-62,20);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
  &lt;br /&gt;
  //triangle small right&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  rotate(-150);&lt;br /&gt;
  translate(125,-125);&lt;br /&gt;
  triangle(15,130, 40,70, 65,130);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void variableIvyLeave(float x, float y){&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(x,y);&lt;br /&gt;
  x += random(1,9);&lt;br /&gt;
  y += random(1,11);&lt;br /&gt;
  ivyLeave();&lt;br /&gt;
  popMatrix();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ivy leave 4 ====&lt;br /&gt;
[[File:Processing_einfuehrung_julia_ivy4.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
=== final version ===&lt;br /&gt;
[[File:Processing_einfuehrung_julia_all.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_julia.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_julia_ivy4.zip&amp;diff=35989</id>
		<title>File:Processing einfuehrung julia ivy4.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_julia_ivy4.zip&amp;diff=35989"/>
		<updated>2011-12-17T18:17:40Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_julia_all.zip&amp;diff=35988</id>
		<title>File:Processing einfuehrung julia all.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_julia_all.zip&amp;diff=35988"/>
		<updated>2011-12-17T18:10:29Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35987</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Groving Ivy</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Groving_Ivy&amp;diff=35987"/>
		<updated>2011-12-17T18:09:50Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Created page with &amp;quot;= Groving Ivy =  == Observations == === short description === The pattern of growing ivy is a pretty dense one. The leaves are the smallest elements within that pattern. Looking ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Groving Ivy =&lt;br /&gt;
&lt;br /&gt;
== Observations ==&lt;br /&gt;
=== short description ===&lt;br /&gt;
The pattern of growing ivy is a pretty dense one. The leaves are the smallest elements within that pattern. Looking at the boundaries of it you can observe that ivy grows up in lines, each covered with leaves to the left and right side by turn. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions.&lt;br /&gt;
&lt;br /&gt;
=== longer description ===&lt;br /&gt;
The pattern consists of one basic shape – the shape of the leaves. One leave has an organic figure which could be transformed into a geometric form. This geometric shape exists of three equilateral triangles: the first one is the biggest with the hypotenuse at the bottom. The other two triangles are smaller than the first one. They are half sized and arranged in a diagonal way. Two-thirds of those triangles are inside the bigger triangle. Their top shows one to the left and one to the right side. &lt;br /&gt;
The leaves have different sizes which are organized randomly. They are arranged along a line, one to the left and one to the right side by turn. Those lines grow in parallel and even sometimes overlapping. Through this the pattern has an appearance like an organic, random grid which is extendable in all directions. &lt;br /&gt;
&lt;br /&gt;
=== structure of the song ===&lt;br /&gt;
&lt;br /&gt;
* soft, high, fading single tones -&amp;gt;from beginning till 4th seconds&lt;br /&gt;
* louder, deeper, fading single tones -&amp;gt; from 4th second till 16th seconds&lt;br /&gt;
* lasting note with higher sequence -&amp;gt; from 16th second&lt;br /&gt;
* another lasting note with deeper sequence -&amp;gt; from 19th second&lt;br /&gt;
* changing with higher sequence note by turn every 3rd second -&amp;gt; till 59th second&lt;br /&gt;
* deep lasting note - instead of changing tones -&amp;gt; from 59th second till 81st second&lt;br /&gt;
* very deep lasting note -&amp;gt; lasting for 3 seconds with a delay of another 3 seconds, as a loop&lt;br /&gt;
* two high notes: first = clear and second = bit higher + fading; changing by turn-&amp;gt; from 81st second&lt;br /&gt;
* unregularly short cut and deep tones -&amp;gt; from 81st second&lt;br /&gt;
* singing voice of a woman, fading -&amp;gt; from 103rd second&lt;br /&gt;
* singing voice of a woman, clear and louder -&amp;gt; from 124th second&lt;br /&gt;
* kind of irregular beat -&amp;gt; from 124th second&lt;br /&gt;
&lt;br /&gt;
== in Processing ==&lt;br /&gt;
For Processing I wanted to create a programing code that simulates the natural way how ivy grows. The blinking ball at the beginning of the code reacts according to the music and embodies the origin of the growing plant. When the ball starts to move over the screen with the blurry effect, it stands for the randomly growing boughs, the main structure for the ivy leaves. The leaves itself are drawn when the music gets louder and rougher in its sound. They are drawn with random distances, like they would grow naturally.&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
[[File:Processing_einfuehrung_julia_all.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_julia.jpg|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jin.zip&amp;diff=35986</id>
		<title>File:Processing einfuehrung jin.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jin.zip&amp;diff=35986"/>
		<updated>2011-12-17T17:55:39Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: uploaded a new version of &amp;amp;quot;File:Processing einfuehrung jin.zip&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Lively_Dots&amp;diff=35985</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Lively Dots</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Lively_Dots&amp;diff=35985"/>
		<updated>2011-12-17T17:55:24Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lively Dots =&lt;br /&gt;
&lt;br /&gt;
Lively dots is an interactive work that is based on camera input. Movement is detected to control an image, the image is not shown until something moves. &lt;br /&gt;
&lt;br /&gt;
== Interaction ==&lt;br /&gt;
* &#039;&#039;mouse pressed&#039;&#039; can pause the video&lt;br /&gt;
* &#039;&#039;key: s&#039;&#039; stands for save the picture&lt;br /&gt;
* &#039;&#039;key: a&#039;&#039; stands for add the number of the balls&lt;br /&gt;
* &#039;&#039;key: m&#039;&#039; stands for minus the number of the balls&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
Use library&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
import JMyron.*;&lt;br /&gt;
JMyron m;   //a camera object&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Camera Settings&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void drawCamera() {&lt;br /&gt;
  //get the normal image of the camera&lt;br /&gt;
  int[] img = m.differenceImage(); &lt;br /&gt;
  loadPixels();&lt;br /&gt;
  //loop through all the pixels&lt;br /&gt;
  for (int i=0;i&amp;lt;width*height;i++) { &lt;br /&gt;
    //draw each pixel to the screen &lt;br /&gt;
    pixels[i] = img[i];&lt;br /&gt;
  }&lt;br /&gt;
  updatePixels();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dots ==&lt;br /&gt;
Initial value&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float objx = 320;&lt;br /&gt;
float objy = 240;&lt;br /&gt;
float objdestx = 320;&lt;br /&gt;
float objdesty = 240;&lt;br /&gt;
&lt;br /&gt;
int numBalls = 25600;&lt;br /&gt;
float maxVelocity = 16; &lt;br /&gt;
minAccel = 0.8; &lt;br /&gt;
maxAccel = 1.8;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location of the dots&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
if (!(avX==0&amp;amp;&amp;amp;avY==0)&amp;amp;&amp;amp;centers.length&amp;gt;0) {&lt;br /&gt;
  objdestx = avX;&lt;br /&gt;
  objdesty = avY;&lt;br /&gt;
}&lt;br /&gt;
objx += (objdestx-objx)/10.0f;&lt;br /&gt;
objy += (objdesty-objy)/10.0f;&lt;br /&gt;
for (int i=0; i&amp;lt;numBalls; i++) {&lt;br /&gt;
  ball[i].seek(new PVector(objx, objy));&lt;br /&gt;
  ball[i].render();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
[[File:Processing_einfuehrung_jin.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_jin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Lively_Dots&amp;diff=35984</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Lively Dots</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Lively_Dots&amp;diff=35984"/>
		<updated>2011-12-17T17:54:24Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Created page with &amp;quot;= Lively Dots =  Lively dots is an interactive work that is based on camera input. Movement is detected to control an image, the image is not shown until something moves.   * &amp;#039;&amp;#039;m...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lively Dots =&lt;br /&gt;
&lt;br /&gt;
Lively dots is an interactive work that is based on camera input. Movement is detected to control an image, the image is not shown until something moves. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;mouse pressed&#039;&#039; can pause the video&lt;br /&gt;
* &#039;&#039;key: s&#039;&#039; stands for save the picture&lt;br /&gt;
* &#039;&#039;key: a&#039;&#039; stands for add the number of the balls&lt;br /&gt;
* &#039;&#039;key: m&#039;&#039; stands for minus the number of the balls&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
Use library&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
import JMyron.*;&lt;br /&gt;
JMyron m;   //a camera object&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Camera Settings&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void drawCamera() {&lt;br /&gt;
  //get the normal image of the camera&lt;br /&gt;
  int[] img = m.differenceImage(); &lt;br /&gt;
  loadPixels();&lt;br /&gt;
  //loop through all the pixels&lt;br /&gt;
  for (int i=0;i&amp;lt;width*height;i++) { &lt;br /&gt;
    //draw each pixel to the screen &lt;br /&gt;
    pixels[i] = img[i];&lt;br /&gt;
  }&lt;br /&gt;
  updatePixels();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dots ==&lt;br /&gt;
Initial value&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float objx = 320;&lt;br /&gt;
float objy = 240;&lt;br /&gt;
float objdestx = 320;&lt;br /&gt;
float objdesty = 240;&lt;br /&gt;
&lt;br /&gt;
int numBalls = 25600;&lt;br /&gt;
float maxVelocity = 16; &lt;br /&gt;
minAccel = 0.8; &lt;br /&gt;
maxAccel = 1.8;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location of the dots&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
if (!(avX==0&amp;amp;&amp;amp;avY==0)&amp;amp;&amp;amp;centers.length&amp;gt;0) {&lt;br /&gt;
  objdestx = avX;&lt;br /&gt;
  objdesty = avY;&lt;br /&gt;
}&lt;br /&gt;
objx += (objdestx-objx)/10.0f;&lt;br /&gt;
objy += (objdesty-objy)/10.0f;&lt;br /&gt;
for (int i=0; i&amp;lt;numBalls; i++) {&lt;br /&gt;
  ball[i].seek(new PVector(objx, objy));&lt;br /&gt;
  ball[i].render();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
[[File:Processing_einfuehrung_jin.zip|Download SketchFolder]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_jin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jin.zip&amp;diff=35983</id>
		<title>File:Processing einfuehrung jin.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jin.zip&amp;diff=35983"/>
		<updated>2011-12-17T17:40:15Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Pattern&amp;diff=35982</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Pattern</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Pattern&amp;diff=35982"/>
		<updated>2011-12-17T17:37:16Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pattern =&lt;br /&gt;
&lt;br /&gt;
For the final homework, I want to create a pattern, which consist of squares, circles and stars. The shape will randomly selected and tweens to the next shape. At the beginning, the user should click, if the next tween should happened, but I changed it. If a tween is finished, a new shape will randomly selected and the tween starts. The user can control some aspects of the shape. &lt;br /&gt;
&lt;br /&gt;
These aspects are:&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;by pressing a key&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
* UP	Moves the origin of the shapes 20px up&lt;br /&gt;
* DOWN	Moves the origin of the shapes 20px down&lt;br /&gt;
* LEFT	Moves the origin of the shapes 20px left&lt;br /&gt;
* RIGHT	Moves the origin of the shapes 20px right&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;by releasing a key&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
* a/A	adds a new shape on the right, if the current number is below the maximum&lt;br /&gt;
* s/S	removes the shape on the right (The minimum is 1 shape)&lt;br /&gt;
* d/D	adds a new shape on the bottom, if the current number is below the maximum&lt;br /&gt;
* f/F	removes the shape on the bottom (The minimum is 1 shape)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;by mouse click&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
* Creates a new color for every shape, there will be a tween between the current number and the new one&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;by moving the mouse&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
* It will adjust the distance between the shapes, considering the current origin of the shapes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;by adjusting properties in the FinalHomework sketch&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
* randomIsOK		Will position the shapes in every frame randomly to its origin (not the origin of all shapes)&lt;br /&gt;
* randomValue		If randomIsOK, it will be the offset from the origin of the shape&lt;br /&gt;
* resetBackground	If the background should be reset, if no: A rectangle will be drawn with the following color&lt;br /&gt;
* bicolor		color for the background (without alpha) or for the rectangle (with alpha)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PROGRAM ==&lt;br /&gt;
&lt;br /&gt;
[[File:Processing_einfuehrung_andreas.zip|Download SketchFolder]]&lt;br /&gt;
[[Image:Processing_einfuehrung_final_andreas.jpg]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Pattern&amp;diff=35981</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Pattern</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Pattern&amp;diff=35981"/>
		<updated>2011-12-17T17:36:30Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Sinus_Wave&amp;diff=35980</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Sinus Wave</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Sinus_Wave&amp;diff=35980"/>
		<updated>2011-12-17T17:34:54Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Sinus Wave =&lt;br /&gt;
&lt;br /&gt;
== Idee ==&lt;br /&gt;
Mein Ziel war es, ein dreidimensionales Ebenenraster zu generieren, das aus mehreren geometrischen, an den Rasterpunkten angeordneten Objekten besteht und durch deren sinusartige Auf und Abwärtsbewegung ein natürliche Wellenbewegung grafisch beschreibt.&lt;br /&gt;
&lt;br /&gt;
== Umsetzung ==&lt;br /&gt;
Für dessen Umsetzung war es zunächst erforderlich, mir die Funktionsweise einer beweglichen Sinuskurve auf zweidimensionaler Ebene zu vergegenwärtigen: Die Berechnung in Programmiersprache erfolgt im Grunde durch eine einfachen Sinuskalkulation eines fortlaufenden Wertes(Theta), multipliziert mit dem maximalen Höhenwert der Kurve. Durch den fortlaufenden Wert des Winkels ergeben sich bei jeder Berechnungsabfolge einer Schleife periodische Werte, die der Reihe nach in einem &#039;Array&#039; gelistet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
yvalues = new float[10]; //Array hat zunächst noch eine Länge in der Größe von 10 Schleifendurchläufen&lt;br /&gt;
theta += 0.08;&lt;br /&gt;
   float x = theta;&lt;br /&gt;
   for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
        yvalues[i] = sin(x)*30;&lt;br /&gt;
        x+=dx;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zur grafischen Darstellung erfolgt der Aufruf einer separaten Funktion, in dieser das Geometrische Objekt (Kubus), mittels einer Schleife, jeweils neu erstellt und in horizontaler Achsenrichtung, um einen definierten Abstandswert(50 Pixel) verschoben werden soll. Für jedes einzelne Objekt&lt;br /&gt;
wird bei erneutem Schleifendurchlauf ein neuer Y-Wert aus dem Array geschöpft.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (int x = 0; x &amp;lt; 10; x++) {&lt;br /&gt;
  pushMatrix();&lt;br /&gt;
  translate(50*x+50, 500+yvalues[x], 0);&lt;br /&gt;
  box(15);&lt;br /&gt;
  popMatrix();&lt;br /&gt;
  line(50+(x*50), 500+yvalues[x], 0, 100+(x*50), 500+yvalues[x+1], 0); //Verbindungslinien&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für eine dreidimensionale Darstellung der Objekte in Reihen (in Richtung x-Achse) und Spalten (in Richtung z-Achse), ist eine Doppelschleife erforderlich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (int x = 0; x &amp;lt; 10; x++) {&lt;br /&gt;
  for (int z = 0; z &amp;lt; 10; z++) {&lt;br /&gt;
    pushMatrix();&lt;br /&gt;
    translate(50*x+50, 500+yvalues[x+z], z*-50);&lt;br /&gt;
    box(15);&lt;br /&gt;
    popMatrix();&lt;br /&gt;
    line(50+(x*50), 500+yvalues[z+x], z*-50, 100+(x*50), 500+yvalues[z+x+1], z*-50);&lt;br /&gt;
    line(50+(x*50), 500+yvalues[z+x], z*-50, 50+(x*50), 500+yvalues[z+x+1], (z*-50)-50);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hierbei wird, um eine diagonale Wellenbewegung zu erzielen, dem Listenindex des Arrays der Zählwert der Variable &#039;z&#039; hinzu addiert. Das Array muss jedoch bei der Deklaration den doppelten Längenwert aufweisen, da sonst seine Liste überfüllt wäre. Das gleiche gilt für die Anzahl der Schleifendurchläufe bei der Sinusberechnung. Andere Formen der Darstellung mittels &#039;translate&#039; sind jedoch möglich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (int x = 0; x &amp;lt; 10; x++) {&lt;br /&gt;
  for (int z = 0; z &amp;lt; 10; z++) {&lt;br /&gt;
    pushMatrix();&lt;br /&gt;
    translate(50*x+50, 500+yvalues[x], z*-50);&lt;br /&gt;
    translate(0, yvalues[z], 0);&lt;br /&gt;
    box(15);&lt;br /&gt;
    popMatrix();&lt;br /&gt;
    line(50+(x*50), 500+yvalues[z]+yvalues[x], z*-50, 100+(x*50), 500+yvalues[z]+yvalues[x+1], &lt;br /&gt;
    z*-50);&lt;br /&gt;
    line(50+(x*50), 500+yvalues[z]+yvalues[x], z*-50, 50+(x*50), 500+yvalues[z+1]+yvalues[x], &lt;br /&gt;
    (z*-50)-50);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PROGRAMM ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Processing_einfuehrung_final_florian.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
float theta;  // Start angle at 0&lt;br /&gt;
float dx;  // Value for incrementing X, a function of period and xspacing&lt;br /&gt;
float[] yvalues;  // array in dem die höhenwerte der jeweiligen boxen gespeichert werden&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  smooth();&lt;br /&gt;
  size(600, 600, P3D);&lt;br /&gt;
  frameRate(30);&lt;br /&gt;
  dx = (TWO_PI / 500) * 60; //anzahl bzw. abstand der wellenberge&lt;br /&gt;
  yvalues = new float[20];&lt;br /&gt;
  translate(width/2, height/2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
  rotateX(-0.5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void keyPressed() {&lt;br /&gt;
  background(55);&lt;br /&gt;
  theta += 0.08; //geschwindigkeit&lt;br /&gt;
  float x = theta;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    yvalues[i] = sin(x)*30; //höhe des wellenbergs&lt;br /&gt;
    x+=dx;&lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  if (key == &#039;1&#039;) {&lt;br /&gt;
    renderWave1();&lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  if (key == &#039;2&#039;) {&lt;br /&gt;
    renderWave2();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void  renderWave1() {&lt;br /&gt;
  for (int x = 0; x &amp;lt; 10; x++) {&lt;br /&gt;
    for (int z = 0; z &amp;lt; 10; z++) {&lt;br /&gt;
      pushMatrix();&lt;br /&gt;
      translate(50*x+50, 500+yvalues[x+z], z*-50); &lt;br /&gt;
      //translate(0, yvalues[z], 0); &lt;br /&gt;
      box(15);&lt;br /&gt;
      popMatrix();&lt;br /&gt;
      line(50+(x*50), 500+yvalues[z+x], z*-50, 100+(x*50), 500+yvalues[z+x+1], z*-50);&lt;br /&gt;
      line(50+(x*50), 500+yvalues[z+x], z*-50, 50+(x*50), 500+yvalues[z+x+1], (z*-50)-50);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void  renderWave2() {&lt;br /&gt;
  for (int x = 0; x &amp;lt; 10; x++) {&lt;br /&gt;
    for (int z = 0; z &amp;lt; 10; z++) {&lt;br /&gt;
      pushMatrix();&lt;br /&gt;
      translate(50*x+50, 500+yvalues[x], z*-50); &lt;br /&gt;
      translate(0, yvalues[z], 0); &lt;br /&gt;
      box(15);&lt;br /&gt;
      popMatrix();&lt;br /&gt;
      line(50+(x*50), 500+yvalues[z]+yvalues[x], z*-50, 100+(x*50), 500+yvalues[z]+yvalues[x+1], z*-50);&lt;br /&gt;
      line(50+(x*50), 500+yvalues[z]+yvalues[x], z*-50, 50+(x*50), 500+yvalues[z+1]+yvalues[x], (z*-50)-50);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Sinus_Wave&amp;diff=35979</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Sinus Wave</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Sinus_Wave&amp;diff=35979"/>
		<updated>2011-12-17T17:33:29Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Snowflakes_%26_Raptorclone&amp;diff=35978</id>
		<title>GMU:Einführung ins Programmieren mit Processing/final/Snowflakes &amp; Raptorclone</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=GMU:Einf%C3%BChrung_ins_Programmieren_mit_Processing/final/Snowflakes_%26_Raptorclone&amp;diff=35978"/>
		<updated>2011-12-17T17:31:38Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: Created page with &amp;quot;= Snowflakes =  Wer liebt sie nicht, die Schneeflocken die der Winter uns jährlich schenkt. Doch damit wir nun nicht mehr auf diese kalte Jahreszeit warten müssen, gibt es nun:...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Snowflakes =&lt;br /&gt;
&lt;br /&gt;
Wer liebt sie nicht, die Schneeflocken die der Winter uns jährlich schenkt. Doch damit wir nun nicht mehr auf diese kalte Jahreszeit warten müssen, gibt es nun: Die Processing Applikation &amp;quot;Snowflakes&amp;quot;. Jetzt denkt ihr vielleicht: &amp;quot;Und was wenn ich Schnee nicht ausstehen kann?&amp;quot; Nun - auf für diesen Fall ist gesorgt!&lt;br /&gt;
&lt;br /&gt;
Snowflakes ist eine einfache Schneeflockensimulation, welche als Schneeflocken Vorgerenderte Bilder verwendetet und diese in drei Ebenen, unterschiedlichen Geschwindigkeiten und Größen in einer von der Größe der Flocke abhängigen Sinusfunktion vom oberen Bildschirmrand herunterfallen läßt.&lt;br /&gt;
&lt;br /&gt;
Für das Abspielen der Geräusche wurde die minim-Bibliothek genutzt.&lt;br /&gt;
&lt;br /&gt;
== PROGRAMM ==&lt;br /&gt;
[[File:Processing_einfuehrung_jan_snowflakes.zip|Download SketchFolder Snowflakes]]&lt;br /&gt;
[[Image:Processing_einfuehrung_final_jan2.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Raptorclone =&lt;br /&gt;
Da mich das Spiel &amp;quot;Raptor - Call of Shadows&amp;quot; aus meiner Jugendzeit bis heute nicht losgelassen hat, habe ich mich an eine Annäherung des Spielprinzips herangewagt. Da ich ein Android-Smartphone besitze und Processing die einfache Portierung auf Android ermöglicht, war ein mein Ziel, das Spiel auch auf meinen Smartphone zum Laufen zu bringen, was mir auch geglückt ist. Anzumerken zur Portierung wäre, dass zB die minim-Bibliothek auf Android nicht lauffähig ist und die Size-Funktion keine Variablen bis auf screenWidth und screenHeight schluckt, egal ob das Programm Anweisungen enthält oder völlig leer ist.&lt;br /&gt;
&lt;br /&gt;
Als technische Besonderheit wird die komplette Grafik auf einen virtuellen Bildschirm gezeichnet, so dass man die finale Auflösung auf die jeweilige Bildschirmgröße des Gerätes anpassen kann (skalieren) ohne die eigentlich &amp;quot;Spielfläche&amp;quot; auszudehnen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Processing_einfuehrung_jan_mobile.jpg&lt;br /&gt;
File:Processing_einfuehrung_jan_mobile2.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PROGRAMM ==&lt;br /&gt;
[[File:Processing_einfuehrung_jan_raptorclone.zip|Download SketchFolder Snowflakes]]&lt;br /&gt;
[[Image:Processing_einfuehrung_final_Jan1.jpg|left]]&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jan_mobile2.jpg&amp;diff=35977</id>
		<title>File:Processing einfuehrung jan mobile2.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jan_mobile2.jpg&amp;diff=35977"/>
		<updated>2011-12-17T17:22:20Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jan_mobile.jpg&amp;diff=35976</id>
		<title>File:Processing einfuehrung jan mobile.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jan_mobile.jpg&amp;diff=35976"/>
		<updated>2011-12-17T17:22:06Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
	<entry>
		<id>https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jan_snowflakes.zip&amp;diff=35975</id>
		<title>File:Processing einfuehrung jan snowflakes.zip</title>
		<link rel="alternate" type="text/html" href="https://www.uni-weimar.de/kunst-und-gestaltung/wiki/index.php?title=File:Processing_einfuehrung_jan_snowflakes.zip&amp;diff=35975"/>
		<updated>2011-12-17T17:10:46Z</updated>

		<summary type="html">&lt;p&gt;Ktrin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
== Copyright status: ==&lt;br /&gt;
&lt;br /&gt;
== Source: ==&lt;/div&gt;</summary>
		<author><name>Ktrin</name></author>
	</entry>
</feed>