int[][] hexacodes = new int[64][6];
ArrayList<Hexagram> hexagrams;
hexagrams = new ArrayList<Hexagram>();
generateHexagrams(60, 1);
for (Hexagram h : hexagrams) {
void generateHexagrams(int padding, int lineWeight) {
for ( int y=0; y<8; y++) {
for ( int x=0; x<8; x++) {
hexagrams.add(new Hexagram(index, x * padding, y * padding, lineWeight));
for (Hexagram h : hexagrams) {
int[] hexList = new int[6];
Hexagram (int index, float temppivotX, float temppivotY, float templineWeight) {
lineWeight = templineWeight;
for (int i = 0; i < hexList.length; i++) {
hexList[i] = hexacodes[index][i];
void myline (float lineStartX, float lineStartY, float lineLength, int broken) {
line (lineStartX, lineStartY, lineStartX+lineLength, lineStartY);
line (lineStartX, lineStartY, lineStartX+lineLength/2 - spacing, lineStartY);
line (lineStartX+lineLength/2 +spacing, lineStartY, lineStartX+lineLength, lineStartY);
for (int i = 0; i < hexList.length; i++) {
hexList[i] = int(random(0, 2));
lineLength = (lineWeight*18) + (spacing*4);
strokeWeight (lineWeight);
for( int i = 0; i < 6; i ++ ) {
myline(pivotX, pivotY + i * spacing, lineLength, hexList[i]);
void generateHexaCodes() {
tmp = new int[]{ 0, 0, 0, 0, 0, 0 };
tmp = new int[]{ 1, 1, 1, 1, 1, 1 };
tmp = new int[]{ 1, 0, 1, 1, 1, 0 };
tmp = new int[]{ 0, 1, 1, 1, 0, 1 };
tmp = new int[]{ 1, 0, 1, 0, 0, 0 };
tmp = new int[]{ 0, 0, 0, 1, 0, 1 };
tmp = new int[]{ 1, 1, 1, 1, 0, 1 };
tmp = new int[]{ 1, 0, 1, 1, 1, 1 };
tmp = new int[]{ 0, 0, 1, 0, 0, 0 };
tmp = new int[]{ 0, 0, 0, 1, 0, 0 };
tmp = new int[]{ 1, 1, 1, 0, 0, 0 };
tmp = new int[]{ 0, 0, 0, 1, 1, 1 };
tmp = new int[]{ 0, 0, 0, 0, 1, 0 };
tmp = new int[]{ 0, 1, 0, 0, 0, 0 };
tmp = new int[]{ 1, 1, 1, 0, 1, 1 };
tmp = new int[]{ 1, 1, 0, 1, 1, 1 };
tmp = new int[]{ 1, 0, 0, 1, 1, 0 };
tmp = new int[]{ 0, 1, 1, 0, 0, 1 };
tmp = new int[]{ 1, 1, 1, 1, 0, 0 };
tmp = new int[]{ 0, 0, 1, 1, 1, 1 };
tmp = new int[]{ 0, 1, 0, 1, 1, 0 };
tmp = new int[]{ 0, 1, 1, 0, 1, 0 };
tmp = new int[]{ 0, 1, 1, 1, 1, 1 };
tmp = new int[]{ 1, 1, 1, 1, 1, 0 };
tmp = new int[]{ 0, 0, 0, 1, 1, 0 };
tmp = new int[]{ 0, 1, 1, 0, 0, 0 };
tmp = new int[]{ 0, 1, 1, 1, 1, 0 };
tmp = new int[]{ 1, 0, 0, 0, 0, 1 };
tmp = new int[]{ 1, 0, 1, 1, 0, 1 };
tmp = new int[]{ 0, 1, 0, 0, 1, 0 };
tmp = new int[]{ 1, 0, 0, 0, 1, 1 };
tmp = new int[]{ 1, 1, 0, 0, 0, 1 };
tmp = new int[]{ 0, 0, 0, 0, 1, 1 };
tmp = new int[]{ 1, 1, 0, 0, 0, 0 };
tmp = new int[]{ 0, 1, 0, 1, 1, 1 };
tmp = new int[]{ 1, 1, 1, 0, 1, 0 };
tmp = new int[]{ 0, 0, 1, 0, 1, 0 };
tmp = new int[]{ 0, 1, 0, 1, 0, 0 };
tmp = new int[]{ 1, 0, 1, 0, 1, 1 };
tmp = new int[]{ 1, 1, 0, 1, 0, 1 };
tmp = new int[]{ 0, 1, 1, 1, 0, 0 };
tmp = new int[]{ 0, 0, 1, 1, 1, 0 };
tmp = new int[]{ 1, 0, 0, 0, 0, 0 };
tmp = new int[]{ 0, 0, 0, 0, 0, 1 };
tmp = new int[]{ 1, 0, 0, 1, 1, 1 };
tmp = new int[]{ 1, 1, 1, 0, 0, 1 };
tmp = new int[]{ 1, 0, 0, 1, 0, 1 };
tmp = new int[]{ 1, 0, 1, 0, 0, 1 };
tmp = new int[]{ 1, 0, 0, 0, 1, 0 };
tmp = new int[]{ 0, 1, 0, 0, 0, 1 };
tmp = new int[]{ 1, 1, 0, 1, 1, 0 };
tmp = new int[]{ 0, 1, 1, 0, 1, 1 };
tmp = new int[]{ 0, 0, 1, 0, 1, 1 };
tmp = new int[]{ 1, 1, 0, 1, 0, 0 };
tmp = new int[]{ 1, 1, 0, 0, 1, 0 };
tmp = new int[]{ 0, 1, 0, 0, 1, 1 };
tmp = new int[]{ 0, 0, 1, 0, 0, 1 };
tmp = new int[]{ 1, 0, 0, 1, 0, 0 };
tmp = new int[]{ 0, 0, 1, 1, 0, 1 };
tmp = new int[]{ 1, 0, 1, 1, 0, 0 };
tmp = new int[]{ 0, 0, 1, 1, 0, 0 };
tmp = new int[]{ 1, 1, 0, 0, 1, 1 };
tmp = new int[]{ 1, 0, 1, 0, 1, 0 };
tmp = new int[]{ 0, 1, 0, 1, 0, 1 };