예제 #1
0
 def test_blocks(self):
     w,sx,sy = 1,4,4
     C = dbl.block('C',w,sx,sy)
     #self.plot(C,sx,sy)
     H = dbl.block('H',w,sx,sy)
     self.plot(H,sx,sy)
     I = dbl.block('I',w,sx,sy)
     self.plot(I,sx,sy)
예제 #2
0
 def atest_split(self):
     fp = dbl.block('H',10,25,25)
     rg = ptg.partitiongraph()
     bs = pym.bsegsxy(fp[0],vec3(0,-100,0),vec3(0,100,0))
     b = fp[0]
     i1 = rg.av(b = [b,[]],p = vec3(0,0,0).com(b),l = 0)
     i2 = rg.sv(0,bs[0],bs[1])
     rg.plotxy()
     plt.show()
예제 #3
0
 def atest_split(self):
     fp = dbl.block('H', 10, 25, 25)
     rg = ptg.partitiongraph()
     bs = pym.bsegsxy(fp[0], vec3(0, -100, 0), vec3(0, 100, 0))
     b = fp[0]
     i1 = rg.av(b=[b, []], p=vec3(0, 0, 0).com(b), l=0)
     i2 = rg.sv(0, bs[0], bs[1])
     rg.plotxy()
     plt.show()
예제 #4
0
 def atest_break(self):
     fp = dbl.block('H',10,25,25)
     v1 = {'b':fp,'p':vec3(0,0,0).com(fp[0]),'l':0}
     rg = ptg.partitiongraph()
     ip = vec3(0.5,0.5,0)
     i1 = rg.av(**v1)
     i2 = rg.bv(0,ip,vec3(1,0,0))
     i3 = rg.bv(0,ip,vec3(0,1,0))
     i4 = rg.bv(1,ip,vec3(0,1,0))
     rg.vves()
     rg.plotxy()
     plt.show()
예제 #5
0
 def atest_break(self):
     fp = dbl.block('H', 10, 25, 25)
     v1 = {'b': fp, 'p': vec3(0, 0, 0).com(fp[0]), 'l': 0}
     rg = ptg.partitiongraph()
     ip = vec3(0.5, 0.5, 0)
     i1 = rg.av(**v1)
     i2 = rg.bv(0, ip, vec3(1, 0, 0))
     i3 = rg.bv(0, ip, vec3(0, 1, 0))
     i4 = rg.bv(1, ip, vec3(0, 1, 0))
     rg.vves()
     rg.plotxy()
     plt.show()
예제 #6
0
    def test_av(self):
        fp = dbl.block('H',10,25,25)
        rg = ptg.partitiongraph()
        bs = pym.bsegsxy(fp[0],vec3(0,-100,0),vec3(0,100,0))
        for b in bs:
            i = rg.av(b = [b,[]],p = vec3(0,0,0).com(b),l = 0)

        rg.plotxy()
        plt.show()

        pg = rg.bgraph()
        pgpy = pg.polygon(1,'ccw')
        ax = pg.plotxy()
        #ax = dtl.plot_axes_xy(20)
        #ax = dtl.plot_polygon_full_xy(pgpy,ax,lw = 2)
        ax = dtl.plot_polygon_xy(pgpy[0],ax,lw = 2)
        for pgp in pgpy[1]:
            ax = dtl.plot_polygon_xy(pgp,ax,lw = 2)
        plt.show()
예제 #7
0
    def test_av(self):
        fp = dbl.block('H', 10, 25, 25)
        rg = ptg.partitiongraph()
        bs = pym.bsegsxy(fp[0], vec3(0, -100, 0), vec3(0, 100, 0))
        for b in bs:
            i = rg.av(b=[b, []], p=vec3(0, 0, 0).com(b), l=0)

        rg.plotxy()
        plt.show()

        pg = rg.bgraph()
        pgpy = pg.polygon(1, 'ccw')
        ax = pg.plotxy()
        #ax = dtl.plot_axes_xy(20)
        #ax = dtl.plot_polygon_full_xy(pgpy,ax,lw = 2)
        ax = dtl.plot_polygon_xy(pgpy[0], ax, lw=2)
        for pgp in pgpy[1]:
            ax = dtl.plot_polygon_xy(pgp, ax, lw=2)
        plt.show()
예제 #8
0
    def atest_bsegsxy(self):
        def pl(bs):
            ax = dtl.plot_axes_xy(10)
            ax = dtl.plot_polygon_xy(b,ax,col = 'g',lw = 2)
            ax = dtl.plot_edges_xy((s1,s2),ax,col = 'r',lw = 1)
            for bpy in bs:
                bpy = pym.contract(bpy,0.1)
                ax = dtl.plot_polygon_xy(bpy,ax,col = 'b',lw = 4)
            plt.show()

        b = vec3(0,0,0).pring(7,4)
        s1,s2 = vec3(0,-10,0),vec3(0,10,0)
        bs = pym.bsegsxy(b,s1,s2)
        #pl(bs)
        b = dbl.block('C',1,3,3)[0]
        s1,s2 = vec3(0,-10,0),vec3(0,10,0)
        bs = pym.bsegsxy(b,s1,s2)
        #pl(bs)

        print('H problem!!!')
