示例#1
0
def psets_vertices(pwa):
    vs = []
    for l in pwa.states:
        if l == synth.PWASystem.OUT: continue
        pset = pwa.eqs[l].pset
        cents = [centroid(p)[4:] for p in pset.components()]
        verts = [vrep_pts(p)[:,4:].tolist() for p in pset.components()]
        verts = [
            sorted(v,
                   key=lambda p: math.atan2(p[1]-cent[1],p[0]-cent[0]))
             for v, cent in zip(verts, cents)]
        vs.append(verts)

    return vs
示例#2
0
def centroid(m):
    return np.average(vrep_pts(m), axis=0).tolist()