From f527b87d09d686f8e7cb355aaa5da0fa17136c67 Mon Sep 17 00:00:00 2001 From: David Runge Date: Mon, 4 Jan 2016 06:50:34 +0100 Subject: AutoVisual/IGP{Family,Hexagon,Pentagon,Square}.pde: Removing display() function in lower level classes, moving all calls to create* methods to displayConstructionLines(). Refactoring outerSquareVectors* ArrayLists to {twelve,sixteen}BaseVectorsOnOuterSquare, to separate their usage more obviously from creating vectorsOnOuterSquare ArrayLists holding all PVectors necessary to display geometric patterns with end points on the outer square. --- AutoVisual/IGPSquare.pde | 131 +++++++++++++++++++++++------------------------ 1 file changed, 63 insertions(+), 68 deletions(-) (limited to 'AutoVisual/IGPSquare.pde') diff --git a/AutoVisual/IGPSquare.pde b/AutoVisual/IGPSquare.pde index e77368d..40185cb 100644 --- a/AutoVisual/IGPSquare.pde +++ b/AutoVisual/IGPSquare.pde @@ -5,7 +5,7 @@ class IGPSquare extends IGPFamily { super(x, y, d); parts = p; setVectorsOnAlphaCircle(); - setVectorsOnOuterSquare(); + setBaseVectorsOnOuterSquare(); setConstructionCircleCenters(); } @@ -17,90 +17,85 @@ class IGPSquare extends IGPFamily { constructionCircleCenters.add(alphaCircleVectors.get(9)); } - void setVectorsOnOuterSquare(){ - int amount = 12; - outerSquareVectors = new ArrayList (12); - outerSquareVectors.add(alphaCircleVectors.get(0)); - outerSquareVectors.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(1), mid.x+radius, false)); - outerSquareVectors.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(2), mid.y-radius, true)); - outerSquareVectors.add(alphaCircleVectors.get(3)); - outerSquareVectors.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(4), mid.y-radius, true)); - outerSquareVectors.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(5), mid.x-radius, false)); - outerSquareVectors.add(alphaCircleVectors.get(6)); - outerSquareVectors.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(7), mid.x-radius, false)); - outerSquareVectors.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(8), mid.y+radius, true)); - outerSquareVectors.add(alphaCircleVectors.get(9)); - outerSquareVectors.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(10), mid.y+radius, true)); - outerSquareVectors.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(11), mid.x+radius, false)); - - outerSquareVectorsSixteen = new ArrayList (16); - outerSquareVectorsSixteen.add(alphaCircleVectorsSixteen.get(0)); - outerSquareVectorsSixteen.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(1), mid.x+radius, false)); - outerSquareVectorsSixteen.add(new PVector(mid.x+radius, mid.y-radius)); - outerSquareVectorsSixteen.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(3), mid.y-radius, true)); - outerSquareVectorsSixteen.add(alphaCircleVectorsSixteen.get(4)); - outerSquareVectorsSixteen.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(5), mid.y-radius, true)); - outerSquareVectorsSixteen.add(new PVector(mid.x-radius, mid.y-radius)); - outerSquareVectorsSixteen.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(7), mid.x-radius, false)); - outerSquareVectorsSixteen.add(alphaCircleVectorsSixteen.get(8)); - outerSquareVectorsSixteen.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(9), mid.x-radius, false)); - outerSquareVectorsSixteen.add(new PVector(mid.x-radius, mid.y+radius)); - outerSquareVectorsSixteen.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(11), mid.y+radius, true)); - outerSquareVectorsSixteen.add(alphaCircleVectorsSixteen.get(12)); - outerSquareVectorsSixteen.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(13), mid.y+radius, true)); - outerSquareVectorsSixteen.add(new PVector(mid.x+radius, mid.y+radius)); - outerSquareVectorsSixteen.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(15), mid.x+radius, false)); + void setBaseVectorsOnOuterSquare(){ + twelveBaseVectorsOnOuterSquare = new ArrayList (12); + twelveBaseVectorsOnOuterSquare.add(alphaCircleVectors.get(0)); + twelveBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(1), mid.x+radius, false)); + twelveBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(2), mid.y-radius, true)); + twelveBaseVectorsOnOuterSquare.add(alphaCircleVectors.get(3)); + twelveBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(4), mid.y-radius, true)); + twelveBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(5), mid.x-radius, false)); + twelveBaseVectorsOnOuterSquare.add(alphaCircleVectors.get(6)); + twelveBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(7), mid.x-radius, false)); + twelveBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(8), mid.y+radius, true)); + twelveBaseVectorsOnOuterSquare.add(alphaCircleVectors.get(9)); + twelveBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(10), mid.y+radius, true)); + twelveBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectors.get(11), mid.x+radius, false)); + + sixteenBaseVectorsOnOuterSquare = new ArrayList (16); + sixteenBaseVectorsOnOuterSquare.add(alphaCircleVectorsSixteen.get(0)); + sixteenBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(1), mid.x+radius, false)); + sixteenBaseVectorsOnOuterSquare.add(new PVector(mid.x+radius, mid.y-radius)); + sixteenBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(3), mid.y-radius, true)); + sixteenBaseVectorsOnOuterSquare.add(alphaCircleVectorsSixteen.get(4)); + sixteenBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(5), mid.y-radius, true)); + sixteenBaseVectorsOnOuterSquare.add(new PVector(mid.x-radius, mid.y-radius)); + sixteenBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(7), mid.x-radius, false)); + sixteenBaseVectorsOnOuterSquare.add(alphaCircleVectorsSixteen.get(8)); + sixteenBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(9), mid.x-radius, false)); + sixteenBaseVectorsOnOuterSquare.add(new PVector(mid.x-radius, mid.y+radius)); + sixteenBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(11), mid.y+radius, true)); + sixteenBaseVectorsOnOuterSquare.add(alphaCircleVectorsSixteen.get(12)); + sixteenBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(13), mid.y+radius, true)); + sixteenBaseVectorsOnOuterSquare.add(new PVector(mid.x+radius, mid.y+radius)); + sixteenBaseVectorsOnOuterSquare.add(getVectorOnExtendedLine(mid, alphaCircleVectorsSixteen.get(15), mid.x+radius, false)); } void createDividingLines(){ if(parts == 12){ - createLine(outerSquareVectors.get(0), outerSquareVectors.get(6)); - createLine(outerSquareVectors.get(1), outerSquareVectors.get(7)); - createLine(outerSquareVectors.get(2), outerSquareVectors.get(8)); - createLine(outerSquareVectors.get(3), outerSquareVectors.get(9)); - createLine(outerSquareVectors.get(4), outerSquareVectors.get(10)); - createLine(outerSquareVectors.get(5), outerSquareVectors.get(11)); + createLine(twelveBaseVectorsOnOuterSquare.get(0), twelveBaseVectorsOnOuterSquare.get(6)); + createLine(twelveBaseVectorsOnOuterSquare.get(1), twelveBaseVectorsOnOuterSquare.get(7)); + createLine(twelveBaseVectorsOnOuterSquare.get(2), twelveBaseVectorsOnOuterSquare.get(8)); + createLine(twelveBaseVectorsOnOuterSquare.get(3), twelveBaseVectorsOnOuterSquare.get(9)); + createLine(twelveBaseVectorsOnOuterSquare.get(4), twelveBaseVectorsOnOuterSquare.get(10)); + createLine(twelveBaseVectorsOnOuterSquare.get(5), twelveBaseVectorsOnOuterSquare.get(11)); }else if (parts == 16){ - createLine(outerSquareVectorsSixteen.get(0), outerSquareVectorsSixteen.get(8)); - createLine(outerSquareVectorsSixteen.get(1), outerSquareVectorsSixteen.get(9)); - createLine(outerSquareVectorsSixteen.get(2), outerSquareVectorsSixteen.get(10)); - createLine(outerSquareVectorsSixteen.get(3), outerSquareVectorsSixteen.get(11)); - createLine(outerSquareVectorsSixteen.get(4), outerSquareVectorsSixteen.get(12)); - createLine(outerSquareVectorsSixteen.get(5), outerSquareVectorsSixteen.get(13)); - createLine(outerSquareVectorsSixteen.get(6), outerSquareVectorsSixteen.get(14)); - createLine(outerSquareVectorsSixteen.get(7), outerSquareVectorsSixteen.get(15)); + createLine(sixteenBaseVectorsOnOuterSquare.get(0), sixteenBaseVectorsOnOuterSquare.get(8)); + createLine(sixteenBaseVectorsOnOuterSquare.get(1), sixteenBaseVectorsOnOuterSquare.get(9)); + createLine(sixteenBaseVectorsOnOuterSquare.get(2), sixteenBaseVectorsOnOuterSquare.get(10)); + createLine(sixteenBaseVectorsOnOuterSquare.get(3), sixteenBaseVectorsOnOuterSquare.get(11)); + createLine(sixteenBaseVectorsOnOuterSquare.get(4), sixteenBaseVectorsOnOuterSquare.get(12)); + createLine(sixteenBaseVectorsOnOuterSquare.get(5), sixteenBaseVectorsOnOuterSquare.get(13)); + createLine(sixteenBaseVectorsOnOuterSquare.get(6), sixteenBaseVectorsOnOuterSquare.get(14)); + createLine(sixteenBaseVectorsOnOuterSquare.get(7), sixteenBaseVectorsOnOuterSquare.get(15)); } } void createDividingConstructionLines(){ if(parts == 12){ - createLine(outerSquareVectors.get(0), outerSquareVectors.get(6)); - createLine(outerSquareVectors.get(1), outerSquareVectors.get(7)); - createLine(outerSquareVectors.get(2), outerSquareVectors.get(8)); - createLine(outerSquareVectors.get(3), outerSquareVectors.get(9)); - createLine(outerSquareVectors.get(4), outerSquareVectors.get(10)); - createLine(outerSquareVectors.get(5), outerSquareVectors.get(11)); + createLine(twelveBaseVectorsOnOuterSquare.get(0), twelveBaseVectorsOnOuterSquare.get(6)); + createLine(twelveBaseVectorsOnOuterSquare.get(1), twelveBaseVectorsOnOuterSquare.get(7)); + createLine(twelveBaseVectorsOnOuterSquare.get(2), twelveBaseVectorsOnOuterSquare.get(8)); + createLine(twelveBaseVectorsOnOuterSquare.get(3), twelveBaseVectorsOnOuterSquare.get(9)); + createLine(twelveBaseVectorsOnOuterSquare.get(4), twelveBaseVectorsOnOuterSquare.get(10)); + createLine(twelveBaseVectorsOnOuterSquare.get(5), twelveBaseVectorsOnOuterSquare.get(11)); }else if (parts == 16){ - createLine(outerSquareVectorsSixteen.get(0), outerSquareVectorsSixteen.get(8)); - createLine(outerSquareVectorsSixteen.get(1), outerSquareVectorsSixteen.get(9)); - createLine(outerSquareVectorsSixteen.get(2), outerSquareVectorsSixteen.get(10)); - createLine(outerSquareVectorsSixteen.get(3), outerSquareVectorsSixteen.get(11)); - createLine(outerSquareVectorsSixteen.get(4), outerSquareVectorsSixteen.get(12)); - createLine(outerSquareVectorsSixteen.get(5), outerSquareVectorsSixteen.get(13)); - createLine(outerSquareVectorsSixteen.get(6), outerSquareVectorsSixteen.get(14)); - createLine(outerSquareVectorsSixteen.get(7), outerSquareVectorsSixteen.get(15)); + createLine(sixteenBaseVectorsOnOuterSquare.get(0), sixteenBaseVectorsOnOuterSquare.get(8)); + createLine(sixteenBaseVectorsOnOuterSquare.get(1), sixteenBaseVectorsOnOuterSquare.get(9)); + createLine(sixteenBaseVectorsOnOuterSquare.get(2), sixteenBaseVectorsOnOuterSquare.get(10)); + createLine(sixteenBaseVectorsOnOuterSquare.get(3), sixteenBaseVectorsOnOuterSquare.get(11)); + createLine(sixteenBaseVectorsOnOuterSquare.get(4), sixteenBaseVectorsOnOuterSquare.get(12)); + createLine(sixteenBaseVectorsOnOuterSquare.get(5), sixteenBaseVectorsOnOuterSquare.get(13)); + createLine(sixteenBaseVectorsOnOuterSquare.get(6), sixteenBaseVectorsOnOuterSquare.get(14)); + createLine(sixteenBaseVectorsOnOuterSquare.get(7), sixteenBaseVectorsOnOuterSquare.get(15)); } } - void display() { - super.display(); - createOuterSquare(); - createDividingLines(); - } - void displayConstructionLines(){ super.displayConstructionLines(); + createOuterSquare(); createDiagonalConstructionLinesOnOuterSquare(); + createDividingLines(); if (parts == 16){ createInnerSquare(); createInnerSquareTilted(45); -- cgit v1.2.3-54-g00ecf