def shapePoints(self): a = ArrayOfHexagons() a.setRadius(40) a.addHexagon(0, 0) a.populate(2) h = Shape() h.loadFromFile('sampleTiles/hexagon.tile') b = Shape() b.loadFromFile('sampleTiles/smallBend.tile') s = Shape() s.loadFromFile('sampleTiles/simple.tile') t = Shape() t.loadFromFile('sampleTiles/triangle.tile') c = Shape() c.loadFromFile('sampleTiles/cross.tile') p = Shape() p.loadFromFile('sampleTiles/prang.tile') ss = Shape() ss.loadFromFile('sampleTiles/singleSide.tile') shapes = ShapeManager(h, b, s) a.hexagon(-2,0).addShape(h) a.hexagon(0,0).addShape(b) #a.hexagon(0,0).shape().rotate(5) a.hexagon(-1,-1).addShape(b) a.hexagon(-1,-1).shape().rotate(3) a.hexagon(2,0).addShape(h) a.hexagon(1,1).addShape(c) a.hexagon(4,0).addShape(p) a.hexagon(1,-1).addShape(p) a.hexagon(1,-1).shape().rotate(5) a.hexagon(-1,1).addShape(ss) svg = SvgWriter() svg.offset(200,200) svg.rotate(0) for coordinates in a: svg.addHexagon(a.hexagon(coordinates[0], coordinates[1])) svg.write('hexagons.svg') print 'Done'
def illustrateProblem(self): a = ArrayOfHexagons() a.setRadius(40) a.addHexagon(0, 0) a.populate(6) h = Shape() h.loadFromFile('sampleTiles/hexagon.tile') b = Shape() b.loadFromFile('sampleTiles/smallBend.tile') s = Shape() s.loadFromFile('sampleTiles/simple.tile') t = Shape() t.loadFromFile('sampleTiles/triangle.tile') c = Shape() c.loadFromFile('sampleTiles/cross.tile') p = Shape() p.loadFromFile('sampleTiles/prang.tile') ss = Shape() ss.loadFromFile('sampleTiles/singleSide.tile') a.hexagon(-12,0).addShape(h) a.hexagon(-8,0).addShape(b) a.hexagon(-4,0).addShape(s) a.hexagon(0,0).addShape(t) a.hexagon(4,0).addShape(c) a.hexagon(8,0).addShape(p) a.hexagon(12,0).addShape(ss) svg = SvgWriter() svg.offset(400,400) for coordinates in a: svg.addHexagon(a.hexagon(coordinates[0], coordinates[1])) svg.write('hexagons.svg')
def everything(self): '''do some tests''' t1=time.time() a = ArrayOfHexagons() a.setRadius(25) a.addHexagon(0, 0) a.populate(6) #print a.hexagon(1, 1).distanceFrom(0, 0) #print a.hexagon(-2, 0).distanceFrom(0, 0) h = Shape() h.loadFromFile('sampleTiles/hexagon.tile') b = Shape() b.loadFromFile('sampleTiles/smallBend.tile') s = Shape() s.loadFromFile('sampleTiles/simple.tile') shapes = ShapeManager(h, b, s) #for i in shapes: # print i #print shapes #a.hexagon(-1,-1).addShape(h) a.hexagon(1,1).addShape(h) a.hexagon(0,0).addShape(s) #a.hexagon(-2,0).addShape(b) a.hexagon(0,0).shape().rotate(4) #a.printArray() svg = SvgWriter() svg.offset(400,400) svg.rotate(0) for coordinates in a: svg.addHexagon(a.hexagon(coordinates[0], coordinates[1])) svg.write('hexagons.svg') #print shape #shape.rotate(6) #print shape #sr = ShapeFitter(('a', '-', '-', '-', '-', '-'), ('+', '+', '+', 'A', '+', '+')) sr = ShapeFitter(a.hexagon(0,0).shape().sides(), a.gapEdges(0, 0)) print 'need to rotate', sr.fit(), 'times' #print a.gapEdges(0, 0) t2=time.time() print 'time taken', t2-t1