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' )
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) )
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))
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))
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))
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) )
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) )
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)
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 )
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' )
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')
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')
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' )
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')
# 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
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
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' )