<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>robjectively speaking</title>
	<atom:link href="http://www.robjective.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.robjective.com</link>
	<description>its all been said before</description>
	<lastBuildDate>Tue, 28 Feb 2012 06:55:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>the music of color</title>
		<link>http://www.robjective.com/musicofcolor/</link>
		<comments>http://www.robjective.com/musicofcolor/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 05:51:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=377</guid>
		<description><![CDATA[<a href=http://www.robjective.com/musicofcolor/><img src=http://www.robjective.com/wp-content/uploads/2012/02/multi2.png width=600 height=370><br />Three overlapping circles hypnotically cycle through the colors</a>
 ]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Fmusicofcolor%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fmusicofcolor%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><canvas data-processing-sources="/processing/Noisy_Dot_Circles.pde"></canvas></p>
<p>Check out <b>this</b> cool animation. You control how colors pulse through three sets of overlapping circles.</p>
<p>Explore. </p>
<p>Move your mouse and click around to see what happens. </p>
<p>Moving your mouse towards the top of the screen for a slow cycle, down to the bottom for a faster cycle. Move to the right for bigger circles and left for smaller ones. </p>
<p>Clicking changes the size and orientation of the circles.  </p>
<p>h &#8211; toggles rotation of hue<br />
b &#8211; toggles rotation of brightness<br />
s &#8211; toggles rotation of saturation</p>
<p>p &#8211; turns on paint mode.  The screen doesn&#8217;t refresh between frames<br />
c &#8211; chooses a new random color seed</p>
<p>If you make an image you really like, hit the &#8220;o&#8221; key and you will get a downloadable PNG.</p>

<a href='http://www.robjective.com/musicofcolor/output192/' title='output192'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2012/02/output192-150x150.png" class="attachment-thumbnail" alt="output192" title="output192" /></a>
<a href='http://www.robjective.com/musicofcolor/output215/' title='output215'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2012/02/output215-150x150.png" class="attachment-thumbnail" alt="output215" title="output215" /></a>
<a href='http://www.robjective.com/musicofcolor/output1834/' title='output1834'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2012/02/output1834-150x150.png" class="attachment-thumbnail" alt="output1834" title="output1834" /></a>
<a href='http://www.robjective.com/musicofcolor/output3979/' title='output3979'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2012/02/output3979-150x150.png" class="attachment-thumbnail" alt="output3979" title="output3979" /></a>
<a href='http://www.robjective.com/musicofcolor/output913/' title='output913'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2012/02/output913-150x150.png" class="attachment-thumbnail" alt="output913" title="output913" /></a>
<a href='http://www.robjective.com/musicofcolor/output968/' title='output968'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2012/02/output968-150x150.png" class="attachment-thumbnail" alt="output968" title="output968" /></a>
<a href='http://www.robjective.com/musicofcolor/multi2/' title='multi2'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2012/02/multi2-150x150.png" class="attachment-thumbnail" alt="multi2" title="multi2" /></a>
<a href='http://www.robjective.com/musicofcolor/bright/' title='bright'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2012/02/bright-150x150.png" class="attachment-thumbnail" alt="bright" title="bright" /></a>

<div class="fb-comments" data-href="http://www.robjective.com/musicofcolor/" data-num-posts="2" data-width="620"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/musicofcolor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>the golden spiral comes to life for a second</title>
		<link>http://www.robjective.com/wormhole/</link>
		<comments>http://www.robjective.com/wormhole/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 05:50:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Golden Mean]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=339</guid>
		<description><![CDATA[<a href=http://www.robjective.com/wormhole/><img src=http://www.robjective.com/wp-content/uploads/2011/04/Picture-1.png></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Fwormhole%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fwormhole%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><canvas data-processing-sources="/html5/LogSpiral.pde"></canvas></p>
<p>Yet another golden mean animation.  </p>
<p>This one is really more golden spiral than golden mean.  It starts out as just a regular old logarithmic spiral with the angle of curvature gradually growing until it reaches phi and then passes just slightly through it and back again.   I love that moment right when it hits phi and it almost seems to come alive, then lose the life again as it recedes back into just a regular shape.  Like it&#8217;s breathing. </p>
<p><b>It&#8217;s interactive.</b>  Move the mouse to control it.  </p>
<p>Moving left and right changes the size of the dots<br />
Moving down increases the angle of spiral, Up decreases it.<br />
B toggles between black and white and color modes<br />
P turns on &#8220;paint mode&#8221; where the animation leaves trails behind it.<br />
G pulses the dot size<br />
1,2,3,4 control how many spirals are in the animation (2 by default). </p>

<a href='http://www.robjective.com/wormhole/output704/' title='output704'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/04/output704-150x150.png" class="attachment-thumbnail" alt="output704" title="output704" /></a>
<a href='http://www.robjective.com/wormhole/output3341/' title='output3341'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/04/output3341-150x150.png" class="attachment-thumbnail" alt="output3341" title="output3341" /></a>
<a href='http://www.robjective.com/wormhole/output5004/' title='output5004'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/04/output5004-150x150.png" class="attachment-thumbnail" alt="output5004" title="output5004" /></a>
<a href='http://www.robjective.com/wormhole/output2664/' title='output2664'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/04/output2664-150x150.png" class="attachment-thumbnail" alt="output2664" title="output2664" /></a>
<a href='http://www.robjective.com/wormhole/picture-1/' title='Picture 1'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/04/Picture-1-150x150.png" class="attachment-thumbnail" alt="Picture 1" title="Picture 1" /></a>

<pre class="brush: php">
// Rotation of items at 137.5 degrees
// Golden Rectangle sized canvass naturally.
float phi=1.6180339;
float  dimX=600,dimY=dimX/phi;
float angle=0;
float lX,lY,nX,nY;
float R,A;  // Constants
int redAmt=int(random(255)),blueAmt=int(random(255)),greenAmt=int(random(255));
color[] phicolors = new color[3];
int cnum=0;
float bigSpin=0;
color gradient1=color(255,000,000,255);
color gradient2=color(000,000,255,255);
float aInc=.01, rInc=5, dInc=.03,angleInc=8;
float diameter=0;
float multiple=.12;  // How large are the dots when we start?
float dotSize=0;
float e=2.71828;
float b=.306349;  // (ln phi)/90
float phiPoint=1/b;  // animation gradient cycle length, point where the radian comes alive
int numSpirals=2;
boolean nearPhi=false;
// Defaults are set here
boolean colorAlternate=true,
        cleared=false,
        paintMode=false,
        dotAnimate=false,
        angleAnimate=true,
        animate=true,
        BW=false,
        md=true,
        mr=false ,
        gradient=true;

void setup(){
  frameRate(20);
  size(int(dimX),int(dimY),JAVA2D);
  //smooth();
  background(255);
  A=2;
  R=dimX;
  lX=R*pow(A*b,radians(angle)) * cos(radians(angle));
  lY=R*pow(A*b,radians(angle)) * sin(radians(angle));
  get3Colors();
}

void drawSpiral() {
    for (int $i=0;$i&amp;amp;amp;amp;amp;amp;amp;lt;numSpirals;$i++){
      if (colorAlternate){
        get3Colors();
      }
      rotate(radians(360/numSpirals));
      angle=0;
      lX=R*pow(A*b,radians(angle)) * cos(radians(angle));
      lY=R*pow(A*b,radians(angle)) * sin(radians(angle));
      while (abs(lX)&amp;amp;amp;amp;amp;amp;amp;gt;4 || abs(lY)&amp;amp;amp;amp;amp;amp;amp;gt;4 &amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp; (lX&amp;amp;amp;amp;amp;amp;amp;lt;dimX || lY&amp;amp;amp;amp;amp;amp;amp;lt;dimY)) {
      // if nearPhi go into multicolor mode
        //if (nearPhi){
        //   phicolors[0]=color(200,100,100,100);
        //   phicolors[1]=color(200,100,100,100);
        //   phicolors[2]=color(200,100,100,100);
          //stroke(255,255,255,255*A/b);
        //}
       // else {
          //stroke(255,255,255,255*A/b);
          stroke(red(phicolors[cnum]),green(phicolors[cnum]),blue(phicolors[cnum]),255);
        //}
        fill(phicolors[cnum]);

          cnum++;
          if (cnum&amp;amp;amp;amp;amp;amp;amp;gt;2){
             cnum=0;
          }
      angle+=angleInc;
      nX=R*pow(A*b,radians(angle)) * cos(radians(angle));
      nY=R*pow(A*b,radians(angle)) * sin(radians(angle));
      float dsize=10-(angle/10);

      strokeWeight(1);
      // dots are smaller near the origin larger as they get further away.
      diameter=pow(nX*nX+nY*nY,.5)*multiple;
      ellipse(nX,nY,diameter,diameter);
      lX=nX;
      lY=nY;
   }
  }
}

void draw(){
   //if (random(1)&amp;amp;amp;amp;amp;amp;amp;gt;.95){
   // get3Colors();
  //}
    if (animate) {
     if (dotAnimate){
      multiple+=dInc;
      if (multiple&amp;amp;amp;amp;amp;amp;amp;gt;1 || multiple&amp;amp;amp;amp;amp;amp;amp;lt;0.1){
        dInc*=-1;
      }
     }
     if (angleAnimate){
       get3Colors();
       if (A&amp;amp;amp;amp;amp;amp;amp;lt;1.4){
          if (aInc&amp;amp;amp;amp;amp;amp;amp;lt;0){
            aInc*=-1;
          }
        }
       if (A&amp;amp;amp;amp;amp;amp;amp;gt;(1/b)-.25 &amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp; aInc&amp;amp;amp;amp;amp;amp;amp;gt;0){
           nearPhi=true;

       }
       if (A&amp;amp;amp;amp;amp;amp;amp;gt;(1/b)-.25 &amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp; aInc&amp;amp;amp;amp;amp;amp;amp;lt;0){
           nearPhi=false;

       }
       if (A&amp;amp;amp;amp;amp;amp;amp;gt;(1/b)-.05){
         aInc*=-1;
        }
        A+=aInc;
     }
      /*
   if (R&amp;amp;amp;amp;amp;amp;amp;lt;1 || R&amp;amp;amp;amp;amp;amp;amp;gt;dimX){
        rInc*=-1;
      }
      R+=rInc;
  */
  //drawSpiral();
  if (!paintMode){
    fill(255,255,255,85);
    stroke(255,255,255,255);
    rect(0,0,dimX,dimY);

  }
  translate(dimX/phi,dimY/2);
  bigSpin+=radians(2);
  if (bigSpin&amp;amp;amp;amp;amp;amp;amp;gt;2*PI){
    bigSpin=0;
    //print(&amp;amp;amp;amp;amp;amp;amp;quot;reset&amp;amp;amp;amp;amp;amp;amp;quot;);
  }
  rotate(bigSpin);
  drawSpiral();  

}
else {
  translate(dimX/phi,dimY/2);
}
}

void get3Colors(){

  // new seed
  if (BW) {
    redAmt=0;
    greenAmt=redAmt;
    blueAmt=redAmt;
    phicolors[0]=color(redAmt,blueAmt,greenAmt,100);
    phicolors[1]=color(redAmt,blueAmt,greenAmt,100);
    phicolors[2]=color(redAmt,blueAmt,greenAmt,100);
  }
  else {
     // cycle length determines how fast we move from red to blue
     if (gradient) {
       float animDistance=.5/(A/phiPoint);
       //print(&amp;amp;amp;amp;amp;amp;amp;quot;animDiatance:&amp;amp;amp;amp;amp;amp;amp;quot;+animDistance+&amp;amp;amp;amp;amp;amp;amp;quot;\n&amp;amp;amp;amp;amp;amp;amp;quot;);
       int redDistance=int(red(gradient2)-red(gradient1));
       //print (&amp;amp;amp;amp;amp;amp;amp;quot;redDistance:&amp;amp;amp;amp;amp;amp;amp;quot;+redDistance);
       redAmt=int(red(gradient1)+(redDistance*animDistance));
       //print (&amp;amp;amp;amp;amp;amp;amp;quot;redAmt:&amp;amp;amp;amp;amp;amp;amp;quot;+redAmt);

       int greenDistance=int(green(gradient2)-green(gradient1));

       greenAmt=int(green(gradient1)+(greenDistance*animDistance));

       //print (&amp;amp;amp;amp;amp;amp;amp;quot;greeenAmt:&amp;amp;amp;amp;amp;amp;amp;quot;+greenAmt);
       blueAmt=int(blue(gradient1)+(blue(gradient2)-blue(gradient1))*animDistance);

       //print (&amp;amp;amp;amp;amp;amp;amp;quot; blueAmt:&amp;amp;amp;amp;amp;amp;amp;quot;+blueAmt);
       phicolors[0]=color(redAmt,greenAmt,blueAmt,100);
       phicolors[1]=color(redAmt,greenAmt,blueAmt,100);
       phicolors[2]=color(redAmt,greenAmt,blueAmt,100);
     }
     else {
       redAmt=int(random(255));
       greenAmt=int(random(255));
       blueAmt=int(random(255));
       phicolors[0]=color(redAmt,blueAmt,greenAmt,100);
       phicolors[1]=color(redAmt/phi,blueAmt/phi,greenAmt/phi,100);
       phicolors[2]=color(redAmt*phi,blueAmt*phi,greenAmt*phi,100);
     }
  }
}

void mouseClicked() {
  angleInc=mouseY/20+1;
  print(&amp;amp;amp;amp;amp;amp;amp;quot;a&amp;amp;amp;amp;amp;amp;amp;quot;+angleInc+&amp;amp;amp;amp;amp;amp;amp;quot;/n&amp;amp;amp;amp;amp;amp;amp;quot;);
}

void mouseMoved(){
  //background(255);
  if (mr) {
    R=mouseX;
  }
  if (md) {
    multiple=mouseX/dimX;
  }
  A=min((mouseY/(dimY/3))+.5,(1/b)-.2);
  angle=0;
 lX=R*pow(A,radians(angle)) * cos(radians(angle));
  lY=R*pow(A,radians(angle)) * sin(radians(angle));
  //print(&amp;amp;amp;amp;amp;amp;amp;quot;R:&amp;amp;amp;amp;amp;amp;amp;quot;+R+&amp;amp;amp;amp;amp;amp;amp;quot;A:&amp;amp;amp;amp;amp;amp;amp;quot;+A+&amp;amp;amp;amp;amp;amp;amp;quot;\n&amp;amp;amp;amp;amp;amp;amp;quot;);
  if (!animate) {
    background(255);
    cleared=true;
  }
  //background(255);
    //translate(dimX/phi,dimY/2);
  //drawSpiral();
}

void keyPressed() {
  if (key == &#039;a&#039;) {
    // pressing s will take a picture.  Won&#039;t work on JS version.
    animate=!animate;
    cleared=false;
    print (&amp;amp;amp;amp;amp;amp;amp;quot;animate&amp;amp;amp;amp;amp;amp;amp;quot;);
  }
  if (key == &#039;s&#039;) {
    // pressing s will take a picture.  Won&#039;t work on JS version.
    print(&amp;amp;amp;amp;amp;amp;amp;quot;settings:&amp;amp;amp;amp;amp;amp;amp;quot;+&amp;amp;amp;amp;amp;amp;amp;quot;\n&amp;amp;amp;amp;amp;amp;amp;quot;);
    print(&amp;amp;amp;amp;amp;amp;amp;quot;A:&amp;amp;amp;amp;amp;amp;amp;quot;+A+&amp;amp;amp;amp;amp;amp;amp;quot;\n&amp;amp;amp;amp;amp;amp;amp;quot;);
    print(&amp;amp;amp;amp;amp;amp;amp;quot;R:&amp;amp;amp;amp;amp;amp;amp;quot;+R+&amp;amp;amp;amp;amp;amp;amp;quot;\n&amp;amp;amp;amp;amp;amp;amp;quot;);
    print(&amp;amp;amp;amp;amp;amp;amp;quot;multiple:&amp;amp;amp;amp;amp;amp;amp;quot;+multiple+&amp;amp;amp;amp;amp;amp;amp;quot;\n&amp;amp;amp;amp;amp;amp;amp;quot;);
    print(&amp;amp;amp;amp;amp;amp;amp;quot;numspirals&amp;amp;amp;amp;amp;amp;amp;quot;+numSpirals+&amp;amp;amp;amp;amp;amp;amp;quot;\n&amp;amp;amp;amp;amp;amp;amp;quot;);
    //print:(&amp;amp;amp;amp;amp;amp;amp;quot;settings:&amp;amp;amp;amp;amp;amp;amp;quot;+&amp;amp;amp;amp;amp;amp;amp;quot;\n&amp;amp;amp;amp;amp;amp;amp;quot;);
    saveFrame(&amp;amp;amp;amp;amp;amp;amp;quot;output##.png&amp;amp;amp;amp;amp;amp;amp;quot;);
  }
   if (key == &#039;1&#039;) {
     numSpirals=1;
  }
   if (key == &#039;2&#039;) {
    numSpirals=2;
  }
   if (key == &#039;3&#039;) {
   numSpirals=3;
 }
   if (key == &#039;4&#039;) {
   numSpirals=4;
  }
  if (key == &#039;r&#039;) { // reset
    background(255);
  }
 if (key == &#039;c&#039;) { // reset
    get3Colors();
  }
 if (key == &#039;b&#039;) { // shift to B&amp;amp;amp;amp;amp;amp;amp;amp;amp;W
    BW=!BW;
  }
   if (key == &#039;p&#039;) { // shift to B&amp;amp;amp;amp;amp;amp;amp;amp;amp;W
    paintMode=!paintMode;
  }
  if (key == &#039;g&#039;) { // Animates Dots
    dotAnimate=!dotAnimate;
  }
  if (key == &#039;G&#039;) { // Animates Dots
    gradient=!gradient;
  }
  if (key == &#039;n&#039;) { // Animates Dots
    angleAnimate=!angleAnimate;
  }
  if (key == &#039;d&#039;) { // Mouse moves diameter instead of Radius
    md=!md;
    mr=!mr;
  }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/wormhole/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Technicolor Golden Mean</title>
		<link>http://www.robjective.com/goldenmeancolor/</link>
		<comments>http://www.robjective.com/goldenmeancolor/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 07:05:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Golden Mean]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=299</guid>
		<description><![CDATA[<a href="http://www.robjective.com/goldenmeancolor/" ><img src="http://www.robjective.com/wp-content/uploads/2011/02/btop.png"></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Fgoldenmeancolor%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fgoldenmeancolor%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><canvas data-processing-sources="/html5/Dotfight.pde"></canvas></p>
<p>More golden mean obsessed animation work.  This time, the pattern is centered on phi and the colors cycle in phi relationship to each other.  I also re-worked the interactivity to be based on mouse movement instead of clicking.   For interesting images, try moving the mouse in small circles near the top right of the image, or in vertical lines from bottom left to top on the right side. </p>
<p>It&#8217;s amazing how fast this runs on Chrome.   </p>
<p><strong>Move the mouse around to control it:</strong><br />
Left and Right control dot spacing.<br />
Up and Down control dot size.<br />
&#8220;R&#8221; &#8211; Clears the screen (reset)</p>
<p>I also tried doing some high resolution versions to print out at large-scale (30&#8243;+).  Click the thumbnails to see the high resolution images.  </p>

<a href='http://www.robjective.com/goldenmeancolor/output1576/' title='output1576'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output1576-150x150.png" class="attachment-thumbnail" alt="output1576" title="output1576" /></a>
<a href='http://www.robjective.com/goldenmeancolor/output1102/' title='output1102'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output1102-150x150.png" class="attachment-thumbnail" alt="output1102" title="output1102" /></a>
<a href='http://www.robjective.com/goldenmeancolor/output2366/' title='output2366'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output2366-150x150.png" class="attachment-thumbnail" alt="output2366" title="output2366" /></a>
<a href='http://www.robjective.com/goldenmeancolor/output3157/' title='output3157'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output3157-150x150.png" class="attachment-thumbnail" alt="output3157" title="output3157" /></a>
<a href='http://www.robjective.com/goldenmeancolor/output7882/' title='output7882'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output7882-150x150.png" class="attachment-thumbnail" alt="output7882" title="output7882" /></a>
<a href='http://www.robjective.com/goldenmeancolor/output5757/' title='output5757'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output5757-150x150.png" class="attachment-thumbnail" alt="output5757" title="output5757" /></a>
<a href='http://www.robjective.com/goldenmeancolor/output1775/' title='output1775'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output1775-150x150.png" class="attachment-thumbnail" alt="output1775" title="output1775" /></a>
<a href='http://www.robjective.com/goldenmeancolor/output4000/' title='output4000'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output4000-150x150.png" class="attachment-thumbnail" alt="output4000" title="output4000" /></a>
<a href='http://www.robjective.com/goldenmeancolor/output395/' title='output395'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/02/output395-150x150.png" class="attachment-thumbnail" alt="output395" title="output395" /></a>

<p>Here&#8217;s the sourcecode:</p>
<pre class="brush: php">
// Rotation of items at 137.5 degrees
// Golden Rectangle sized canvass naturally.
float phi=1.6180339;
float  dimX=600,dimY=dimX/phi;
float distance=4;   // Spreading of the dots
float ox,newx=dimX/2;
float oy,newy=dimY/2;
float diameter=20;  // Width of the outer dots.
float growth=1;  // Speed of growth
int numSeeds=144  ;   // number of seeds should be a fibonacci number.
float rot=0;
int i;
float direction=-1;
float spinAmt=1;
boolean randomColor=true; // Uses black and white by default.
color mColor=color(255,255,255);
float redAmt,blueAmt,greenAmt=0;
boolean decRed, decBlue, decGreen;
boolean cShift=true;
float countInc=-.5;
color[] phicolors = new color[3];
int cnum=0;

void setup(){
  size(int(dimX),int(dimY),JAVA2D);
  smooth();
  background(255);
  fill (mColor);
  stroke(1,255);
  get3Colors();
  placeSpots();
}

void get3Colors(){
  redAmt=int(random(255));
  greenAmt=int(random(255));
  blueAmt=int(random(255));
  mColor=color(redAmt,blueAmt,greenAmt,155);
  phicolors[0]=color(redAmt,blueAmt,greenAmt,255);
  phicolors[1]=color(redAmt/phi,blueAmt/phi,greenAmt/phi,255);
  phicolors[2]=color(redAmt*phi,blueAmt*phi,greenAmt*phi,255);
}

void placeSpots() {
  translate(dimX*(1/phi),dimY/2);
  rotate(spinAmt);
   for(i=1;i&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;numSeeds;i++){
    rot+=radians(360/(phi*phi));
    newx=(i*distance*sin( rot));
    newy=(i*distance*cos( rot));
    ellipse(newx,newy,diameter*i*.02,diameter*i*.02);
   }
}

void draw(){
  diameter+=countInc;
  if (diameter==0 || diameter&gt;100) {
    countInc*=-1;
    get3Colors();
  }
  rot=0;
  spinAmt+=137.5*direction;
  fill(phicolors[cnum]);
  cnum++;
      if (cnum&gt;2){
        cnum=0;
      }

  placeSpots();
}

void mouseMoved(){
  distance=float(mouseX)/70+1;
  diameter=float(mouseY)/2+5;
  direction*=-1;
  );

}

void keyPressed() {
  if (key == &#039;c&#039;) {
      // pressing c will toggle color and B&amp;W
    randomColor=!randomColor;
    get3Colors();
  }
  if (key == &#039;s&#039;) {
    // pressing s will take a picture.  Won&#039;t work on JS version.
    saveFrame();
  }
  if (key == &#039;r&#039;) { // reset
    background(255);
  }

}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/goldenmeancolor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Swirling Vortex</title>
		<link>http://www.robjective.com/swirling-vortex/</link>
		<comments>http://www.robjective.com/swirling-vortex/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 03:33:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Golden Mean]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=271</guid>
		<description><![CDATA[<a href="http://www.robjective.com/swirling-vortex/"><img src="http://www.robjective.com/wp-content/uploads/2011/01/Screen-shot-2011-01-17-at-7.30.58-PM.png" alt="Phi Phyllotaxis seed patterns" title="Screen shot 2011-01-17 at 7.30.58 PM" width="602" height="375" class="aligncenter size-full wp-image-274" /></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Fswirling-vortex%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fswirling-vortex%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><canvas data-processing-sources="/html5/Vortex.pde"></canvas></p>
<p>A swirling vortex exploring the golden mean, phi and the arrangement of almost all things that grow.  </p>
<p><strong>It&#8217;s interactive:<br />
</strong>Clicking towards the left spaces the dots more closely, to the right, further apart.  Click towards the top for smaller dots, towards the bottom for bigger.   Each click toggles between expansion and compression.  Easter egg: &#8220;c&#8221; toggles between black and white and a random color. </p>
<p><a href="http://en.wikipedia.org/wiki/Phyllotaxis">Here&#8217;s the science.</a></p>
<p>Here&#8217;s the sourcecode:</p>
<pre class="brush: php">
// Rotation of items at 137.5 degrees
// Golden Rectangle sized canvass naturally.
float phi=1.61725;
float  dimX=600,dimY=dimX/phi;
float distance=3;   // Spreading of the dots
float newx=dimX/2;
float newy=dimY/2;
int diameter=50;  // Width of the outer dots.
float growth=1;  // Speed of growth
int numSeeds=144  ;   // number of seeds should be a fibonacci number.
float rot=0;
int i;
float direction=-1;
float spinAmt=1;
boolean randomColor=false; // Uses black and white by default.
color mColor=color(255,255,255); 

void setup(){
  size(int(dimX),int(dimY),JAVA2D);
  smooth();
  fill (mColor);
  stroke(1,255);
  placeSpots();
}

void placeSpots() {
  fill (mColor);
   for(i=1;i&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;numSeeds;i++){
    rot+=radians(137.5);
    newx=(i*distance*sin( rot));
    newy=(i*distance*cos( rot));
    ellipse(newx,newy,diameter*(i*.01),diameter*(i*.01));
   }
}
void draw(){
  fill(0,0,0,255);
 // rect(0,0,dimX,dimY);
  translate(dimX/2,dimY/2);
  rotate(spinAmt);
  rot=0;
  spinAmt+=radians(137.5)*direction;
  translate(dimX/2,dimY/2);
  placeSpots();
}

int randomSign(){ //returns +1 or -1
  float num = random(1);
  if(num&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;.5)
    return -1;
  else
    return 1;
}

void mouseMoved(){
  distance=(mouseX/70)+1;
  diameter=mouseY/2+5;

  placeSpots();
  //direction*=-1;
}

void keyPressed() {
  if (key == &#039;c&#039;) {
      // pressing c will toggle color and B&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;W
    randomColor=!randomColor;
    if (!randomColor){
      mColor=color(255,255,255);
      stroke(100,100,100,150);
    }
    else {
      mColor=color(random(255),random(255),random(255));
      stroke(100,100,100,150);
    }
  }
  if (key == &#039;s&#039;) {
    // pressing s will take a picture.  Won&#039;t work on JS version.
    saveFrame(&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;output##.png&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;);
  }
}
</pre>
<p>And a few cool looking images along the way.<br />

<a href='http://www.robjective.com/swirling-vortex/screen-shot-2011-01-17-at-7-30-58-pm/' title='Screen shot 2011-01-17 at 7.30.58 PM'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/01/Screen-shot-2011-01-17-at-7.30.58-PM-150x150.png" class="attachment-thumbnail" alt="Phi Phyllotaxis seed patterns" title="Screen shot 2011-01-17 at 7.30.58 PM" /></a>
<a href='http://www.robjective.com/swirling-vortex/output167/' title='output167'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/01/output167-150x150.png" class="attachment-thumbnail" alt="output167" title="output167" /></a>
<a href='http://www.robjective.com/swirling-vortex/output882/' title='output882'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/01/output882-150x150.png" class="attachment-thumbnail" alt="output882" title="output882" /></a>
<a href='http://www.robjective.com/swirling-vortex/output2244/' title='output2244'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/01/output2244-150x150.png" class="attachment-thumbnail" alt="output2244" title="output2244" /></a>
<a href='http://www.robjective.com/swirling-vortex/output2962/' title='output2962'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/01/output2962-150x150.png" class="attachment-thumbnail" alt="output2962" title="output2962" /></a>
<a href='http://www.robjective.com/swirling-vortex/output3340/' title='output3340'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2011/01/output3340-150x150.png" class="attachment-thumbnail" alt="output3340" title="output3340" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/swirling-vortex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trippy Slithering Black Eye</title>
		<link>http://www.robjective.com/trippy-slithering-black-eye/</link>
		<comments>http://www.robjective.com/trippy-slithering-black-eye/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 22:48:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Kinematic Animation]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[Processing JS]]></category>
		<category><![CDATA[Trippy Visuals]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=199</guid>
		<description><![CDATA[<a href="http://www.robjective.com/trippy-slithering-black-eye/"><img src="http://www.robjective.com/wp-content/uploads/2010/12/swirly.jpg">
Trippy black eyeball: an interactive animation written in processing-JS for html5.</a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Ftrippy-slithering-black-eye%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Ftrippy-slithering-black-eye%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><canvas data-processing-sources="/html5/STWeb.pde"></canvas> </p>
<p>I think it&#8217;s pretty hypnotic.  </p>
<p><strong>It&#8217;s interactive</strong>:  Click to change the animation.  Click the left side for skinny tentacles, on the right side for fat ones.  Click on the top for short ones and on the bottom for long ones.</p>
<p>This interactive animation is written in <a href="http://www.processing.org/">processing</a>.  I wrote it as a test for the awesome new <a href="http://processingjs.org/">Processing-JS</a> engine, which converts processing code into HTML5.  </p>
<p>If you are visiting in Chrome, Firefox or Safari web browsers, you should be able to see it right below.  If you are visiting using internet explorer, I&#8217;m really not sure what you see, probably nothing (Let me know).  At least you should be able to see some screen captures which give you a sense for the visuals.<br />

<a href='http://www.robjective.com/trippy-slithering-black-eye/screen-shot-2010-12-23-at-2-37-03-pm/' title='Screen shot 2010-12-23 at 2.37.03 PM'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-2.37.03-PM-150x150.png" class="attachment-thumbnail" alt="Screen shot 2010-12-23 at 2.37.03 PM" title="Screen shot 2010-12-23 at 2.37.03 PM" /></a>
<a href='http://www.robjective.com/trippy-slithering-black-eye/screen-shot-2010-12-23-at-2-36-24-pm/' title='Screen shot 2010-12-23 at 2.36.24 PM'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-2.36.24-PM-150x150.png" class="attachment-thumbnail" alt="Screen shot 2010-12-23 at 2.36.24 PM" title="Screen shot 2010-12-23 at 2.36.24 PM" /></a>
<a href='http://www.robjective.com/trippy-slithering-black-eye/screen-shot-2010-12-23-at-2-36-08-pm/' title='Screen shot 2010-12-23 at 2.36.08 PM'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-2.36.08-PM-150x150.png" class="attachment-thumbnail" alt="Screen shot 2010-12-23 at 2.36.08 PM" title="Screen shot 2010-12-23 at 2.36.08 PM" /></a>
<a href='http://www.robjective.com/trippy-slithering-black-eye/screen-shot-2010-12-23-at-2-35-47-pm/' title='Screen shot 2010-12-23 at 2.35.47 PM'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-2.35.47-PM-150x150.png" class="attachment-thumbnail" alt="Screen shot 2010-12-23 at 2.35.47 PM" title="Screen shot 2010-12-23 at 2.35.47 PM" /></a>
<a href='http://www.robjective.com/trippy-slithering-black-eye/screen-shot-2010-12-23-at-3-01-24-pm/' title='Screen shot 2010-12-23 at 3.01.24 PM'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-3.01.24-PM-150x150.png" class="attachment-thumbnail" alt="Screen shot 2010-12-23 at 3.01.24 PM" title="Screen shot 2010-12-23 at 3.01.24 PM" /></a>
<a href='http://www.robjective.com/trippy-slithering-black-eye/screen-shot-2010-12-23-at-3-05-19-pm/' title='Screen shot 2010-12-23 at 3.05.19 PM'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-3.05.19-PM-150x150.png" class="attachment-thumbnail" alt="Screen shot 2010-12-23 at 3.05.19 PM" title="Screen shot 2010-12-23 at 3.05.19 PM" /></a>
<a href='http://www.robjective.com/trippy-slithering-black-eye/swirly/' title='swirly'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2010/12/swirly-150x150.jpg" class="attachment-thumbnail" alt="swirly" title="swirly" /></a>
</p>
<div class="fb-comments" data-href="http://www.robjective.com/trippy-slithering-black-eye/" data-num-posts="2" data-width="620"></div>
<p>Here is the <a href="http://www.robjective.com/html5/STWeb.pde">source code</a> for the curious.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/trippy-slithering-black-eye/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>the mandlebulb will explode your brain</title>
		<link>http://www.robjective.com/the-mandlebulb-will-explode-your-brain/</link>
		<comments>http://www.robjective.com/the-mandlebulb-will-explode-your-brain/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 07:37:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=163</guid>
		<description><![CDATA[Check out the huge heap of awesome that is the mandlebulb or 3d mandlebrot set.  Read the whole story over here at this very strange skytopia project page.   It seems to have been the brainchild and 20 year quest of Rudy Rucker, which he writes about over on his blog, and also over here at [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Fthe-mandlebulb-will-explode-your-brain%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fthe-mandlebulb-will-explode-your-brain%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Check out the huge heap of awesome that is the mandlebulb or 3d mandlebrot set.  Read the whole story over here at this very strange<a href="http://www.skytopia.com/project/fractal/mandelbulb.html"> skytopia project page</a>.   It seems to have been the brainchild and 20 year quest of Rudy Rucker, which he writes about <a href="http://www.rudyrucker.com/blog/2009/09/15/in-search-of-the-mandelbulb/">over on his blog</a>, and also over here at <a href="http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg4109/?PHPSESSID=e16569e0fdbf61cb290d61d04a9c0896#msg4109">fractal forums</a>, where &#8220;the elite meet to geek&#8221;. There is some math in both places for people who are interested in how this thing was derived.</p>
<p>The quick summary is that this is a mandlebrot set in intersection with both the xy plane and the xz plane.  The math had been around for 20 years but generating fuzzy results which seem to have sharpened up when they changed the exponent from 2 to higher orders.  8 seems to have generated the most impressive results.</p>
<p>I think the images speak for themselves.</p>
<p style="text-align: center;"><a href="http://www.skytopia.com/project/fractal/new/full/q85/mandelbrot-crust-med.jpg"><img class="aligncenter" title="the mandlebulb crust" src="http://www.skytopia.com/project/fractal/new/full/q85/mandelbrot-crust-med.jpg" alt="" width="607" height="607" /></a></p>

<a href='http://www.robjective.com/the-mandlebulb-will-explode-your-brain/mysterycave-small1/' title='MysteryCave-small[1]'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2009/12/MysteryCave-small1-150x150.jpg" class="attachment-thumbnail" alt="MysteryCave-small[1]" title="MysteryCave-small[1]" /></a>
<a href='http://www.robjective.com/the-mandlebulb-will-explode-your-brain/honeycomb-heaven-small1/' title='honeycomb-heaven-small[1]'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2009/12/honeycomb-heaven-small1-150x150.jpg" class="attachment-thumbnail" alt="honeycomb-heaven-small[1]" title="honeycomb-heaven-small[1]" /></a>
<a href='http://www.robjective.com/the-mandlebulb-will-explode-your-brain/icecreamfromneptune-small21/' title='IceCreamFromNeptune-small2[1]'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2009/12/IceCreamFromNeptune-small21-150x150.jpg" class="attachment-thumbnail" alt="IceCreamFromNeptune-small2[1]" title="IceCreamFromNeptune-small2[1]" /></a>

<p style="text-align: center;">
<p style="text-align: center;">
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">http://www.skytopia.com/project/fractal/mandelbulb.htmlskytopia</div>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/the-mandlebulb-will-explode-your-brain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trees Growing Branches</title>
		<link>http://www.robjective.com/branches/</link>
		<comments>http://www.robjective.com/branches/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 07:51:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=146</guid>
		<description><![CDATA[<a href="http://www.robjective.com/branches/"><img src="http://www.robjective.com/wp-content/uploads/2009/12/Screen-shot-2011-01-24-at-6.53.41-PM.png">

An animated tribute to the math of self-referencing growth.  Cultivate your own wild forest.  Play with the ways that trees grow branches.   Written in processingJS for HTML5.  
</a>

]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Fbranches%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fbranches%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><canvas data-processing-sources="/processing/BranchingTest.pde"></canvas><br />
Branches rise up and travel on sine wave modified lines.  You control the thickness and curviness of the trees.
<p><strong>It&#8217;s Interactive:</strong> Click to make new trees.  Clicking towards the top of the screen makes for straighter branches, towards the bottom for curvy ones.   Clicking towards the left makes skinny branches, right makes fat ones. </p>
<p>Requires HTML5 Support (Firefox, Chrome or Safari) to see in the browser.  If you are using an unsupported browser, try <a href="http://www.openprocessing.org/visuals/?visualID=6338">the java version</a> over at openprocessing.com. </p>
<p>Source Code Below. </p>
<pre class="brush: php">
// most basic branching test:
// Draw a straight line for a little while
// If chance of branching is exceeded, then add another branch
int i=0;
int totalBranches=10000;
int numTrunks=10;
float  dimX=521,dimY=452;
float branchOdds=.02;
float moveDistance=2;
int trunkWidth=20;
tree[] trees;
int branchesSoFar=-1;
float newBranchSpinAgleMax=PI;
float minAngle=PI*.0015,maxAngle=PI*1.1;

void setup(){
  size(int(dimX),int(dimY));
  trees = new tree[totalBranches];
  background(255,255,255);
  for(i=0;i&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;numTrunks;i++){
    trees[i] = new tree(random(dimX),dimY,branchOdds,trunkWidth,moveDistance,minAngle,maxAngle,#000000,0);
    branchesSoFar++;
  }
  smooth();

}

void draw(){

    for(i=0;i&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;branchesSoFar;i++){
     // print(i);
    trees[i].draw();
  }
    fill(255,5);
   // rect(0,0,dimX,dimY);
}
int randomSign(){ //returns +1 or -1
  float num = random(1);
  if(num&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;.5)
    return -1;
  else
    return 1;
}

void mousePressed(){
  branchesSoFar=0;
  fill(255);
  rect(0,0,dimX,dimY);

  for(i=0;i&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;numTrunks;i++){
    trees[i] = new tree(random(dimX),dimY,branchOdds,mouseX/20,moveDistance,minAngle*mouseY/50,maxAngle,#000000,0);
    branchesSoFar++;
  }

}

class tree{
  int bWidth;
  float x1,x2,y1,y2=0;
  float bOdds;
  float mDistance;
  color bColor;
  float bSeg;
  int bGeneration;
  float mnAngle,mxAngle;
  float currentAngle=PI;

  tree(float sx, float sy, float branchOdds, int branchWidth, float moveDistance, float minAngle, float maxAngle, color branchColor, int branchGeneration){
    bWidth=branchWidth;
    x1=sx;
    y1=sy;
    y2=y1;
    x2=x1;
    bOdds=branchOdds;
    mDistance=moveDistance;
    bColor=branchColor;
    bSeg=0;
    bGeneration=branchGeneration;
    mnAngle=minAngle;
    mxAngle=random(minAngle) * randomSign();
}

  void draw(){
    if (x1&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;0 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; y1&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;0){

      strokeWeight(bWidth);
      if (bWidth&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;=1) {
        // Draw next segment 10 paces up.
        currentAngle+=mxAngle;
        //print (&#039;\n&#039;+currentAngle+&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot; &amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;);
        x2=x2 + sin(currentAngle)*moveDistance;
        y2=y2 + cos(currentAngle)*moveDistance;;
        stroke(bColor);
        line(x1,y1,x2,y2);
        x1=x2;
        y1=y2;
        if (random(1)&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;bOdds){
          branchesSoFar++;
          //print(&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;added&amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;);
          color newColor=color(10*bGeneration,10*bGeneration,10*bGeneration,155);
          int newWidth=int(trunkWidth-bGeneration*2);
          float newAngle=mnAngle*1.35;
          trees[branchesSoFar] = new tree(x2,y2,bOdds,bWidth,moveDistance,newAngle,maxAngle,newColor,bGeneration+1);
        }
        bSeg++;
        if (bSeg/10==int(bSeg/10)){
          bWidth--;
        }
      }
    }
  }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/branches/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>martian landscapes &amp; the mysterium tremendum</title>
		<link>http://www.robjective.com/martian-landscapes-the-mysterium-tremendum/</link>
		<comments>http://www.robjective.com/martian-landscapes-the-mysterium-tremendum/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 06:04:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=76</guid>
		<description><![CDATA[Just take a look at these amazing photos that came back from NASA&#8217;s Mars Reconnaissance Orbiter which has been orbiting and photographing mars since 2006 at resolutions of an inch a pixel. They look so organic to me, so suspiciously similar to the living processes that are at play all around us here on the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Fmartian-landscapes-the-mysterium-tremendum%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fmartian-landscapes-the-mysterium-tremendum%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Just take a look at these <a href="http://www.boston.com/bigpicture/2009/11/martian_landscapes.html">amazing photos</a> that came back from NASA&#8217;s <a href="http://hirise.lpl.arizona.edu/">Mars Reconnaissance Orbiter</a> which has been orbiting and photographing mars since 2006 at resolutions of an inch a pixel.</p>
<div class="wp-caption alignnone" style="width: 557px"><a href="http://www.boston.com/bigpicture/2009/11/martian_landscapes.html#photo22"><img title="erosion of south polar ice cap" src="http://inapcache.boston.com/universal/site_graphics/blogs/bigpicture/mars_11_06/m22_43520930.jpg" alt="ice erotion, south pole of mars" width="547" height="379" /></a><p class="wp-caption-text">ice erosion, south pole of mars</p></div>
<p>They look so organic to me, so suspiciously similar to the living processes that are at play all around us here on the earth.  It really makes me think about what we mean by the word &#8220;organic&#8221;.  Websters says &#8220;of or relating to living organisms&#8221;, yet few would argue that these pictures are indications of life on mars.</p>
<p>They sure look like the result of living processes to me though.  They look so much like living things do: composed of cells, shifting through time, gradually settling, and then decaying away.  We are all familiar with these kinds of facts as they are the fundamental facts of the earth.  These photos show that they are quite clearly fundamental processes of Mars as well.</p>
<p>I would argue that they <strong>are </strong>processes of living systems, period.   The surprising conclusion being that the wind, the sea and the stones around us are every bit as alive as we are, and possessed of the same patterns that animate our progress and interactions.</p>
<p>How far a leap is it to assume that there is some source at the heart of the universe somewhere in some abstract center that animates it all, pulsing out some string of ons and offs that ultimately becomes everything around us. Like some huge resonating field that snaps otherwise lifeless dust into animated patterns by way of invisible but ever-present energy.</p>
<p>You be the judge:</p>
<div style="display: block; height: 600px;">
<div id="attachment_75" class="wp-caption alignnone" style="width: 210px"><a href="http://inapcache.boston.com/universal/site_graphics/blogs/bigpicture/mars_11_06/m26_68621510.jpg"><img class="size-medium wp-image-75" title="impact crater, mars" src="http://www.robjective.com/wp-content/uploads/2009/11/m26_686215101-300x190.jpg" alt="mars impact crater" width="200" height="127" /></a><p class="wp-caption-text">impact crater, mars</p></div>
<div id="attachment_85" class="wp-caption alignnone" style="width: 210px"><a href="http://www.flickr.com/photos/30939186@N04/3868637165/in/set-72157621353402101/"><img class="size-medium wp-image-85" title="decaying leaf, earth" src="http://www.robjective.com/wp-content/uploads/2009/11/3868637165_6384ac93101-300x225.jpg" alt="leaf" width="200" height="150" /></a><p class="wp-caption-text">decaying leaf, earth</p></div>
<div id="attachment_73" class="wp-caption alignnone" style="width: 210px"><a href="http://inapcache.boston.com/universal/site_graphics/blogs/bigpicture/mars_11_06/m20_53490930.jpg"><img class="size-medium wp-image-73" title="thermal expansion and contraction" src="http://www.robjective.com/wp-content/uploads/2009/11/m20_534909301-300x180.jpg" alt="thermal expansion and contraction on mars" width="200" height="120" /></a><p class="wp-caption-text">thermal expansion, mars</p></div>
<div id="attachment_84" class="wp-caption alignnone" style="width: 210px"><a href="http://www.flickr.com/photos/41215296@N00/2302172725/"><img class="size-medium wp-image-84" title="plant leaf cells under high power microscope" src="http://www.robjective.com/wp-content/uploads/2009/11/2302172821_140587fcf31-300x225.jpg" alt="plant leaf cells under high power microscope" width="200" height="150" /></a><p class="wp-caption-text">plant leaf cells, earth</p></div>
<div id="attachment_78" class="wp-caption alignnone" style="width: 210px"><a href="http://inapcache.boston.com/universal/site_graphics/blogs/bigpicture/mars_11_06/m35_35381230.jpg"><img class="size-medium wp-image-78" title="dust devil trails" src="http://www.robjective.com/wp-content/uploads/2009/11/m35_353812301-300x187.jpg" alt="dust devil trails, mars" width="200" height="124" /></a><p class="wp-caption-text">dust devil trails, mars</p></div>
<div class="wp-caption alignnone" style="width: 210px"><a href="http://www.flickr.com/photos/quantumelf/2109837460/"><img title="tree branches" src="http://farm3.static.flickr.com/2265/2109837460_8de380f113.jpg" alt="tree branch shadows, earh" width="200" height="125" /></a><p class="wp-caption-text">tree branch shadows, earth</p></div>
</div>
<div style="text-align: left; display: block; ">You really should click the link and check them in their high res glory over there at the <a href="http://www.boston.com/bigpicture/2009/11/martian_landscapes.html">Boston Globe</a> article.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/martian-landscapes-the-mysterium-tremendum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Something Like Vines</title>
		<link>http://www.robjective.com/vinelinkeanimation/</link>
		<comments>http://www.robjective.com/vinelinkeanimation/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 08:13:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.robjective.com/?p=46</guid>
		<description><![CDATA[<a href="http://www.robjective.com/vinelinkeanimation/"><img src="http://www.robjective.com/wp-content/uploads/2009/11/11-6-23-7-46.png"> Gold and yellow colored vines grow horizontally.  They progress based on sign waves </a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Fvinelinkeanimation%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fvinelinkeanimation%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><canvas data-processing-sources="/html5/colorarray_spirals.pde"></canvas></p>
<p>Some new processing work.  click the mouse to change the colors and start new shoots growing.  This has a really cool texture if you render it at the high resolution.   Here is the <a href="http://www.robjective.com/processing/growingsun/colorarray_spiral.pde">source code</a> if anyone is interested.  </p>
<p>Here are a few screen grabs from versions that looked cool along the way: </p>

<a href='http://www.robjective.com/vinelinkeanimation/11-6-23-7-46/' title='11-6-23-7-46'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2009/11/11-6-23-7-46-150x150.png" class="attachment-thumbnail" alt="11-6-23-7-46" title="11-6-23-7-46" /></a>
<a href='http://www.robjective.com/vinelinkeanimation/11-5-23-35-22-2/' title='11-5-23-35-22'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2009/11/11-5-23-35-221-150x150.png" class="attachment-thumbnail" alt="11-5-23-35-22" title="11-5-23-35-22" /></a>
<a href='http://www.robjective.com/vinelinkeanimation/11-5-23-49-43/' title='11-5-23-49-43'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2009/11/11-5-23-49-43-150x150.png" class="attachment-thumbnail" alt="11-5-23-49-43" title="11-5-23-49-43" /></a>
<a href='http://www.robjective.com/vinelinkeanimation/11-6-21-43-2/' title='11-6-21-43-2'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2009/11/11-6-21-43-2-150x150.png" class="attachment-thumbnail" alt="11-6-21-43-2" title="11-6-21-43-2" /></a>
<a href='http://www.robjective.com/vinelinkeanimation/11-6-23-23-59/' title='11-6-23-23-59'><img width="150" height="150" src="http://www.robjective.com/wp-content/uploads/2009/11/11-6-23-23-59-150x150.png" class="attachment-thumbnail" alt="11-6-23-23-59" title="11-6-23-23-59" /></a>

<pre class="brush: java">

int isBig=1;       // 0 is 500x500 big is 5000x5000
//int dimx = 6000 ;   // width
//int dimy = 6000 ;   // height
//int num = 2000;    // number of hairs
//int startDist = 10;   // minimum distance out
//int endDist =1500;    // maxumum distance out
//int colorChange=300; 

int dimx = 400 ;   // width
int dimy = 400 ;   // height
int num = 500;    // number of hairs
int startDist = 1;   // minimum distance out
int endDist = 75;    // maxumum distance out
int colorChange=60; 

int brushWidth = endDist-startDist;   // differehce between them is the drawing zone.
int startx;
int starty;
float startAngle = random(num)/num * TWO_PI;
float vblueratio=2;
float vgreenratio=2;
int vredBase=0;
int frames=0;
int totFrames=0;
int black=0;

circ[] strands;
color[] colorArray = new color[7];
int currentColor=0;
int colorVariation=30;

void setup() {
// grow lots of stuff if th is is for a big printable output
//FFC600 FF9A00  FF6800 B82900 8C0100 fbc465
  colorArray[0]=#FFC600;
  colorArray[1]=#FF9A00;
  colorArray[2]=#FF6800;
  colorArray[3]=#B82900;
  colorArray[4]=#8C0100;
  colorArray[5]=#fbc465;
  colorArray[6]=#3f0051;
  colorMode(RGB,255);
  //strokeCap(ROUND);

  strands = new circ[num];
  size(dimx,dimy,JAVA2D);
  background(#ffffff);
    // Draw each particle some distance from the origin on a circular path
  int sx,sy;
    startx=dimx/2;
    starty=dimy/2;
  for (int i=0;i&lt;num;i++) {
    //startAngle =sin(PI/360 * i *20);;
    startAngle = random(1)*TWO_PI;
    //startAngle = 0;
    //int rlength = int(random(brushWidth));
    int rlength=int(random(brushWidth));
    startx = 200;
    //print(startx);
    starty =  i;
    //startx = int(dimx/2 + cos(startAngle) * (rlength+startDist));
    //starty = int(dimy/2 + sin(startAngle) * (rlength+startDist));
    strands[i]=new circ (startx,starty,rlength,startAngle,i);
    //strands[i]=new circ (dimx/2,dimy/2,rlength,startAngle,i);
   //print(&quot;created: &quot;+i+&quot; length&quot;+rlength);
   //strands[i]=new circ (40,50,60,PI);
  }
}

void draw() {
  for (int i=0;i&lt;num;i++) {
    strands[i].move();
  }
  if (frames==int(colorChange)){
    String fname= String.valueOf(month())+&quot;-&quot;+String.valueOf(day()+&quot;-&quot;+String.valueOf(hour())+&quot;-&quot;+String.valueOf(minute())+&quot;-&quot;+String.valueOf(second()));
        //saveFrame(fname+&quot;.png&quot;);
  }
  if (frames==colorChange){
    //print (&quot;changing Colors&quot;);
    //saveFrame(&quot;output##.png&quot;);
    //Taking the color array&#039;s colors
    //if we are at the end, we go back to the start
    //We add random[colorVariation] to make it interesting.
    currentColor++;
    if (currentColor==colorArray.length-1){
      currentColor=0;
    }
    //print(&quot;changed Color to:&quot;+colorArray[currentColor]);
    vredBase=int(random(155)+25);
    vblueratio=random(10);
    //vblueratio=1;
          if(vblueratio==0){
            vblueratio=1;
          }
    vgreenratio=random(7);
    //vgreenratio=1;
    if(vblueratio==0){
            vgreenratio=1;
          }
    //vgreenratio=random(50)+20;
    frames=0;
  }
//  if (totFrames==300){
//    exit();
//  }
//  else{
//    print (totFrames+&quot;\n&quot;);
//  }
  frames++;
  totFrames++;
}

void mousePressed() {
  frames=colorChange-1;
  for (int i=0;i&lt;num;i++) {
    strands[i].age=colorChange-1;
  }
  //print (frames);
}

void keyPressed() {
  // pressing a key will take a picture
  //saveFrame(&quot;output##.png&quot;);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/vinelinkeanimation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Processing &amp; the man and the ox transcended</title>
		<link>http://www.robjective.com/oxherding8/</link>
		<comments>http://www.robjective.com/oxherding8/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 10:30:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Photos]]></category>
		<category><![CDATA[enlightenment]]></category>
		<category><![CDATA[generative art]]></category>
		<category><![CDATA[ox herding]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://www.robvio.us/?p=37</guid>
		<description><![CDATA[Just discovered this incredible java-based open source flash-like product called processing.  Very simple to work with and excellent if you are trying to make art-like output for printing.  Lets you render at very large scale and output to very large images. Here&#8217;s a digital take on the 8th painting in the ox herding series. It [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.robjective.com%2Foxherding8%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Foxherding8%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Just discovered this incredible java-based open source flash-like product called <a href="http://processing.org/">processing</a>.  Very simple to work with and excellent if you are trying to make art-like output for printing.  Lets you render at very large scale and output to very large images.</p>
<p>Here&#8217;s a digital take on the 8th painting in the <a title="the path to enlightenment" href="http://www.terebess.hu/english/oxherding.html">ox herding series</a>.</p>
<p>It looks different every time.  Here are some random renderings that I liked:</p>
<p><a title="Ox and self transcended II by Rgold, on Flickr" href="http://www.flickr.com/photos/robgoldman/4013550060/"><img src="http://farm4.static.flickr.com/3487/4013550060_5c4cd72947_o.png" alt="Ox and self transcended II" width="500" height="500" /></a><br />
<span id="more-40"></span></p>
<p><EMBED type="application/x-java-applet" width="400" height="400" align="baseline" archive="http://www.robosphere.com/processing/ox8/attached_ring.jar" standby="Loading Processing software..." codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0_15-windows-i586.cab" code="attached_Ring" mayscript="true" scriptable="true" image="http://www.robosphere.com/processing/ox8/loading.gif" boxmessage="Loading Processing software..." boxcolor="#FFFFFF"><br />
<NOEMBED><br />
  No Java 2 SDK, Standard Edition v 1.4.1 support for APPLET!!<br />
</NOEMBED><br />
</EMBED></p>
<p>Here is more of a spherical version:</p>
<p><a title="more planatary version by Rgold, on Flickr" href="http://www.flickr.com/photos/robgoldman/4013613698/"><img src="http://farm3.static.flickr.com/2556/4013613698_ea054ae3c0_o.png" alt="more planatary version" width="500" height="500" /></a></p>
<p>And here is a hi-res image over <a href="http://www.robosphere.com/Images/ox8/output4001.png">here</a>, and a little cut-out to give you a sense for the texture:</p>
<p><img src="http://farm4.static.flickr.com/3516/4012922229_e77f8feda2_o.png" alt="" width="500" height="500" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/oxherding8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