예제 #9
0
    def atest_bsegsxy(self):
        def pl(bs):
            ax = dtl.plot_axes_xy(10)
            ax = dtl.plot_polygon_xy(b, ax, col='g', lw=2)
            ax = dtl.plot_edges_xy((s1, s2), ax, col='r', lw=1)
            for bpy in bs:
                bpy = pym.contract(bpy, 0.1)
                ax = dtl.plot_polygon_xy(bpy, ax, col='b', lw=4)
            plt.show()

        b = vec3(0, 0, 0).pring(7, 4)
        s1, s2 = vec3(0, -10, 0), vec3(0, 10, 0)
        bs = pym.bsegsxy(b, s1, s2)
        #pl(bs)
        b = dbl.block('C', 1, 3, 3)[0]
        s1, s2 = vec3(0, -10, 0), vec3(0, 10, 0)
        bs = pym.bsegsxy(b, s1, s2)
        #pl(bs)

        print('H problem!!!')
예제 #10
0
def splotch(g, subseq):
    irx, easement, splotchseq = subseq.split(',')
    irx, easement = int(irx), float(easement)
    print('SPLOTCH!', subseq, splotchseq)
    iv = g.vs[irx]
    fp = iv[1]['fp']

    xprj = vec3(1, 0, 0).prjps(fp)
    yprj = vec3(0, 1, 0).prjps(fp)
    xlen = xprj[1] - xprj[0]
    ylen = yprj[1] - yprj[0]
    rad = max(xlen, ylen) / 2.0

    #r1 = vec3(0,10,0).com(fp).sq(30,40)
    #r2 = vec3(-10,-20,0).com(fp).sq(20,40)
    #r3 = vec3(0,-10,0).com(fp).sq(50,30)
    #rs = [r1,r2,r3]

    #r = rs.pop(0)
    #while rs:r = pym.ebuxy(r,rs.pop(0))

    r = dbl.block('H', rad / 3.0, rad, rad)
    r = r[0]

    for j in range(3):
        r = pym.smoothxy(r, 0.1)

    #r = pym.ebixy(fp,r)
    l = fp

    nv = g.sv(irx, l, r)

    ax = dtl.plot_axes_xy(2 * rad)
    ax = dtl.plot_polygon_xy(fp, ax, lw=6, col=None)
    ax = dtl.plot_polygon_xy(r, ax, lw=4, col='b')
    ax = dtl.plot_polygon_xy(l, ax, lw=2, col='g')
    plt.show()

    return g
예제 #11
0
def splotch(g,subseq):
    irx,easement,splotchseq = subseq.split(',')
    irx,easement = int(irx),float(easement)
    print('SPLOTCH!',subseq,splotchseq)
    iv = g.vs[irx]
    fp = iv[1]['fp']

    xprj = vec3(1,0,0).prjps(fp)
    yprj = vec3(0,1,0).prjps(fp)
    xlen = xprj[1]-xprj[0]
    ylen = yprj[1]-yprj[0]
    rad = max(xlen,ylen)/2.0
    
    #r1 = vec3(0,10,0).com(fp).sq(30,40)
    #r2 = vec3(-10,-20,0).com(fp).sq(20,40)
    #r3 = vec3(0,-10,0).com(fp).sq(50,30)
    #rs = [r1,r2,r3]

    #r = rs.pop(0)
    #while rs:r = pym.ebuxy(r,rs.pop(0))

    r = dbl.block('H',rad/3.0,rad,rad)
    r = r[0]

    for j in range(3):r = pym.smoothxy(r,0.1)

    #r = pym.ebixy(fp,r)
    l = fp

    nv = g.sv(irx,l,r)

    ax = dtl.plot_axes_xy(2*rad)
    ax = dtl.plot_polygon_xy(fp,ax,lw = 6,col = None)
    ax = dtl.plot_polygon_xy(r,ax,lw = 4,col = 'b')
    ax = dtl.plot_polygon_xy(l,ax,lw = 2,col = 'g')
    plt.show()

    return g
예제 #12
0
    def atest_bgraph(self):
        fp = dbl.block('H',10,25,25)
        v1 = {'b':fp,'p':vec3(0,0,0).com(fp[0]),'l':0}
        rg = ptg.partitiongraph()
        ip = vec3(0.5,0.5,0)
        i1 = rg.av(**v1)
        #i2 = rg.bv(0,ip,vec3(1,0,0))
        i3 = rg.bv(0,ip,vec3(0,1,0))
        #i4 = rg.bv(1,ip,vec3(0,1,0))
        rg.vves()

        pg = rg.bgraph()

        #pdb.set_trace()

        pgpy = pg.polygon(1,'ccw')
        ax = pg.plotxy()
        #ax = dtl.plot_axes_xy(20)
        #ax = dtl.plot_polygon_full_xy(pgpy,ax,lw = 2)
        ax = dtl.plot_polygon_xy(pgpy[0],ax,lw = 2)
        for pgp in pgpy[1]:
            ax = dtl.plot_polygon_xy(pgp,ax,lw = 2)
        plt.show()
예제 #13
0
    def atest_bgraph(self):
        fp = dbl.block('H', 10, 25, 25)
        v1 = {'b': fp, 'p': vec3(0, 0, 0).com(fp[0]), 'l': 0}
        rg = ptg.partitiongraph()
        ip = vec3(0.5, 0.5, 0)
        i1 = rg.av(**v1)
        #i2 = rg.bv(0,ip,vec3(1,0,0))
        i3 = rg.bv(0, ip, vec3(0, 1, 0))
        #i4 = rg.bv(1,ip,vec3(0,1,0))
        rg.vves()

        pg = rg.bgraph()

        #pdb.set_trace()

        pgpy = pg.polygon(1, 'ccw')
        ax = pg.plotxy()
        #ax = dtl.plot_axes_xy(20)
        #ax = dtl.plot_polygon_full_xy(pgpy,ax,lw = 2)
        ax = dtl.plot_polygon_xy(pgpy[0], ax, lw=2)
        for pgp in pgpy[1]:
            ax = dtl.plot_polygon_xy(pgp, ax, lw=2)
        plt.show()