Skip to content

Instantly share code, notes, and snippets.

@rlieberman
Created October 1, 2014 03:21
Show Gist options
  • Save rlieberman/c28f789ef493f58a3510 to your computer and use it in GitHub Desktop.
Save rlieberman/c28f789ef493f58a3510 to your computer and use it in GitHub Desktop.
I-Ching Functions
void setup () {
size (850, 500);
}
void draw () {
background (255);
//hexagram 1
unbrokenLine (50, 50);
brokenLine (50, 70);
unbrokenLine (50, 90);
unbrokenLine (50, 110);
brokenLine (50, 130);
brokenLine (50, 150);
//hexagram 2
brokenLine (200, 50);
brokenLine (200,70);
brokenLine (200,90);
brokenLine (200, 110);
unbrokenLine (200, 130);
unbrokenLine (200, 150);
//hexagram 3
unbrokenLine (350, 50);
unbrokenLine (350,70);
unbrokenLine (350,90);
brokenLine (350, 110);
unbrokenLine (350, 130);
unbrokenLine (350, 150);
//hexagram 4
unbrokenLine (500, 50);
unbrokenLine (500,70);
unbrokenLine (500,90);
unbrokenLine (500,110);
unbrokenLine (500, 130);
unbrokenLine (500, 150);
//hexagram 5
unbrokenLine (650, 50);
unbrokenLine (650,70);
brokenLine (650,90);
brokenLine (650, 110);
unbrokenLine (650, 130);
unbrokenLine (650, 150);
//hexagram 6
unbrokenLine (50, 250);
brokenLine (50, 270);
unbrokenLine (50, 290);
brokenLine (50, 310);
unbrokenLine (50, 330);
brokenLine (50, 350);
//hexagram 7
unbrokenLine (200, 250);
brokenLine (200, 270);
brokenLine (200, 290);
brokenLine (200, 310);
unbrokenLine (200, 330);
unbrokenLine (200, 350);
//hexagram 8
brokenLine (350, 250);
unbrokenLine (350, 270);
brokenLine (350, 290);
unbrokenLine (350, 310);
brokenLine (350, 330);
unbrokenLine (350, 350);
//hexagram 9
unbrokenLine (500, 250);
brokenLine (500, 270);
brokenLine (500, 290);
unbrokenLine (500, 310);
unbrokenLine (500, 330);
brokenLine (500, 350);
//hexagram 10
unbrokenLine (650, 250);
unbrokenLine (650, 270);
brokenLine (650, 290);
unbrokenLine (650, 310);
brokenLine (650, 330);
brokenLine (650, 350);
}
void unbrokenLine (float lineStartX, float lineStartY) {
//line styling
colorMode (HSB);
strokeCap (SQUARE);
strokeWeight (10);
stroke (0, 0, random (0, mouseX/8));
line (lineStartX, lineStartY, lineStartX+120, lineStartY);
}
void brokenLine (float lineStartX, float lineStartY) {
//line styling
colorMode (HSB);
strokeCap (SQUARE);
strokeWeight (10);
stroke (0, 0, random (0, mouseY/4));
//first line
line (lineStartX, lineStartY, lineStartX+55, lineStartY);
//second line
line (lineStartX+65, lineStartY, lineStartX+120, lineStartY);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment