Ejemplo n.º 1
0
def evalmeancrvs(srf, numeronly, hmin, hmax, hstep):
    h = irit.smean(srf, numeronly)
    irit.printf("h spans from %f to %f\n", irit.bbox(h))
    meancntrs = irit.nil()
    x = hmin
    while (x <= hmax):
        aaa = irit.contour(h, irit.plane(1, 0, 0, (-x)), srf)
        if (irit.IsNullObject(aaa)):
            aaa = 0
        else:
            irit.snoc(aaa, meancntrs)
        x = x + hstep
    irit.color(meancntrs, irit.YELLOW)
    minimal = irit.contour(h, irit.plane(1, 0, 0, 0.0001), srf)
    if (irit.ThisObject(minimal) == irit.POLY_TYPE):
        irit.color(minimal, irit.GREEN)
        irit.adwidth(minimal, 2)
        retval = irit.list(meancntrs, minimal)
    else:
        retval = meancntrs
    return retval
Ejemplo n.º 2
0
def evalgaussiancrvs(srf, numeronly, kmin, kmax, kstep):
    k = irit.sgauss(srf, numeronly)
    irit.printf("k spans from %f to %f\n", irit.bbox(k))
    gausscntrs = irit.nil()
    x = kmin
    while (x >= kmax):
        aaa = irit.plane(1, 0, 0, (-x))
        bbb = irit.contour(k, aaa, srf)
        irit.snoc(bbb, gausscntrs)
        x = x + kstep
    irit.color(gausscntrs, irit.MAGENTA)
    parabolic = irit.sparabolc(srf, 1)
    if (irit.ThisObject(parabolic) == irit.POLY_TYPE):
        irit.color(parabolic, irit.RED)
        irit.adwidth(parabolic, 2)
        retval = irit.list(parabolic, gausscntrs)
    else:
        retval = gausscntrs
    return retval
Ejemplo n.º 3
0
    irit.rrinter(irit.cmesh(r1, irit.ROW, 0), irit.cmesh(r1, irit.ROW, 1),
                 irit.cmesh(r2, irit.ROW, 0), irit.cmesh(r2, irit.ROW, 1), 10,
                 0), 1)

irit.color(c, irit.RED)
irit.adwidth(c, 3)

irit.interact(irit.list(r1, r2, c))

zerosetsrf = irit.rrinter(irit.cmesh(r1, irit.ROW, 0),
                          irit.cmesh(r1, irit.ROW, 1),
                          irit.cmesh(r2, irit.ROW, 0),
                          irit.cmesh(r2, irit.ROW, 1), 10, 1)
zerosetsrfe3 = irit.coerce(zerosetsrf, irit.E3) * irit.rotx((-90)) * irit.roty(
    (-90)) * irit.sz(0.1)
zeroset = irit.contour(zerosetsrfe3, irit.plane(0, 0, 1, 1e-005))
irit.color(zeroset, irit.RED)
irit.adwidth(zeroset, 3)

irit.interact(irit.list(irit.GetAxes(), zerosetsrfe3, zeroset))

# ############################################################################
#
#  Case 2
#

c1 = irit.cbezier( irit.list( irit.ctlpt( irit.E3, (-1 ), 0, (-1 ) ), \
                              irit.ctlpt( irit.E3, 0, 1, (-1 ) ), \
                              irit.ctlpt( irit.E3, 0.3, 0, (-1 ) ), \
                              irit.ctlpt( irit.E3, 1, 0, (-1 ) ) ) )
Ejemplo n.º 4
0
# ############################################################################

irit.SetResolution(50)
view_mat1 = irit.GetViewMatrix() * irit.sc(0.9)

x = irit.sphere((0, 0, 0), 1)
irit.color(x, irit.RED)
irit.view(irit.list(view_mat1, irit.GetAxes(), x), irit.ON)

allcntrs = irit.nil()

l = (-0.95)
while (l <= 0.99):
    c = irit.contour(
        x, irit.plane(1 / math.sqrt(3), 1 / math.sqrt(3), 1 / math.sqrt(3), l))
    irit.viewobj(c)
    irit.milisleep(50)
    irit.snoc(c * irit.tx(0), allcntrs)
    l = l + 0.1
irit.interact(irit.list(irit.GetAxes(), x, allcntrs))

# ############
view_mat1 = irit.GetViewMatrix() * irit.sc(0.7)

x = irit.torus((0, 0, 0), (0, 0, 1), 1, 0.3)
irit.color(x, irit.RED)
irit.view(irit.list(view_mat1, irit.GetAxes(), x), irit.ON)

allcntrs = irit.nil()
l = (-1.05)
Ejemplo n.º 5
0
irit.attrib( c1, "width", irit.GenRealObject(0.007 ))
irit.color( c2, irit.YELLOW )
irit.attrib( c2, "dwidth", irit.GenRealObject(2 ))
irit.attrib( c2, "width", irit.GenRealObject(0.007 ))

bisectsrf = irit.cbisector2d( irit.list( c1, c2 ), 1, 1, 20, 1, 0 )
bisectsrfe3 = irit.coerce( bisectsrf, irit.E3 ) * \
			  irit.rotx( (-90 ) ) * \
			  irit.roty( (-90 ) ) * \
			  irit.sz( 0.1 )

irit.color( bisectsrfe3, irit.GREEN )
irit.attrib( bisectsrfe3, "width", irit.GenRealObject(0.005 ))

irit.SetResolution(  60)
cntrs = irit.contour( bisectsrfe3, irit.plane( 0, 0, 1, 1e-008 ) )
irit.adwidth( cntrs, 2 )
irit.attrib( cntrs, "width", irit.GenRealObject(0.015 ))

irit.interact( irit.list( bisectsrfe3, pl, cntrs, view_mat3d ) )

bisectcrvs = irit.cbisector2d( irit.list( c1, c2 ), 0, 1, 30, 1,\
0 )
irit.attrib( bisectcrvs, "dwidth", irit.GenRealObject(4 ))
irit.attrib( bisectcrvs, "width", irit.GenRealObject(0.012 ))
irit.attrib( bisectcrvs, "gray", irit.GenRealObject(0.5 ))
irit.color( bisectcrvs, irit.GREEN )

all = irit.list( c1, c2, bisectcrvs )
irit.interact( irit.list( all, view_mat2d ) )
irit.free( all )
Ejemplo n.º 6
0
s1 = irit.cylinsrf( 4, 1 ) * irit.tz( (-2 ) )
irit.color( s1, irit.RED )
c1 = irit.cbezier( irit.list( irit.ctlpt( irit.E3, 0, 0, (-1 ) ), \
                              irit.ctlpt( irit.E3, 0, 0, 1 ) ) )
r1 = irit.cbezier( irit.list( irit.ctlpt( irit.E1, 1 ) ) )

s2 = irit.cylinsrf( 4, 1 ) * irit.tz( (-2 ) ) * irit.rx( 90 ) * irit.tx( 0.5 )
irit.color( s2, irit.MAGENTA )
c2 = irit.cbezier( irit.list( irit.ctlpt( irit.E3, 0.5, (-1 ), 0 ), \
                              irit.ctlpt( irit.E3, 0.5, 1, 0 ) ) )
r2 = irit.cbezier( irit.list( irit.ctlpt( irit.E1, 1 ) ) )

zerosetsrf = irit.coerce( irit.gginter( c1, r1, c2, r2, 10, 1 ),\
irit.E3 ) * irit.rotx( (-90 ) ) * irit.roty( (-90 ) )
irit.SetResolution(  100)
zeroset = irit.contour( zerosetsrf, irit.plane( 0, 0, 1, 0 ) )
irit.color( zeroset, irit.GREEN )
irit.adwidth( zeroset, 3 )
irit.interact( irit.list( zerosetsrf * irit.sz( 0.1 ), zeroset, irit.GetAxes() ) * irit.sc( 3 ) )

c = irit.nth( irit.gginter( c1, r1, c2, r2, 100, 0 ),\
1 )
irit.interact( irit.list( s1, s2, c ) )

irit.save( "rngrng1", irit.list( zerosetsrf, s1, s2, c ) )


a = 0.9
while ( a >= 0.05 ):
    s2 = irit.cylinsrf( 4, 1 ) * irit.tz( (-2 ) ) * irit.rx( 90 ) * irit.tx( a )
    irit.color( s2, irit.MAGENTA )
Ejemplo n.º 7
0
#  Two quadratic curves
#
c1 = irit.cbezier( irit.list( irit.ctlpt( irit.E2, (-0.5 ), 0.1 ), \
                              irit.ctlpt( irit.E2, 0, 0.3 ), \
                              irit.ctlpt( irit.E2, 0.5, 0.7 ) ) )
c2 = irit.coerce(c1 * irit.sy((-1)), irit.E2)
irit.color(c1, irit.YELLOW)
irit.color(c2, irit.YELLOW)
irit.adwidth(c1, 3)
irit.adwidth(c2, 3)

bisectsrf = irit.cbisector3d(irit.list(c1, c2), 4)
irit.color(bisectsrf, irit.RED)

irit.SetResolution(25)
bisectcrv = irit.contour(bisectsrf, irit.plane(0, 0, 1, epsilon))
irit.color(bisectcrv, irit.GREEN)
irit.adwidth(bisectcrv, 3)

irit.interact(irit.list(c1, c2, bisectcrv, bisectsrf))

# ############################################################################
#
#  Two quadratic curves
#
c1 = irit.cbezier( irit.list( irit.ctlpt( irit.E2, (-0.5 ), 0.5 ), \
                              irit.ctlpt( irit.E2, 0, 0.3 ), \
                              irit.ctlpt( irit.E2, 0.5, 0.7 ) ) )
c2 = irit.coerce(c1 * irit.sy((-1)), irit.E2)
irit.color(c1, irit.YELLOW)
irit.color(c2, irit.YELLOW)
Ejemplo n.º 8
0
t2 = irit.cylin(((-1), 0, 0), (2, 0, 0), 0.15, 3)
t3 = irit.cylin((0, (-1), 0), (0, 2, 0), 0.15, 3)
irit.view(irit.list(t2, t3), irit.OFF)

s1 = (t1 - t2 - t3)
irit.free(t1)
irit.free(t2)
irit.free(t3)

final = irit.convex(s1)
irit.free(s1)

irit.interact(final)

pls = irit.planeclip(final,
                     irit.Fetch4TupleObject(irit.plane(1, (-1.23456), 0, 0)))
irit.free(final)

plfront = irit.nth(pls, 1)
irit.color(plfront, irit.MAGENTA)
plinter = irit.nth(pls, 2)
irit.color(plinter, irit.YELLOW)
irit.adwidth(plinter, 3)
plback = irit.nth(pls, 3)
irit.color(plback, irit.RED)
pls = irit.list(plfront, plback, plinter)

irit.interact(pls)

irit.save("solid6", pls)
irit.free(pls)
Ejemplo n.º 9
0
import irit
#


# 
#  Some tests to the COORD and COERCE commands.
# 
results = irit.nil(  )

a =  ( float(1), 2, 3 )
irit.snoc(  irit.point(a[0], a[1], a[2] ), results )

a = ( 4, 5, 6 )
irit.snoc( irit.vector( a[0], a[1], a[2] ), results )

a = irit.plane( 10, 11, 12, 13 )
irit.snoc( irit.plane( irit.FetchRealObject(irit.coord( a, 0 )), irit.FetchRealObject(irit.coord( a, 1 )), irit.FetchRealObject(irit.coord( a, 2 )), irit.FetchRealObject(irit.coord( a, 3 )) ), results )

# 
#  On lists, it does what NTH is doing.
# 
a = irit.list( 11, 12.5, math.pi )
irit.snoc( irit.coord( a, 3 ), results )

# 
#  On a matrix, it extract a single number (out of 4 by 4 = 16)
# 
m = irit.rotx( 30 ) * irit.tx( 10 ) * irit.sc( 0.7 )
irit.snoc( m, results )
irit.snoc( irit.coord( m, 0 ), results )
irit.snoc( irit.coord( m, 2 ), results )
Ejemplo n.º 10
0
#
#  Ask all clients to send mouse/cursor events to the server.
#
irit.clntpickcrsr(irit.CLIENTS_ALL)

#
#  Ask the server to keep mouse/cursor events to be read view ClntCrsr.
#
crsrkeep = irit.iritstate("cursorkeep", irit.GenIntObject(1))

#
#  Some examples of menus...   Uses Button 1 (left button).
#
quit = 0
xyplane = irit.plane(0, 0, 1, 0)
crv = irit.circle((0, 0, 0), 1) * irit.sx(0.5) * irit.rx(40) * irit.rz(44)
irit.color(crv, irit.RED)
srf = irit.swpcircsrf(irit.circle((0, 0, 0), 0.7), 0.2, 0)
irit.color(srf, irit.GREEN)
menu = menugengeometry( irit.list( "quit", "draw crv", "draw srf", "draw all", "ctl mesh" ), 0.7,\
0.5, 0.5, 0.95, 0.95 )
irit.color(menu, irit.WHITE)
irit.view(irit.list(menu, crv, srf), irit.ON)
#  Handle only button 1 down events:
while (quit == 0):
    c = irit.clntcrsr(60000)
    if (irit.SizeOf(c) == 0):
        irit.printf("time out in input (one minute wait)\n", irit.nil())
        quit = 1
    else:
Ejemplo n.º 11
0
#
import math
import irit
#


# 
#  Simple examples for the capability of the PRINTF command.
# 
dlevel = irit.iritstate( "dumplevel", irit.GenRealObject(23))
irit.printf( "this is a line.\n", irit.nil(  ) )
irit.printf( "this is a string %s.\n", irit.list( "\"STRING\"" ) )
irit.printf( "this is an integer %-8d, %u, %3o, %05x\n", irit.list( math.pi * 1000, math.pi * 1000, math.pi * 1000, math.pi * 1000 ) )
irit.printf( "this is a float %lf %8.2lg %9.5e\n", irit.list( math.pi, math.pi, math.pi ) )
irit.printf( "this is a vector [%8.5lvf], [%5.2lvg]\n", irit.list( ( 1, 2, 3 ), ( 1, 2, 3 ) ) )
irit.printf( "this is a point [%.5lpf], [%lpg]\n", irit.list(  ( 1, 2, 3 ),  ( 1, 2, 3 ) ) )
irit.printf( "this is a plane %lPf\n", 
			 irit.list( irit.plane( math.sin( 33 ), 
									math.sin( 44 ), 
									math.sin( 55 ), 
									math.sin( 66 ) ) ) )
								
irit.printf( "this is a object %Df, until here...\n", irit.list( irit.GetAxes() ) )

dlevel = irit.iritstate( "dumplevel", irit.GenRealObject(255 ))
irit.printf( "this is a object %8.6lDf, until here...\n", irit.list( irit.GetAxes() ) )
irit.printf( "this is a object %10.8lDg, until here...\n", irit.list( irit.GetAxes() ) )
dlevel = irit.iritstate( "dumplevel", dlevel )
irit.free( dlevel )