<?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>robjective &#187; admin</title>
	<atom:link href="http://www.robjective.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.robjective.com</link>
	<description>its all been said before</description>
	<lastBuildDate>Wed, 01 Feb 2012 03:56:51 +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 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>
<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>
		<item>
		<title>Your IPO: The real reason facebook is adding usernames</title>
		<link>http://www.robjective.com/your-ipo-the-real-reason-facebook-is-adding-usernames/</link>
		<comments>http://www.robjective.com/your-ipo-the-real-reason-facebook-is-adding-usernames/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 15:05:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[email]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[facebook twitter socialmedia email]]></category>

		<guid isPermaLink="false">http://www.robvio.us/?p=36</guid>
		<description><![CDATA[Its been interesting to read reactions around the blogosphere on facebook&#8217;s announcement of their adding usernames and the inevitable land grab that will begin tomorrow night when the system goes live. Chris Messina thinks its all about facebook trying to own your digital identity, and he has an interesting post along those lines over on [...]]]></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%2Fyour-ipo-the-real-reason-facebook-is-adding-usernames%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.robjective.com%2Fyour-ipo-the-real-reason-facebook-is-adding-usernames%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Its been interesting to read reactions around the blogosphere on <a href="http://blog.facebook.com/blog.php?post=90316352130">facebook&#8217;s announcement</a> of their adding usernames and the inevitable land grab that will begin tomorrow night when the system goes live.</p>
<p><a href="http://farm4.static.flickr.com/3372/3612032954_3dbd553b08_o.png">Chris Messina thinks its all about facebook trying to own your digital identity</a>, and he has an interesting post along those lines over on his blog.</p>
<p><a href="http://dashes.com/anil/2009/06/the-future-of-facebook-usernames.html">Anil Dash has a comic take on things.</a> His timeline of events stemming from the facbook identity launch ends in OCtober of 2010 when AOL decides to add a usernames project to their AIM and Bebo 18-month roadmap. <img src='http://www.robjective.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>My take is a little different:</p>
<h1><strong>It&#8217;s about getting you PUBLIC:</strong></h1>
<p>My personal take after having spent the last year working on a communications product is that the username announcement is really less about owning your identity and much more about finding a way to get your facebook status updates public in order to compete with twitter.</p>
<p>Twitter is public by default and that is what makes it such a powerful system.  There are no barriers to information moving from one user to another.  If anyone in the system has anything important to say (like for example <a href="http://twitter.com/sudhirsyal/status/1024864737">if you happened to see a terrorist in a hotel in mumbai</a>, then that information spreads throughout the system in no time.</p>
<p>That is what makes twitter such a powerful system for transmitting news and information and it&#8217;s what has set off so much discussion about the real-time web.</p>
<p>The problem for facebook at the moment is that a very strong expectation has been set that information posted there is only available to your friends, and not to anyone in the public.  Facebook first added public posts <a href="http://blog.facebook.com/blog.php?post=60186587130">back in March,</a> and then opened them up for <a href="http://www.allfacebook.com/2009/05/public-profile-commenting/">celebs and public profiles last month</a>. By most accounts the response was muted at best and posting frequency has declines in places where posts are public.  This must be scary for facebook.</p>
<p>By making a big announcement about a new public facing feature and forcing user&#8217;s attention over to what their public facing page should be is a great way of shifting expectations slightly towards accepting a public stream of information from you coming out of facebook.</p>
<p>I would bet that within a few weeks of the push, you will be able to publish status items to your public page and within a month or two updates will be public by default.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robjective.com/your-ipo-the-real-reason-facebook-is-adding-usernames/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

