Skip to content

Instantly share code, notes, and snippets.

@runemadsen
Created April 8, 2014 20:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save runemadsen/10184763 to your computer and use it in GitHub Desktop.
Save runemadsen/10184763 to your computer and use it in GitHub Desktop.
int maxLevel;
void setup() {
size(600, 800);
background(0);
stroke(255);
smooth();
noFill();
translate(width/2, height/2);
float deg = 360.0 / 6.0;
float triangleSize = 500;
float triangleMult = 0.579;
maxLevel = 4;
/*
for(int i = 0; i < 6; i++) {
pushMatrix();
rotate(radians(i * deg));
drawTriangle(0, 0, triangleSize, triangleMult, 0);
popMatrix();
}
*/
drawTriangle(0, 0, triangleSize, triangleMult, 0);
}
void drawTriangle(float x, float y, float triSize, float triMult, int level) {
pushMatrix();
translate(x, y);
triangle(0, 0, (-triSize/2 * triMult) , triSize/2, (triSize/2 * triMult), triSize/2);
if (level < maxLevel) {
level++;
// draw top
if(random(1) > 0.2)
drawTriangle(0, 0, triSize/2, triMult, level);
// draw bottom right
if(random(1) > 0.2)
drawTriangle(triSize/7, triSize/4, triSize/2, triMult, level);
// draw bottom left
if(random(1) > 0.2)
drawTriangle(-(triSize/7), triSize/4, triSize/2, triMult, level);
}
popMatrix();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment