예제 #1
0
파일: sandbox.py 프로젝트: bl0b/mygothings
def compute_vs(g):
    vs = g.vspace()
    sqrtsz = (g.size**.5)-1
    polynom = lambda x: x<=sqrtsz and .1**(sqrtsz-x) or 1./(1.+(x-sqrtsz))
    ll=[(l, direction(s.n2o(l), grp.color)) for grp in g.groups for s in grp for l in s.liberties]
    for x in xrange(2):
        #print ll
        for i, d in ll:
            h = (i.heightx+i.heighty)*.5
            vs[i] = vs[i]+d*polynom(h)
        ll = [ (n, d) for i, d in ll for n in i.o2n(d.value) if n.color is None ]
    return vs
예제 #2
0
파일: grid.py 프로젝트: bl0b/mygothings
 def vspace(self):
     return dict(((i, direction()) for i in self.intersections.values()))
예제 #3
0
파일: sandbox.py 프로젝트: bl0b/mygothings
def clean_vs(g):
    vs = g.vspace()
    v2 = compute_vs(g)
    for k in xrange(2):
        for i in vs:
            vs[i]=v2[i]
        for i in v2:
            v2[i] = reduce(direction.__add__, (vs[n]/2 for n in i.neighbours if n.color is None), direction())
    return v2