#!/usr/bin/env python from math import pi, sin, cos def hexagon_coords(theta, r): digits = 6 x = round(r * cos(theta), digits) y = round(r * sin(theta), digits) return (x, y) # For the key: run(15, (30,20)) def run(radius = 3.2, offset=(0,0)): angles = [n*2*pi/6 for n in range(0, 7)] for angle in angles: coords = tuple(map(sum, zip(hexagon_coords(angle, radius),offset))) print("(",coords[0]," ",coords[1],")",sep="",end=" ") print() def edgeMidpoint(radius, offset): return [(radius*cos(pi/6+i*pi/3)+offset[0],radius*sin(pi/6+i*pi/3)+offset[1]) for i in range(6)]