> show canvas only <


/* built with Studio Sketchpad: 
 *   https://sketchpad.cc
 * 
 * observe the evolution of this sketch: 
 *   https://studio.sketchpad.cc/sp/pad/view/ro.VGODH7yppRE/rev.918
 * 
 * authors: 
 *   Eric Fickes

 * license (unless otherwise specified): 
 *   creative commons attribution-share alike 3.0 license.
 *   https://creativecommons.org/licenses/by-sa/3.0/ 
 */ 



// Started out thinking about lissajous

int i = 0; 


float x, y, x2, y2;
float a1 = 1, b1 = 2, c1 = 3;
float t = 30;
float cx, cy;
float alf = 30;

//////////////////////////////////////////////////////////////////////////
void setup() {  // this is run once.   
    
    // set the background color
    background(25);
    

    size(666, 666); 
      
    // smooth edges
    smooth();

    cx = width/2;
    cy = height/2;
    
    noFill();
} 

///////////////////////////////////////////////////////////////////////////
void draw() {  // this is run repeatedly.  

    x = i * sin( a1 * (frameCount*t) +  ( PI/2 ) ) + cx;
    y = i * sin( b1 * (frameCount*t)  + ( PI/2 ) ) + cy;


    stroke(#00EF00, random(alf, 255) );
    point( x, x );
    point( y, y );


    strokeWeight( random(TWO_PI) );
    stroke( random(i, frameCount), random(TWO_PI, alf)    );

    point( x, y );
    point( y, x );

    stroke( alf, random(255), alf, alf );
    line( x, y, y, x );


    ellipse( y, x, x, y );
    ellipse( x, y, y, x );

    stroke( random(255), random(TWO_PI), random(PI) );
    ellipse( x, x, y, y );
    ellipse( y, y, x, x );

    stroke( #EF0000, alf  );
    arc( x, y, frameCount, frameCount, PI/2, PI*2 );

    if( i > height ) {
        fill(#EFEF00);
        
        string msg = "TGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIF TGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTGIFTG";
        text(msg, 0, height-5 );
        
        // STOP
        noLoop();
    }

    i += PI;
}