Example #1
0
def to_ipe( *args, **kargs ):
    #from math import *
    #al, th = drawgl.gl.alpha * pi / 180, drawgl.gl.theta * pi / 180
    #als = ( al, -al, al + pi / 2, al - pi / 2 )
    #ths = ( th, -th, th + pi / 2, th - pi / 2 )
    #for ai, al in enumerate( als ):
    #    for ti, th in enumerate( ths ):
    #        drawipe.setup( al, th, drawgl.gl.dist )
    #        drawipe.clear()
    #        drawipe.group()
    #        drawipe( v1, style = 'line' )
    #        drawipe( v2, style = 'line' )
    #        drawipe( v3, style = 'line' )
    #        drawipe.save( '/tmp/out_%s_%s.ipe' % ( ai, ti ) )
            
    #for i in xrange( 1,9 ):
    #    getattr( drawipe, 'setup_drawgl' + str( i ) )( drawgl )
    #    drawipe.clear()
    #    drawipe.group()
    #    drawipe( vo )
    #    drawipe.save( '/tmp/out%s.ipe' % i )

    drawipe.setup_drawgl( drawgl )
    drawipe.clear()
    drawipe.group()
    drawipe( vo )
    drawipe.save( '/tmp/out.ipe' )
Example #2
0
def to_ipe( *args ):
    drawipe.group()  ## make new group
    drawipe( vo3 )
    vn = edg.norm()
    pln = vn.to_plane( vn * dr * n )
    drawipe.setup_plane( pln, 10 )

    for p in pln.touch( vo3.has( ds1 ) ):
        drawipe( p, color=(0,1,0) )

    for p in pln.touch( vo3.has( ds2 ) ):
        drawipe( p, r=0.04, color=(1,0,0) )
Example #3
0
def to_ipe(*args):
    drawipe.group()  ## make new group
    drawipe(vo3)
    vn = edg.norm()
    pln = vn.to_plane(vn * dr * n)
    drawipe.setup_plane(pln, 10)

    for p in pln.touch(vo3.has(ds1)):
        drawipe(p, color=(0, 1, 0))

    for p in pln.touch(vo3.has(ds2)):
        drawipe(p, r=0.04, color=(1, 0, 0))
Example #4
0
def to_ipe2(*args):
    global va
    v = va.norm()
    p = v.to_plane(va)

    drawipe.group()  ## make new group
    drawipe(vo_h)
    drawipe.setup_plane(p, 10)

    for x in vo_h.has(ds1_h):
        drawipe(x, r=0.04, color=(1, 0, 0))

    for x in vo_h.has(ds2_h):
        drawipe(x, color=(0, 1, 0))
Example #5
0
def to_ipe(*args):
    global vc, pos, delta
    v = vc.norm() * delta * pos
    p = vc.to_plane(v)

    drawipe.group()  ## make new group
    drawipe(vo_h)
    drawipe.setup_plane(p, 10)

    for x in p.touch(ds1_h):
        drawipe(x, r=0.04, color=(1, 0, 0))

    for x in p.touch(ds2_h):
        drawipe(x, color=(0, 1, 0))
Example #6
0
def to_ipe2( *args ):
    global va
    v = va.norm()
    p = v.to_plane( va )

    drawipe.group()  ## make new group
    drawipe( vo_h )
    drawipe.setup_plane( p, 10 )

    for x in vo_h.has( ds1_h ):
        drawipe( x, r=0.04, color=(1,0,0) )

    for x in vo_h.has( ds2_h ):
        drawipe( x, color=(0,1,0) )
Example #7
0
def to_ipe( *args ):
    global vc, pos, delta
    v = vc.norm() * delta * pos
    p = vc.to_plane( v )

    drawipe.group()  ## make new group
    drawipe( vo_h )
    drawipe.setup_plane( p, 10 )

    for x in p.touch( ds1_h ):
        drawipe( x, r=0.04, color=(1,0,0) )

    for x in p.touch( ds2_h ):
        drawipe( x, color=(0,1,0) )
Example #8
0
def to_ipe2(*args):
    v = vo3.rep[0] + vo3.rep[1]
    v = v.norm()
    pln = v.to_plane(v * 2)

    drawgl(v * 2, style="line")

    drawipe.setup_plane(pln, 10)

    for p in vo3.has(ds1):
        drawipe(p, color=(0, 1, 0))

    for p in vo3.has(ds2):
        drawipe(p, r=0.04, color=(1, 0, 0))

    drawipe(vo3)
Example #9
0
def to_ipe2( *args ):
    v = vo3.rep[0] + vo3.rep[1]
    v = v.norm()
    pln = v.to_plane( v * 2 )

    drawgl( v * 2, style="line" )

    drawipe.setup_plane( pln, 10 )

    for p in vo3.has( ds1 ):
        drawipe( p, color=(0,1,0) )

    for p in vo3.has( ds2 ):
        drawipe( p, r=0.04, color=(1,0,0) )

    drawipe( vo3 )
Example #10
0
def view2ipe( *args ):
    import math
    drawipe.clear()

    for v in ucm.atoms['A']:
        drawipe( v )

    for v in ucm.atoms['B']:
        drawipe( v, r = 0.1, color = (1,0,0) )

    for v in ucm.rep:
        drawipe( v, style = 'line', color = (0,1,0) )

    drawipe.ortho = True
    drawipe.th   = drawgl.gl.theta * math.pi / 180
    drawipe.al   = drawgl.gl.alpha * math.pi / 180
    drawipe.dist = drawgl.gl.dist
    drawipe.save( '/tmp/sheme.ipe' )
Example #11
0
def view2ipe(*args):
    import math
    drawipe.clear()

    for v in ucm.atoms['A']:
        drawipe(v)

    for v in ucm.atoms['B']:
        drawipe(v, r=0.1, color=(1, 0, 0))

    for v in ucm.rep:
        drawipe(v, style='line', color=(0, 1, 0))

    drawipe.ortho = True
    drawipe.th = drawgl.gl.theta * math.pi / 180
    drawipe.al = drawgl.gl.alpha * math.pi / 180
    drawipe.dist = drawgl.gl.dist
    drawipe.save('/tmp/sheme.ipe')
Example #12
0
def to_ipe(*args):
    #global num, r0, dr

    for num in xrange(-9, 1):
        drawipe.clear()
        pln = n.to_plane(r0 + num * dr)
        drawipe.setup_plane(pln, 10)

        for p in pln.touch(vhex.has(ds1)):
            drawipe(p, r=0.02, color=(0, 1, 0))

        for p in pln.touch(vhex.has(ds2)):
            drawipe(p, r=0.04, color=(1, 0, 0))

        drawipe(vhex)
        #drawipe( vo21 )
        #drawipe( vo22 )
        drawipe.save('/tmp/%s.ipe' % abs(num))

    drawipe.clear()
    drawipe.setup_plane(pln, 10)
    import math
    drawipe.th -= math.pi / 2
    drawipe(vhex)
    for p in vhex.has(ds1):
        drawipe(p, r=0.02, color=(0, 1, 0))

    for p in vhex.has(ds2):
        drawipe(p, r=0.04, color=(1, 0, 0))
    drawipe.save('/tmp/sheme.ipe')
Example #13
0
def to_ipe( *args ):
    #global num, r0, dr

    for num in xrange( -9, 1 ):
        drawipe.clear()
        pln = n.to_plane( r0 + num * dr )
        drawipe.setup_plane( pln, 10 )

        for p in pln.touch( vhex.has( ds1 ) ):
            drawipe( p, r=0.02, color = (0,1,0) )

        for p in pln.touch( vhex.has( ds2 ) ):
            drawipe( p, r=0.04, color = (1,0,0) )

        drawipe( vhex )
        #drawipe( vo21 )
        #drawipe( vo22 )
        drawipe.save( '/tmp/%s.ipe' % abs( num ) )

    drawipe.clear()
    drawipe.setup_plane( pln, 10 )
    import math
    drawipe.th -= math.pi / 2
    drawipe( vhex )
    for p in vhex.has( ds1 ):
        drawipe( p, r=0.02, color = (0,1,0) )

    for p in vhex.has( ds2 ):
        drawipe( p, r=0.04, color = (1,0,0) )
    drawipe.save( '/tmp/sheme.ipe' )
Example #14
0
from vec import *
from mat import *
from zell import *
from voron import *
from reper import *

import zell2reper

## drawing
import vec_gl
import voron_gl
from draw_gl import drawgl
from draw_ipe import drawipe

r = Zell(-1, -0, -1, -1, -2, -1).to_reper()
print r
vo = Voron(*r)
drawgl(vo)
drawgl.start()

drawipe.setup(0, 0.2, 30)

for x in xrange(5 + 1):
    r = Zell(-1, -0, -1, -1, -2 + 0.4 * x, -1).to_reper()
    print r
    vo = Voron(*r)
    drawipe.group()  ## add each dirichlet cell to new group
    drawipe(vo)

drawipe.save('/tmp/Q2_to_K3.ipe')
Example #15
0
#            Vec( 0.0, 0.5, 0.5 ) )
print 'sort of sublattice -', sr.to_zell().to_sort()

## build & draw Voronoi polyhedra
print '-----------------'
print 'parameters a,b,c=', a,b,c
print 'parameter as=', sub_a
print 'translateional matrix:', m.inv()
print 'invert translateional matrix:', m
print 'lattice reper', r
print 'sublattice reper', sr
vo  = Voron( *r )
vos = Voron( *sr )
drawgl( vo )
drawgl( vos )
drawipe( vo )
drawipe( vos )

drawgl( sr[ 0 ], style = 'line' )
drawgl( sr[ 1 ], style = 'line' )
drawgl( sr[ 2 ], style = 'line' )

## additional testing for conversion of cubic sublattice to volume-centered...
m_vc = Mat( 1.0, 0.0, 0.0,
            0.0, 1.0, 0.0,
            0.5, 0.5, 0.5 )

print mv * m_vc.inv()


## button for output camera angles and distance
Example #16
0
sr = Reper(sv1, sv2, sv3)
print 'sort of sublattice -', sr.to_zell().to_sort()

## build & draw Voronoi polyhedra
print '-----------------'
print 'parameters a,b,c=', a, b, c
print 'parameter as=', sub_a
print 'translateional matrix:', m.inv()
print 'invert translateional matrix:', m
print 'lattice reper', r
print 'sublattice reper', sr
vo = Voron(*r)
vos = Voron(*sr)
drawgl(vo)
drawgl(vos)
drawipe(vo)
drawipe(vos)

drawgl(sr[0], style='line')
drawgl(sr[1], style='line')
drawgl(sr[2], style='line')


## button for output camera angles and distance
def pinfo(some):
    print drawgl.gl.alpha, drawgl.gl.theta, drawgl.gl.dist


drawgl.button('camera info', pinfo)

## save picture to ipe file
Example #17
0
from zell  import *
from voron import *
from reper import *

import zell2reper

## drawing
import vec_gl
import voron_gl
from draw_gl import drawgl
from draw_ipe import drawipe


r = Zell( -1, -0, -1, -1, -2, -1 ).to_reper()
print r
vo = Voron( *r )
drawgl( vo )
drawgl.start()


drawipe.setup( 0, 0.2, 30 )

for x in xrange( 5 + 1 ):
    r = Zell( -1, -0, -1, -1, -2 + 0.4 * x, -1 ).to_reper()
    print r
    vo = Voron( *r )
    drawipe.group()   ## add each dirichlet cell to new group
    drawipe( vo )

drawipe.save( '/tmp/Q2_to_K3.ipe' )