In [5]:
import math
%pylab inline
In [30]:
def createhex(xoff=1,yoff=1):
A = (math.cos(math.radians(30)), math.sin(math.radians(30)))
B = (math.cos(math.radians(90)), sin(math.radians(90)))
C = (math.cos(math.radians(150)), sin(math.radians(150)))
D = (math.cos(math.radians(210)), sin(math.radians(210)))
E = (math.cos(math.radians(270)), sin(math.radians(270)))
F = (math.cos(math.radians(330)), sin(math.radians(330)))
G = (math.cos(math.radians(30)), math.sin(math.radians(30)))
x,y = zip(A,B,C,D,E,F,G)
x = [i + xoff for i in x]
y = [i + yoff for i in y]
return x,y
In [52]:
figsize(8,8)
xoffset = math.cos(math.radians(30))
yoffset = math.sin(math.radians(30))
for i in range(20):
for j in range(20):
xoff = j * xoffset * 2
if i % 2 != 0:
xoff += xoffset
yoff = i * yoffset * 3
x,y = createhex(xoff, yoff)
plt.plot(x,y)
In [61]:
def createoct(xoff=1,yoff=1):
A = (math.cos(math.radians(45)), math.sin(math.radians(45)))
B = (math.cos(math.radians(90)), sin(math.radians(90)))
C = (math.cos(math.radians(135)), sin(math.radians(135)))
D = (math.cos(math.radians(180)), sin(math.radians(180)))
E = (math.cos(math.radians(225)), sin(math.radians(225)))
F = (math.cos(math.radians(270)), sin(math.radians(270)))
G = (math.cos(math.radians(315)), sin(math.radians(315)))
H = (math.cos(math.radians(360)), sin(math.radians(360)))
I = (math.cos(math.radians(45)), math.sin(math.radians(45)))
x,y = zip(A,B,C,D,E,F,G,H,I)
x = [i + xoff for i in x]
y = [i + yoff for i in y]
return x,y
In [62]:
x, y = createoct()
plt.plot(x,y)
Out[62]:
In [110]:
figsize(8,8)
xoffset = math.cos(math.radians(45))
yoffset = math.sin(math.radians(45))
for i in range(5):
for j in range(2):
xoff = j * 2
if i % 2 != 0:
xoff += xoffset
yoff = i * 1.75
x,y = createoct(xoff, yoff)
plt.plot(x,y)
In [ ]: