summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AutoVisual/IGPTheGreatMosqueOfCordoba.pde262
1 files changed, 144 insertions, 118 deletions
diff --git a/AutoVisual/IGPTheGreatMosqueOfCordoba.pde b/AutoVisual/IGPTheGreatMosqueOfCordoba.pde
index df4e8ed..3143962 100644
--- a/AutoVisual/IGPTheGreatMosqueOfCordoba.pde
+++ b/AutoVisual/IGPTheGreatMosqueOfCordoba.pde
@@ -7,7 +7,8 @@ class IGPTheGreatMosqueOfCordoba extends IGPSquare{
PVector[][] horizontalVs;
ArrayList <PVector> middleStar;
IGPTheGreatMosqueOfCordoba(float x, float y, float d){
- super(x, y, d, 12);
+ super(x, y, d, 4);
+ setVectorsOnOuterSquare();
setInterlacingVs();
setSidePieces();
setCornerPieces();
@@ -15,192 +16,212 @@ class IGPTheGreatMosqueOfCordoba extends IGPSquare{
setMiddleStar();
}
+ void setVectorsOnOuterSquare(){
+ vectorsOnOuterSquare = new ArrayList <PVector>(16);
+ vectorsOnOuterSquare.add(alphaCircleVectorsSixteen.get(0));
+ vectorsOnOuterSquare.add(getVectorOnExtendedLine(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), mid.x+radius, false));
+ vectorsOnOuterSquare.add(new PVector(mid.x+radius, mid.y+radius));
+ vectorsOnOuterSquare.add(getVectorOnExtendedLine(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), mid.y+radius, true));
+ vectorsOnOuterSquare.add(alphaCircleVectorsSixteen.get(4));
+ vectorsOnOuterSquare.add(getVectorOnExtendedLine(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6), mid.y+radius, true));
+ vectorsOnOuterSquare.add(new PVector(mid.x-radius, mid.y+radius));
+ vectorsOnOuterSquare.add(getVectorOnExtendedLine(alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(6), mid.x-radius, false));
+ vectorsOnOuterSquare.add(alphaCircleVectorsSixteen.get(8));
+ vectorsOnOuterSquare.add(getVectorOnExtendedLine(alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(10), mid.x-radius, false));
+ vectorsOnOuterSquare.add(new PVector(mid.x-radius, mid.y-radius));
+ vectorsOnOuterSquare.add(getVectorOnExtendedLine(alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(10), mid.y-radius, true));
+ vectorsOnOuterSquare.add(alphaCircleVectorsSixteen.get(12));
+ vectorsOnOuterSquare.add(getVectorOnExtendedLine(alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(14), mid.y-radius, true));
+ vectorsOnOuterSquare.add(new PVector(mid.x+radius, mid.y-radius));
+ vectorsOnOuterSquare.add(getVectorOnExtendedLine(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), mid.x+radius, false));
+ }
+
void setInterlacingVs(){
PVector[] vectors = new PVector[2];
verticalVs = new PVector[4][2];
horizontalVs = new PVector[4][2];
- vectors[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(315), mid.y-radius, true);
- vectors[1] = getVectorOnAlphaCircle(90);
+ vectors[0] = vectorsOnOuterSquare.get(13);
+ vectors[1] = vectorsOnOuterSquare.get(4);
verticalVs[0] = vectors;
vectors = new PVector[2];
- vectors[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(225), mid.y-radius, true);
- vectors[1] = getVectorOnAlphaCircle(90);
+ vectors[0] = vectorsOnOuterSquare.get(11);
+ vectors[1] = vectorsOnOuterSquare.get(4);
verticalVs[1] = vectors;
vectors = new PVector[2];
- vectors[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), mid.y+radius, true);
- vectors[1] = getVectorOnAlphaCircle(270);
+ vectors[0] = vectorsOnOuterSquare.get(3);
+ vectors[1] = vectorsOnOuterSquare.get(12);
verticalVs[2] = vectors;
vectors = new PVector[2];
- vectors[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135), mid.y+radius, true);
- vectors[1] = getVectorOnAlphaCircle(270);
+ vectors[0] = vectorsOnOuterSquare.get(5);
+ vectors[1] = vectorsOnOuterSquare.get(12);
verticalVs[3] = vectors;
vectors = new PVector[2];
- vectors[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), mid.x+radius, false);
- vectors[1] = getVectorOnAlphaCircle(180);
+ vectors[0] = vectorsOnOuterSquare.get(15);
+ vectors[1] = vectorsOnOuterSquare.get(8);
horizontalVs[0] = vectors;
vectors = new PVector[2];
- vectors[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), mid.x+radius, false);
- vectors[1] = getVectorOnAlphaCircle(180);
+ vectors[0] = vectorsOnOuterSquare.get(1);
+ vectors[1] = vectorsOnOuterSquare.get(8);
horizontalVs[1] = vectors;
vectors = new PVector[2];
- vectors[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(225), mid.x-radius, false);
- vectors[1] = getVectorOnAlphaCircle(0);
+ vectors[0] = vectorsOnOuterSquare.get(9);
+ vectors[1] = vectorsOnOuterSquare.get(0);
horizontalVs[2] = vectors;
vectors = new PVector[2];
- vectors[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(135), mid.x-radius, false);
- vectors[1] = getVectorOnAlphaCircle(0);
+ vectors[0] = vectorsOnOuterSquare.get(7);
+ vectors[1] = vectorsOnOuterSquare.get(0);
horizontalVs[3] = vectors;
}
void setMiddleStar(){
middleStar = new ArrayList <PVector>(16);
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45)));
- middleStar.add(getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2)));
+ middleStar.add(getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4)));
}
void setCornerPieces(){
cornerPieces = new PVector[4][4];
PVector[] cornerPiece = new PVector[4];
- cornerPiece[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), mid.x+radius, false);
- cornerPiece[1] = new PVector(mid.x+radius, mid.y+radius);
- cornerPiece[2] = getVectorOnExtendedLine(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), mid.y+radius, true);
- cornerPiece[3] = getVectorOnAlphaCircle(45);
+ cornerPiece[0] = vectorsOnOuterSquare.get(1);
+ cornerPiece[1] = vectorsOnOuterSquare.get(2);
+ cornerPiece[2] = vectorsOnOuterSquare.get(3);
+ cornerPiece[3] = alphaCircleVectorsSixteen.get(2);
cornerPieces[0] = cornerPiece;
cornerPiece = new PVector[4];
- cornerPiece[0] = getVectorOnAlphaCircle(135);
- cornerPiece[1] = getVectorOnExtendedLine(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135), mid.y+radius, true);
- cornerPiece[2] = new PVector(mid.x-radius, mid.y+radius);
- cornerPiece[3] = getVectorOnExtendedLine(getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(135), mid.x-radius, false);
+ cornerPiece[0] = vectorsOnOuterSquare.get(5);
+ cornerPiece[1] = vectorsOnOuterSquare.get(6);
+ cornerPiece[2] = vectorsOnOuterSquare.get(7);
+ cornerPiece[3] = alphaCircleVectorsSixteen.get(6);
cornerPieces[1] = cornerPiece;
cornerPiece = new PVector[4];
- cornerPiece[0] = getVectorOnAlphaCircle(225);
- cornerPiece[1] = getVectorOnExtendedLine(getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(225), mid.y-radius, true);
- cornerPiece[2] = new PVector(mid.x-radius, mid.y-radius);
- cornerPiece[3] = getVectorOnExtendedLine(getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(225), mid.x-radius, false);
+ cornerPiece[0] = alphaCircleVectorsSixteen.get(10);
+ cornerPiece[1] = vectorsOnOuterSquare.get(9);
+ cornerPiece[2] = vectorsOnOuterSquare.get(10);
+ cornerPiece[3] = vectorsOnOuterSquare.get(11);
cornerPieces[2] = cornerPiece;
cornerPiece = new PVector[4];
- cornerPiece[0] = new PVector(mid.x+radius, mid.y-radius);
- cornerPiece[1] = getVectorOnExtendedLine(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), mid.x+radius, false);
- cornerPiece[2] = getVectorOnAlphaCircle(315);
- cornerPiece[3] = getVectorOnExtendedLine(getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(315), mid.y-radius, true);
+ cornerPiece[0] = vectorsOnOuterSquare.get(14);
+ cornerPiece[1] = vectorsOnOuterSquare.get(15);
+ cornerPiece[2] = alphaCircleVectorsSixteen.get(14);
+ cornerPiece[3] = vectorsOnOuterSquare.get(13);
cornerPieces[3] = cornerPiece;
}
void setSidePieces(){
sidePieces = new PVector[8][4];
PVector[] sidePiece = new PVector[4];
- sidePiece[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), mid.x+radius, false);
- sidePiece[1] = getVectorOnAlphaCircle(0);
- sidePiece[2] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90));
- sidePiece[3] = getVectorOnAlphaCircle(315);
+ sidePiece[0] = vectorsOnOuterSquare.get(0);
+ sidePiece[1] = vectorsOnOuterSquare.get(1);
+ sidePiece[2] = alphaCircleVectorsSixteen.get(2);
+ sidePiece[3] = getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0));
sidePieces[0] = sidePiece;
sidePiece = new PVector[4];
- sidePiece[0] = getVectorOnAlphaCircle(0);
- sidePiece[1] = getVectorOnExtendedLine(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), mid.x+radius, false);
- sidePiece[2] = getVectorOnAlphaCircle(45);
- sidePiece[3] = getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0));
+ sidePiece[0] = vectorsOnOuterSquare.get(3);
+ sidePiece[1] = vectorsOnOuterSquare.get(4);
+ sidePiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0));
+ sidePiece[3] = alphaCircleVectorsSixteen.get(2);
sidePieces[1] = sidePiece;
sidePiece = new PVector[4];
- sidePiece[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), mid.y+radius, true);
- sidePiece[1] = getVectorOnAlphaCircle(90);
- sidePiece[2] = getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0));
- sidePiece[3] = getVectorOnAlphaCircle(45);
+ sidePiece[0] = vectorsOnOuterSquare.get(4);
+ sidePiece[1] = vectorsOnOuterSquare.get(5);
+ sidePiece[2] = alphaCircleVectorsSixteen.get(6);
+ sidePiece[3] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0));
sidePieces[2] = sidePiece;
sidePiece = new PVector[4];
- sidePiece[0] = getVectorOnAlphaCircle(90);
- sidePiece[1] = getVectorOnExtendedLine(getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(135), mid.y+radius, true);
- sidePiece[2] = getVectorOnAlphaCircle(135);
- sidePiece[3] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0));
+ sidePiece[0] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6));
+ sidePiece[1] = alphaCircleVectorsSixteen.get(6);
+ sidePiece[2] = vectorsOnOuterSquare.get(7);
+ sidePiece[3] = vectorsOnOuterSquare.get(8);
sidePieces[3] = sidePiece;
sidePiece = new PVector[4];
- sidePiece[0] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135));
- sidePiece[1] = getVectorOnAlphaCircle(135);
- sidePiece[2] = getVectorOnExtendedLine(getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(135), mid.x-radius, false);
- sidePiece[3] = getVectorOnAlphaCircle(180);
+ sidePiece[0] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4));
+ sidePiece[1] = vectorsOnOuterSquare.get(8);
+ sidePiece[2] = vectorsOnOuterSquare.get(9);
+ sidePiece[3] = alphaCircleVectorsSixteen.get(10);
sidePieces[4] = sidePiece;
sidePiece = new PVector[4];
- sidePiece[0] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90));
- sidePiece[1] = getVectorOnAlphaCircle(180);
- sidePiece[2] = getVectorOnExtendedLine(getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(225), mid.x-radius, false);
- sidePiece[3] = getVectorOnAlphaCircle(225);
+ sidePiece[0] = vectorsOnOuterSquare.get(12);
+ sidePiece[1] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6));
+ sidePiece[2] = alphaCircleVectorsSixteen.get(10);
+ sidePiece[3] = vectorsOnOuterSquare.get(11);
sidePieces[5] = sidePiece;
sidePiece = new PVector[4];
- sidePiece[0] = getVectorOnAlphaCircle(270);
- sidePiece[1] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135));
- sidePiece[2] = getVectorOnAlphaCircle(225);
- sidePiece[3] = getVectorOnExtendedLine(getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(225), mid.y-radius, true);
+ sidePiece[0] = vectorsOnOuterSquare.get(13);
+ sidePiece[1] = alphaCircleVectorsSixteen.get(14);
+ sidePiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2));
+ sidePiece[3] = vectorsOnOuterSquare.get(12);
sidePieces[6] = sidePiece;
sidePiece = new PVector[4];
- sidePiece[0] = getVectorOnExtendedLine(getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(315), mid.y-radius, true);
- sidePiece[1] = getVectorOnAlphaCircle(315);
- sidePiece[2] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45));
- sidePiece[3] = getVectorOnAlphaCircle(270);
+ sidePiece[0] = vectorsOnOuterSquare.get(15);
+ sidePiece[1] = vectorsOnOuterSquare.get(0);
+ sidePiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4));
+ sidePiece[3] = alphaCircleVectorsSixteen.get(14);
sidePieces[7] = sidePiece;
}
void setStarPieces(){
starPieces = new PVector[8][4];
PVector[] starPiece = new PVector[4];
- starPiece[0] = getVectorOnAlphaCircle(315);
- starPiece[1] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90));
- starPiece[2] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45));
- starPiece[3] = getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315));
+ starPiece[0] = alphaCircleVectorsSixteen.get(14);
+ starPiece[1] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4));
+ starPiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2));
+ starPiece[3] = getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14));
starPieces[0] = starPiece;
starPiece = new PVector[4];
- starPiece[0] = getVectorOnAlphaCircle(0);
- starPiece[1] = getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0));
- starPiece[2] = getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90));
- starPiece[3] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90));
+ starPiece[0] = alphaCircleVectorsSixteen.get(0);
+ starPiece[1] = getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0));
+ starPiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4));
+ starPiece[3] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4));
starPieces[1] = starPiece;
starPiece = new PVector[4];
- starPiece[0] = getLineIntersection(getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0));
- starPiece[1] = getVectorOnAlphaCircle(45);
- starPiece[2] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90));
- starPiece[3] = getLineIntersection(getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90));
+ starPiece[0] = getLineIntersection(alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0));
+ starPiece[1] = alphaCircleVectorsSixteen.get(2);
+ starPiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4));
+ starPiece[3] = getLineIntersection(alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4));
starPieces[2] = starPiece;
starPiece = new PVector[4];
- starPiece[0] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(90));
- starPiece[1] = getVectorOnAlphaCircle(90);
- starPiece[2] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0));
- starPiece[3] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0));
+ starPiece[0] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(4));
+ starPiece[1] = alphaCircleVectorsSixteen.get(4);
+ starPiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0));
+ starPiece[3] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0));
starPieces[3] = starPiece;
starPiece = new PVector[4];
- starPiece[0] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(135), getVectorOnAlphaCircle(0));
- starPiece[1] = getVectorOnAlphaCircle(135);
- starPiece[2] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135));
- starPiece[3] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45));
+ starPiece[0] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(6), alphaCircleVectorsSixteen.get(0));
+ starPiece[1] = alphaCircleVectorsSixteen.get(6);
+ starPiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6));
+ starPiece[3] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2));
starPieces[4] = starPiece;
starPiece = new PVector[4];
- starPiece[0] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135));
- starPiece[1] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(45), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135));
- starPiece[2] = getVectorOnAlphaCircle(180);
- starPiece[3] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90));
+ starPiece[0] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6));
+ starPiece[1] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(2), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6));
+ starPiece[2] = alphaCircleVectorsSixteen.get(8);
+ starPiece[3] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4));
starPieces[5] = starPiece;
starPiece = new PVector[4];
- starPiece[0] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135));
- starPiece[1] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135));
- starPiece[2] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(90));
- starPiece[3] = getVectorOnAlphaCircle(225);
+ starPiece[0] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6));
+ starPiece[1] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6));
+ starPiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(4));
+ starPiece[3] = alphaCircleVectorsSixteen.get(10);
starPieces[6] = starPiece;
starPiece = new PVector[4];
- starPiece[0] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(45));
- starPiece[1] = getLineIntersection(getVectorOnAlphaCircle(180), getVectorOnAlphaCircle(315), getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0));
- starPiece[2] = getLineIntersection(getVectorOnAlphaCircle(225), getVectorOnAlphaCircle(0), getVectorOnAlphaCircle(270), getVectorOnAlphaCircle(135));
- starPiece[3] = getVectorOnAlphaCircle(270);
+ starPiece[0] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(2));
+ starPiece[1] = getLineIntersection(alphaCircleVectorsSixteen.get(8), alphaCircleVectorsSixteen.get(14), alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0));
+ starPiece[2] = getLineIntersection(alphaCircleVectorsSixteen.get(10), alphaCircleVectorsSixteen.get(0), alphaCircleVectorsSixteen.get(12), alphaCircleVectorsSixteen.get(6));
+ starPiece[3] = alphaCircleVectorsSixteen.get(12);
starPieces[7] = starPiece;
}
@@ -268,23 +289,28 @@ class IGPTheGreatMosqueOfCordoba extends IGPSquare{
}
void display(){
- setStrokeColor(new Float[] {0.66, 0.66, 0.8, 1.0});
+ setStrokeColor(new Float[] {0.0, 0.0, 0.0, 0.0});
setFillColor(new Float[] {0.0, 1.0, 0.0, 1.0});
createSidePieces();
- setStrokeColor(new Float[] {0.66, 0.0, 0.0, 1.0});
+ setStrokeColor(new Float[] {0.0, 0.0, 0.0, 0.0});
setFillColor(new Float[] {1.0, 1.0, 1.0, 1.0});
createCornerPieces();
- setStrokeColor(new Float[] {0.66, 0.0, 0.0, 1.0});
+ setStrokeColor(new Float[] {0.0, 0.0, 0.0, 0.0});
setFillColor(new Float[] {1.0, 0.0, 0.0, 1.0});
createStarPieces();
- setStrokeColor(new Float[] {0.66, 0.66, 0.8, 1.0});
+ setStrokeColor(new Float[] {0.0, 0.0, 0.0, 0.0});
setFillColor(new Float[] {0.0, 0.0, 1.0, 1.0});
createMiddleStar();
}
void displayConstructionLines(){
super.displayConstructionLines();
- setStrokeColor(new Float[] {0.66, 0.0, 0.8, 1.0});
+ setStrokeColor(new Float[] {0.4, 0.4, 0.8, 1.0});
createInterlacingVs();
+ setStrokeColor(new Float[] {0.8, 0.0, 0.0, 1.0});
+ setFillColor(new Float[] {0.8, 0.8, 0.8, 1.0});
+ createVectorIndicatorOnOuterSquare(4);
+ setStrokeColor(new Float[] {0.4, 0.4, 0.8, 1.0});
+ setFillColor(new Float[] {0.0, 0.0, 0.0, 0.0});
}
}