class IGPHexagon extends IGPFamily{ IGPHexagon(float x, float y, float d){ super(x, y, d); setVectorsOnAlphaCircle(); setConstructionCircleCenters(); setVectorsOnConstructionCircles(); } void setConstructionCircleCenters(){ constructionCircleCenters = new ArrayList (4); constructionCircleCenters.add(alphaCircleVectors.get(0)); constructionCircleCenters.add(alphaCircleVectors.get(2)); constructionCircleCenters.add(alphaCircleVectors.get(4)); constructionCircleCenters.add(alphaCircleVectors.get(6)); constructionCircleCenters.add(alphaCircleVectors.get(8)); constructionCircleCenters.add(alphaCircleVectors.get(10)); } void setVectorsOnConstructionCircles(){ int amount = 12; twelveBaseVectorsOnOuterSquare = new ArrayList (12); // 0° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(0), 0)); // 30° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(1), 0)); // 60° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(1), 60)); // 90° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(1), 120)); // 120° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(2), 120)); // 150° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(3), 120)); // 180° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(3), 180)); // 210° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(4), 180)); // 240° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(4), 240)); // 270° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(4), 300)); // 300° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(5), 300)); // 330° twelveBaseVectorsOnOuterSquare.add(getVectorOnCircle(constructionCircleCenters.get(5), 0)); } void createDividingConstructionLines(int amount){ 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)); } void createDividingLines(int amount){ createLine(alphaCircleVectors.get(0), alphaCircleVectors.get(6)); createLine(alphaCircleVectors.get(1), alphaCircleVectors.get(7)); createLine(alphaCircleVectors.get(2), alphaCircleVectors.get(8)); createLine(alphaCircleVectors.get(3), alphaCircleVectors.get(9)); createLine(alphaCircleVectors.get(4), alphaCircleVectors.get(10)); createLine(alphaCircleVectors.get(5), alphaCircleVectors.get(11)); } void displayConstructionLines(){ super.displayConstructionLines(); createDividingLines(12); createInnerHexagon(); createDividingConstructionLines(12); } }