<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.roberttwomey.com/index.php?action=history&amp;feed=atom&amp;title=Motion_Animation_-_Greg_Parsons</id>
		<title>Motion Animation - Greg Parsons - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.roberttwomey.com/index.php?action=history&amp;feed=atom&amp;title=Motion_Animation_-_Greg_Parsons"/>
		<link rel="alternate" type="text/html" href="http://wiki.roberttwomey.com/index.php?title=Motion_Animation_-_Greg_Parsons&amp;action=history"/>
		<updated>2026-08-16T06:56:14Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.1</generator>

	<entry>
		<id>http://wiki.roberttwomey.com/index.php?title=Motion_Animation_-_Greg_Parsons&amp;diff=3707&amp;oldid=prev</id>
		<title>GregoryParsons at 22:40, 29 April 2010</title>
		<link rel="alternate" type="text/html" href="http://wiki.roberttwomey.com/index.php?title=Motion_Animation_-_Greg_Parsons&amp;diff=3707&amp;oldid=prev"/>
				<updated>2010-04-29T22:40:12Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;tr style=&#039;vertical-align: top;&#039; lang=&#039;en&#039;&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 22:40, 29 April 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;----&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot; &gt;Line 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Copy this into a new processing project to test.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Copy this into a new processing project to test.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nowiki&lt;/del&gt;&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/**&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pre&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; * Greg Parsons VIS145B Midterm Test&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; * Greg Parsons VIS145B Midterm Test&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; *&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; *&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l181&quot; &gt;Line 181:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 180:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nowiki&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pre&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>GregoryParsons</name></author>	</entry>

	<entry>
		<id>http://wiki.roberttwomey.com/index.php?title=Motion_Animation_-_Greg_Parsons&amp;diff=3705&amp;oldid=prev</id>
		<title>GregoryParsons: New page:  ----  Midterm Project  ;Motivation: :	I was interested in the demonstrations of  computer vision presented during the first week of lecture. Using the in class     sampling of the technol...</title>
		<link rel="alternate" type="text/html" href="http://wiki.roberttwomey.com/index.php?title=Motion_Animation_-_Greg_Parsons&amp;diff=3705&amp;oldid=prev"/>
				<updated>2010-04-29T22:38:56Z</updated>
		
		<summary type="html">&lt;p&gt;New page:  ----  Midterm Project  ;Motivation: :	I was interested in the demonstrations of  computer vision presented during the first week of lecture. Using the in class     sampling of the technol...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Midterm Project&lt;br /&gt;
