-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support third party client applictions with appropriate entry points
- Loading branch information
Stu Bailey
committed
Sep 9, 2012
1 parent
0fd882b
commit 79c56a0
Showing
8 changed files
with
20,581 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
/* | ||
PROCESSINGJS.COM HEADER ANIMATION | ||
MIT License - F1lT3R/Hyper-Metrix | ||
Native Processing Compatible | ||
*/ | ||
|
||
// Set number of circles | ||
int count = 1000; | ||
// Set maximum and minimum circle size | ||
int maxSize = 100; | ||
int minSize = 20; | ||
// Build float array to store circle properties | ||
float[][] e = new float[count][5]; | ||
// Set size of dot in circle center | ||
float ds=2; | ||
// Selected mode switch | ||
int sel = 0; | ||
// Set drag switch to false | ||
boolean dragging=false; | ||
// If use drags mouse... | ||
void mouseDragged(){ | ||
// Set drag switch to true | ||
dragging=true; | ||
} | ||
// If user releases mouse... | ||
void mouseReleased(){ | ||
// ..user is no-longer dragging | ||
dragging=false; | ||
} | ||
|
||
// Set up canvas | ||
void setup(){ | ||
// Frame rate | ||
frameRate(10); | ||
// Size of canvas (width,height) | ||
size(1500,3000); | ||
// Stroke/line/border thickness | ||
strokeWeight(1); | ||
// Initiate array with random values for circles | ||
for(int j=0;j< count;j++){ | ||
e[j][0]=random(width); // X | ||
e[j][1]=random(height); // Y | ||
e[j][2]=random(minSize,maxSize); // Radius | ||
e[j][3]=random(-.5,.5); // X Speed | ||
e[j][4]=random(-.5,.5); // Y Speed | ||
} | ||
} | ||
|
||
// Begin main draw loop (called 25 times per second) | ||
void draw(){ | ||
// Fill background black | ||
background(0); | ||
// Begin looping through circle array | ||
for (int j=0;j< count;j++){ | ||
// Disable shape stroke/border | ||
noStroke(); | ||
// Cache diameter and radius of current circle | ||
float radi=e[j][2]; | ||
float diam=radi/2; | ||
// If the cursor is within 2x the radius of current circle... | ||
if( dist(e[j][0],e[j][1],mouseX,mouseY) < radi ){ | ||
// Change fill color to green. | ||
fill(64,187,128,100); | ||
// Remember user has circle "selected" | ||
sel=1; | ||
// If user has mouse down and is moving... | ||
if (dragging){ | ||
// Move circle to circle position | ||
e[j][0]=mouseX; | ||
e[j][1]=mouseY; | ||
} | ||
} else { | ||
// Keep fill color blue | ||
fill(64,128,187,100); | ||
// User has nothing "selected" | ||
sel=0; | ||
} | ||
// Draw circle | ||
ellipse(e[j][0],e[j][1],radi,radi); | ||
// Move circle | ||
e[j][0]+=e[j][3]; | ||
e[j][1]+=e[j][4]; | ||
|
||
|
||
/* Wrap edges of canvas so circles leave the top | ||
and re-enter the bottom, etc... */ | ||
if( e[j][0] < -diam ){ e[j][0] = width+diam; } | ||
if( e[j][0] > width+diam ){ e[j][0] = -diam; } | ||
if( e[j][1] < 0-diam ){ e[j][1] = height+diam; } | ||
if( e[j][1] > height+diam){ e[j][1] = -diam; } | ||
|
||
// If current circle is selected... | ||
if (sel==1) { | ||
// Set fill color of center dot to white.. | ||
fill(255,255,255,255); | ||
// ..and set stroke color of line to green. | ||
stroke(128,255,0,100); | ||
} else { | ||
// otherwise set center dot color to black.. | ||
fill(0,0,0,255); | ||
// and set line color to turquoise. | ||
stroke(64,128,128,255); | ||
} | ||
|
||
// Loop through all circles | ||
for(int k=0;k< count;k++){ | ||
// If the circles are close... | ||
if( dist(e[j][0],e[j][1],e[k][0],e[k][1]) < radi){ | ||
// Stroke a line from current circle to adjacent circle | ||
line(e[j][0],e[j][1],e[k][0],e[k][1]); | ||
} | ||
} | ||
// Turn off stroke/border | ||
noStroke(); | ||
// Draw dot in center of circle | ||
rect(e[j][0]-ds,e[j][1]-ds,ds*2,ds*2); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.