&lt;br /&gt;
;Motivation:&lt;br /&gt;
:	I was interested in the demonstrations of  computer vision presented during the first week of lecture. Using the in class     sampling of the technologies I was impressed by how I was able to manipulate a project using frame differencing. I would like to create a project that is manipulated by movements from the viewer of the project.&lt;br /&gt;
;Interaction:&lt;br /&gt;
:	The interaction of the project will be enacted with a webcam, recording movement in a scene and manipulating a graphical image based on the data collected from the difference in frames. In total the project would react to the viewers movements in some way. &lt;br /&gt;
;Function:&lt;br /&gt;
:	My programming experience is limited to the past two quarters of instruction. But I would like to be able to achieve smooth movement in the image using some form of algorithmic processing.  &lt;br /&gt;
;Visualization:&lt;br /&gt;
:	I have a semi-working project that I created this weekend using a visual example from OpenProcessing.org that I will show in class if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Code for Demo:&lt;br /&gt;
&lt;br /&gt;
Copy this into a new processing project to test.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;/**&lt;br /&gt;
 * Greg Parsons VIS145B Midterm Test&lt;br /&gt;
 *  &lt;br /&gt;
 * Project Uses Frame Differencing to detect motion, sees it and draws a picture&lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//videocapture&lt;br /&gt;
import processing.video.*;&lt;br /&gt;
float x, y;&lt;br /&gt;
int numPixels;&lt;br /&gt;
int[] previousFrame;&lt;br /&gt;
int[] diffFrame;&lt;br /&gt;
Capture video;&lt;br /&gt;
&lt;br /&gt;
//treecursion&lt;br /&gt;
float curlx = 0; &lt;br /&gt;
float curly = 0; &lt;br /&gt;
float f = sqrt(2)/2.; &lt;br /&gt;
float deley = 20; &lt;br /&gt;
float growth = 0; &lt;br /&gt;
float growthTarget = 0; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int movementDiff = constrain(10, 5, 15);&lt;br /&gt;
int movementDiffNegative = constrain(10, -5, -10);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  //video capture&lt;br /&gt;
  size(640, 480, P2D); //P2D from treecursion&lt;br /&gt;
  video = new Capture(this, width, height, 24);&lt;br /&gt;
  numPixels = video.width * video.height;&lt;br /&gt;
  previousFrame = new int[numPixels];&lt;br /&gt;
  diffFrame = new int[numPixels];&lt;br /&gt;
  loadPixels();&lt;br /&gt;
  smooth();&lt;br /&gt;
  //treecursion&lt;br /&gt;
  addMouseWheelListener(new java.awt.event.MouseWheelListener() {  &lt;br /&gt;
    public void mouseWheelMoved(java.awt.event.MouseWheelEvent evt) {  &lt;br /&gt;
      mouseWheel(evt.getWheelRotation()); &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void draw() {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  //video capture&lt;br /&gt;
  if (video.available()) {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // When using video to manipulate the screen, use video.available() and&lt;br /&gt;
    // video.read() inside the draw() method so that it&amp;#039;s safe to draw to the screen&lt;br /&gt;
    video.read(); // Read the new frame from the camera&lt;br /&gt;
    video.loadPixels(); // Make its pixels[] array available&lt;br /&gt;
&lt;br /&gt;
    int movementSum = 0; // Amount of movement in the frame&lt;br /&gt;
    for (int i = 0; i &amp;lt; numPixels; i++) { // For each pixel in the video frame...&lt;br /&gt;
      color currColor = video.pixels[i];&lt;br /&gt;
      color prevColor = previousFrame[i];&lt;br /&gt;
      // Extract the red, green, and blue components from current pixel&lt;br /&gt;
      int currR = (currColor &amp;gt;&amp;gt; 16) &amp;amp; 0xFF; // Like red(), but faster&lt;br /&gt;
      int currG = (currColor &amp;gt;&amp;gt; 8) &amp;amp; 0xFF;&lt;br /&gt;
      int currB = currColor &amp;amp; 0xFF;&lt;br /&gt;
      // Extract red, green, and blue components from previous pixel&lt;br /&gt;
      int prevR = (prevColor &amp;gt;&amp;gt; 16) &amp;amp; 0xFF;&lt;br /&gt;
      int prevG = (prevColor &amp;gt;&amp;gt; 8) &amp;amp; 0xFF;&lt;br /&gt;
      int prevB = prevColor &amp;amp; 0xFF;&lt;br /&gt;
      // Compute the difference of the red, green, and blue values&lt;br /&gt;
      int diffR = abs(currR - prevR);&lt;br /&gt;
      int diffG = abs(currG - prevG);&lt;br /&gt;
      int diffB = abs(currB - prevB);&lt;br /&gt;
      // Add these differences to the running tally&lt;br /&gt;
      movementSum += diffR + diffG + diffB;&lt;br /&gt;
      // Render the difference image to the screen&lt;br /&gt;
      //diffFrame = color(diffR, diffG, diffB);&lt;br /&gt;
      diffFrame[i] = round(sqrt(diffR*diffR + diffG*diffG + diffB*diffB));&lt;br /&gt;
      //     pixels[i] = currColor;&lt;br /&gt;
      // pixels[i] = color(diffFrame[i]);&lt;br /&gt;
      // The following line is much faster, but more confusing to read&lt;br /&gt;
      //pixels[i] = 0xff000000 | (diffR &amp;lt;&amp;lt; 16) | (diffG &amp;lt;&amp;lt; 8) | diffB;&lt;br /&gt;
      // Save the current color into the &amp;#039;previous&amp;#039; buffer&lt;br /&gt;
      previousFrame[i] = currColor;&lt;br /&gt;
    }&lt;br /&gt;
    // To prevent flicker from frames that are all black (no movement),&lt;br /&gt;
    // only update the screen if the image has changed.&lt;br /&gt;
    if (movementSum &amp;gt; 0) {&lt;br /&gt;
      updatePixels();&lt;br /&gt;
      //   println(movementSum); // Print the total amount of movement to the console&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  int v = round(x+y*width);&lt;br /&gt;
  if (diffFrame[v] &amp;gt; 5)&lt;br /&gt;
  {&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
    if ((diffFrame[v] &amp;gt; 5) &amp;amp;&amp;amp; (diffFrame[v] &amp;lt; 15))&lt;br /&gt;
    {&lt;br /&gt;
      movementDiff = movementDiff + 3;&lt;br /&gt;
    }&lt;br /&gt;
    else if ((diffFrame[v] &amp;gt; 15) &amp;amp;&amp;amp; (diffFrame[v] &amp;lt; 50))&lt;br /&gt;
    {&lt;br /&gt;
      movementDiff = movementDiff - 3;&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
    movementDiffNegative = (movementDiff * -1);&lt;br /&gt;
    &lt;br /&gt;
    System.out.println(&amp;quot;the movement diff is&amp;quot; + movementDiff + &amp;quot;the movementDiffNegative is&amp;quot; + movementDiffNegative);&lt;br /&gt;
    //treecursion&lt;br /&gt;
    background(250); &lt;br /&gt;
    stroke(0); &lt;br /&gt;
    curlx += (radians(360./height*movementDiff)-curlx)/deley; &lt;br /&gt;
    curly += (radians(360./height*movementDiffNegative)-curly)/deley; &lt;br /&gt;
    translate(width/2,height/3*2); &lt;br /&gt;
    line(0,0,0,height/2); &lt;br /&gt;
    branch(height/4.,17); &lt;br /&gt;
    growth += (growthTarget/10-growth+1.)/deley; &lt;br /&gt;
    println(diffFrame[v]);&lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void mouseWheel(int delta) &lt;br /&gt;
{ &lt;br /&gt;
  growthTarget += delta; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
//treecursion &lt;br /&gt;
void branch(float len,int num) &lt;br /&gt;
{ &lt;br /&gt;
  len *= f; &lt;br /&gt;
  num -= 1; &lt;br /&gt;
  if((len &amp;gt; 1) &amp;amp;&amp;amp; (num &amp;gt; 0)) &lt;br /&gt;
  { &lt;br /&gt;
    pushMatrix(); &lt;br /&gt;
    rotate(curlx); &lt;br /&gt;
    line(0,0,0,-len); &lt;br /&gt;
    translate(0,-len); &lt;br /&gt;
    branch(len,num); &lt;br /&gt;
    popMatrix(); &lt;br /&gt;
&lt;br /&gt;
    //    pushMatrix(); &lt;br /&gt;
    //    line(0,0,0,-len); &lt;br /&gt;
    //    translate(0,-len); &lt;br /&gt;
    //    branch(len); &lt;br /&gt;
    //    popMatrix(); &lt;br /&gt;
    len *= growth; &lt;br /&gt;
    pushMatrix(); &lt;br /&gt;
    rotate(curlx-curly); &lt;br /&gt;
    line(0,0,0,-len); &lt;br /&gt;
    translate(0,-len); &lt;br /&gt;
    branch(len,num); &lt;br /&gt;
    popMatrix(); &lt;br /&gt;
    //len /= growth; &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>GregoryParsons</name></author>	</entry>

	</feed>