Ejemplo n.º 1
0
def rotatevector2(v, amount):
    v1 = irit.normalizeVec(perpvector(v))
    v2 = irit.normalizeVec(v1 ^ v) * math.sqrt(irit.FetchRealObject(v * v))
    if (amount > 0):
        retval = v + v1 * irit.random(0, amount) + v2 * irit.random(0, amount)
    else:
        retval = v + v1 * irit.random(amount, 0) + v2 * irit.random(amount, 0)
    return retval
Ejemplo n.º 2
0
def cubeat(x, y, z):
    retval = irit.box((x - size / 2.0, y - size / 2.0, z - size / 2.0), size,
                      size, size)
    irit.attrib(
        retval, "rgb",
        irit.GenStrObject(
            str(int(irit.random(64, 255))) + "," +
            str(int(irit.random(64, 255))) + "," +
            str(int(irit.random(64, 255)))))
    return retval
Ejemplo n.º 3
0
def randompts2(n):
    retval = irit.nil()
    i = 1
    while (i <= n):
        r = irit.random((-1), 1)
        t = irit.random(0, 2 * math.pi)
        irit.snoc((math.cos(t) * r, math.sin(t) * r, 0), retval)
        i = i + 1
    irit.color(retval, irit.RED)
    irit.adwidth(retval, 5)
    return retval
Ejemplo n.º 4
0
def randompts(n):
    l = irit.nil()
    i = 1
    while (i <= n):
        r = irit.random((-1), 1)
        t = irit.random(0, 2 * math.pi)
        irit.snoc(irit.vector(math.cos(t) * r, math.sin(t) * r, 0), l)
        i = i + 1
    retval = irit.poly(l, irit.FALSE)
    irit.color(retval, irit.RED)
    irit.adwidth(retval, 5)
    return retval
Ejemplo n.º 5
0
def randompts3d(n):
    l = irit.nil()
    i = 1
    while (i <= n):
        irit.snoc(
            irit.point(irit.random((-1), 1), irit.random((-1), 1),
                       irit.random((-1), 1)), l)
        i = i + 1
    retval = l
    irit.color(retval, irit.GREEN)
    irit.adwidth(retval, 5)
    return retval
Ejemplo n.º 6
0
def randomvecs(n):
    l = irit.nil()
    i = 1
    while (i <= n):
        r = irit.random((-1), 1)
        t = irit.random(0, 2 * math.pi)
        irit.snoc(irit.vector(math.cos(t) * r, 2, math.sin(t) * r), l)
        i = i + 1
    retval = l
    irit.color(retval, irit.RED)
    irit.adwidth(retval, 3)
    return retval
Ejemplo n.º 7
0
def genrandomcrv(d, n, size):
    ctlpts = irit.nil()
    i = 1
    while (i <= n):
        irit.snoc(
            irit.ctlpt(irit.E2, irit.random((-size), size),
                       irit.random((-size), size)), ctlpts)
        i = i + 1
    retval = irit.cbspline(
        d,
        ctlpts * irit.tx(irit.random((-1), 1)) * irit.ty(irit.random((-1), 1)),
        irit.list(irit.KV_PERIODIC))
    retval = irit.coerce(retval, irit.KV_OPEN)
    return retval
Ejemplo n.º 8
0
def randomctlpt3(n):
    l = irit.nil()
    i = 1
    while (i <= n):
        r = irit.random((-0.5), 0.5)
        t = irit.random(0, 2 * math.pi)
        irit.snoc(
            irit.ctlpt(irit.E3,
                       math.cos(t) * r, irit.random(0.5, 1.5),
                       math.sin(t) * r), l)
        i = i + 1
    retval = l
    irit.color(retval, irit.GREEN)
    irit.adwidth(retval, 3)
    return retval
Ejemplo n.º 9
0
def virttree3(pos, dir, size, blevel, level):
    retval = irit.nil()
    newpos = (pos + dir)
    if (level > 0):
        tr = treebranch(pos, newpos, size)
        if (level >= blevel):
            irit.color(tr, bcolor)
            irit.attrib(tr, "ptexture", irit.GenStrObject("trunk.rle"))
            irit.attrib(tr, "rgb", irit.GenStrObject(brgb))
        else:
            irit.color(tr, lcolor)
            irit.attrib(tr, "rgb", irit.GenStrObject(lrgb))
            irit.attrib(tr, "ptexture", irit.GenStrObject("leaves.rle"))
        irit.snoc(tr, retval)
    if (level > 1):
        tr1 = virttree3(newpos,
                        rotatevector2(dir, rfactor) * lfactor, size * wfactor,
                        blevel, level - 1)
        tr2 = virttree3(
            newpos,
            rotatevector2(dir, rfactor * irit.random((-1), 1)) * lfactor,
            size * wfactor, blevel, level - 1)
        tr3 = virttree3(newpos,
                        rotatevector2(dir, (-rfactor)) * lfactor,
                        size * wfactor, blevel, level - 1)
        retval = retval + tr1 + tr2 + tr3
    return retval
Ejemplo n.º 10
0
def genrandomcrv(d, n, size):
    ctlpts = irit.nil()
    i = 1
    while (i <= n):
        irit.snoc(
            irit.ctlpt(irit.E2, irit.random((-size), size),
                       irit.random((-size), size)), ctlpts)
        i = i + 1
    if (irit.random(0, 1) > 0.3):
        kv = irit.KV_PERIODIC
    else:
        kv = irit.KV_OPEN
    retval = irit.cbspline(
        d,
        ctlpts * irit.tx(irit.random(
            (-0.2), 0.2)) * irit.ty(irit.random((-0.2), 0.2)), irit.list(kv))
    retval = irit.coerce(retval, irit.KV_OPEN)
    return retval
Ejemplo n.º 11
0
def extractcrvregion( crv, t1, t2, idx ):
    if ( irit.FetchRealObject(t1) < 0 ):
        retval = irit.cregion( crv, irit.FetchRealObject(t1) + 1, 1 ) + irit.cregion( crv, 0, irit.FetchRealObject(t2) )
    else:
        retval = irit.cregion( crv, irit.FetchRealObject(t1), irit.FetchRealObject(t2) )
    retval = irit.creparam( retval, 0, 1 )
    tn = irit.vector( 1, 0, 0 ) * irit.rz( irit.FetchRealObject( idx ) )
    retval = irit.list( retval * irit.trans( irit.Fetch3TupleObject( tn * irit.sc( 0.15 ) ) ), 
						irit.arrow3d( irit.coerce( irit.ceval( retval, 0.5 ), 3 ), 
									  tn, 0.35, 0.01, 0.1, 0.02 ) )
    irit.attrib( retval, "width", irit.GenRealObject( irit.random( 0.007, 0.01 ) ) )
    irit.attrib( retval, "gray", irit.GenRealObject( irit.random( 0.2, 0.8 ) ) )
    irit.attrib( retval, "rgb", irit.GenStrObject( str(int(irit.random( 100, 255 ) ) ) + 
								"," + 
								str(int(irit.random( 100, 255 ) ) ) + 
								"," + 
								str(int(irit.random( 100, 255 ) ) ) ) )
    return retval
Ejemplo n.º 12
0
def randomcrvs(numcrvs, crvdeg, crvlen, size, dwidth):
    l = irit.nil()
    i = 1
    while (i <= numcrvs):
        irit.snoc(genrandomcrv(crvdeg, crvlen, size), l)
        irit.attrib(irit.nref(l, i), "gray",
                    irit.GenRealObject(irit.random(0.01, 0.7)))
        i = i + 1
    i = 1
    while (i <= numcrvs):
        irit.attrib(irit.nref(l, i), "rgb", irit.GenStrObject(getrandrgb()))
        i = i + 1
    retval = l
    irit.color(retval, irit.RED)
    irit.awidth(retval, 0.01)
    irit.adwidth(retval, dwidth)
    return retval
Ejemplo n.º 13
0
def getrandrgb():
    retval = str(int(irit.random( 50, 255 ))) + "," + \
    str(int(irit.random( 50, 255 ))) + "," + \
    str(int(irit.random( 50, 255 )))
    return retval
Ejemplo n.º 14
0
irit.viewobj(irit.GetViewMatrix())
irit.viewstate("polyaprx", 1)

ri = irit.iritstate("randominit", irit.GenIntObject(1964))
#  Seed-initiate the randomizer,
irit.free(ri)

# ############################################################################

len = 1
numpts = 50

pl1 = irit.nil()
i = 1
while (i <= numpts):
    pt = irit.ctlpt(irit.E3, (irit.random((-3.5), 3.5) + len * i * 2) / numpts,
                    (irit.random((-3.5), 3.5) + len * i * (-5)) / numpts,
                    (irit.random((-3.5), 3.5) + len * i * math.pi) / numpts)
    irit.snoc(pt, pl1)
    i = i + 1

lnfit = irit.linterp(pl1)
c1 = (irit.coerce(irit.nth(lnfit, 1) + irit.nth(lnfit, 2) * 10, irit.E3) +
      irit.coerce(irit.nth(lnfit, 1) + irit.nth(lnfit, 2) * (-10), irit.E3))
irit.color(c1, irit.RED)
irit.interact(irit.list(c1, pl1) * irit.sc(0.2))

pl1 = irit.nil()
i = 1
while (i <= numpts):
    pt = irit.ctlpt(irit.E3, (irit.random(
Ejemplo n.º 15
0
si2a = irit.selfinter(c2, 0.001, 1e-010, 90, 1)
irit.interact(irit.list(c2, si2a))

#  While this one works harder to catch it.
si2a = irit.selfinter(c2, 0.001, 1e-010, 15, 1)
irit.interact(irit.list(c2, si2a))

si2b = irit.selfinter(c2, 0.001, 1e-010, (-1), 1)
irit.interact(irit.list(c2, si2b))

# ################################

pts = irit.nil()
i = 0
while (i <= 100):
    irit.snoc(irit.ctlpt(irit.E2, irit.random((-1), 1), irit.random((-1), 1)),
              pts)
    i = i + 1
c3 = irit.cbspline(4, pts, irit.list(irit.KV_OPEN))
irit.free(pts)
irit.color(c3, irit.BLUE)

#  While this one works harder to catch it.
si3a = irit.selfinter(c3, 0.001, (-1e-010), 15, 1)
irit.interact(irit.list(c3, si3a))

si3b = irit.selfinter(c3, 0.001, (-1e-010), (-1), 1)
irit.interact(irit.list(c3, si3b))

irit.save(
    "selfint5",
Ejemplo n.º 16
0
def irandom( min, max ):
    retval = math.floor( irit.random( min, max ) )
    return retval
Ejemplo n.º 17
0
        equapt )
    else:
        all = irit.list( prim1, prim2, prim3, circs )
    if ( irit.SizeOf( irit.GenStrObject(fname) ) > 0 ):
        irit.save( fname, all )
    irit.view( all, irit.ON )

save_mat = irit.GetViewMatrix()
irit.SetViewMatrix(  irit.sc( 0.8 ))
irit.viewobj( irit.GetViewMatrix() )

# ############################################################################

i = 0
while ( i <= 20 ):
    pt1 =  irit.point( irit.random( (-0.5 ), 0.5 ), irit.random( (-0.5 ), 0.5 ), 0 )
    pt2 =  irit.point( irit.random( (-0.5 ), 0.5 ), irit.random( (-0.5 ), 0.5 ), 0 )
    pt3 =  irit.point( irit.random( (-0.5 ), 0.5 ), irit.random( (-0.5 ), 0.5 ), 0 )
    skel2dcolor( pt1, pt2, pt3, 0.01, irit.list( 0.01, (-1e-010 ) ), 1, "" )
    irit.milisleep( delay )
    i = i + 1

skel2dcolor( pt1, pt2, pt3, 0.01, irit.list( 0.01, (-1e-010 ) ), 1, "skel2d1" )
irit.pause(  )

# ############################################################################

i = 0
while ( i <= 20 ):
    ln1 = irit.ctlpt( irit.E2, irit.random( (-1 ), 1 ), irit.random( (-1 ), 1 ) ) + \
           irit.ctlpt( irit.E2, irit.random( (-1 ), 1 ), irit.random( (-1 ), 1 ) )
Ejemplo n.º 18
0
irit.viewstate("widthlines", 1)

ri = irit.iritstate("randominit", irit.GenIntObject(1964))
#  Seed-initiate the randomizer,
irit.free(ri)

# ############################################################################
#
#  Map circles using the inverse of Map3Pt2Eql, creating an bounding ellipse.
#

n = 40

i = 1
while (i <= n):
    pt1 = irit.point(irit.random((-1), 1), irit.random((-1), 1), 0)
    pt2 = irit.point(irit.random((-1), 1), irit.random((-1), 1), 0)
    pt3 = irit.point(irit.random((-1), 1), irit.random((-1), 1), 0)
    pl = irit.poly(irit.list(pt1, pt2, pt3), irit.FALSE)
    irit.color(pl, irit.GREEN)
    ell = boundingellipse(pt1, pt2, pt3)
    all = irit.list(pl, ell)
    irit.view(all, irit.ON)
    irit.milisleep(200)
    i = i + 1

irit.save("ellips1", irit.list(all))

# ############################################################################
#
#  Compute the bounding ellipse as:
Ejemplo n.º 19
0
#
#  Some routines to test the bspline curve fitting functions.
#

ri = irit.iritstate("randominit", irit.GenIntObject(1960))
#  Seed-initiate the randomizer,

# ############################################################################

ptlist = irit.nil()
i = 0
while (i <= 2 * math.pi):
    irit.snoc(
        irit.point(
            math.cos(i) + irit.random((-0.01), 0.01),
            math.sin(i) + irit.random((-0.01), 0.01), 0), ptlist)
    i = i + 0.1
irit.color(ptlist, irit.RED)

c1 = irit.cbsp_fit(ptlist, irit.list(10, 3, 1), 1, irit.list(20, 0.0001))
irit.color(c1, irit.CYAN)

c2 = irit.cbsp_fit(ptlist, irit.list(10, 3, 1), 2, irit.list(20, 0.0001))
irit.color(c2, irit.YELLOW)

all1 = irit.list(ptlist, c1, c2)
irit.interact(all1)

c1a = irit.cbsp_fit(ptlist, c1, 1, irit.list(3, 0, 0, 0))
irit.color(c1a, irit.CYAN)
Ejemplo n.º 20
0
view_mat0 = irit.tx( 0 )

# #############################################################################
# 
#  Point inclusion in a polygon:
# 
pl1 = irit.poly( irit.list(  ( 0, 0, 0 ),  ( 0.3, 0, 0 ), irit.point( 0.3, 0.1, 0 ), irit.point( 0.2, 0.1, 0 ), irit.point( 0.2, 0.5, 0 ), irit.point( 0.3, 0.5, 0 ), irit.point( 0.3, 0.6, 0 ), irit.point( 0, 0.6, 0 ), irit.point( 0, 0.5, 0 ), irit.point( 0.1, 0.5, 0 ), irit.point( 0.1, 0.1, 0 ), irit.point( 0, 0.1, 0 ) ), 0 ) * irit.tx( (-0.15 ) ) * irit.ty( (-0.3 ) )


irit.view( irit.list( irit.GetAxes(), pl1 ), irit.ON )

pts = irit.nil(  )

i = 0
while ( i <= 1000 ):
    p =  irit.point( irit.random( (-0.5 ), 0.5 ), irit.random( (-0.5 ), 0.5 ), 0 )
    if ( irit.FetchRealObject(irit.ppinclude( pl1, irit.Fetch3TupleObject(p) ) ) ):
        irit.color( p, irit.GREEN )
    else:
        irit.color( p, irit.RED )
    irit.snoc( p * irit.tx( 0 ), pts )
    i = i + 1

irit.interact( irit.list( view_mat0, pl1, pts ) )

irit.save( "pt_inpl1", irit.list( irit.GetViewMatrix(), pl1, pts ) )

irit.free( pl1 )

# #############################################################################
# 
Ejemplo n.º 21
0
def printfitresult(str, fittedsrf):
    global fitting
    irit.snoc(fittedsrf, fitting)
    irit.printf("%s:\n", irit.list(str))
    i = 1
    while (i <= irit.SizeOf(fittedsrf)):
        irit.printf("\t%9.6pf\n", irit.list(irit.nth(fittedsrf, i)))
        i = i + 1


ptpln = irit.nil()
i = 1
while (i <= 15):
    irit.snoc(
        irit.point(irit.random((-1), 1), irit.random((-1), 1),
                   irit.random((-eps), eps)), ptpln)
    i = i + 1

printfitresult("bilinear fit: plane xy (15 pts):",
               irit.analyfit(ptpln, ptpln, 0, 1))

printfitresult("bilinear fit: plane xy sclx 2 scly 3 (15 pts):",
               irit.analyfit(ptpln,
                             ptpln * irit.sx(2) * irit.sy(3), 0, 1))

printfitresult("bilinear fit: plane xy trasnaled x=1, y=2 (15 pts):",
               irit.analyfit(ptpln,
                             ptpln * irit.tx(1) * irit.ty(2), 0, 1))

printfitresult(
Ejemplo n.º 22
0
x2 = x1 * irit.rx(45)

irit.view(irit.list(irit.GetAxes(), x2), irit.ON)

planefit = irit.list(irit.fitpmodel(x1, 0, 1e-005, 100),
                     irit.fitpmodel(x2, 0, 1e-005, 100))

#
#  Some a larger test on planes
#
x1 = irit.nil()
i = 0
while (i <= 2):
    irit.snoc(
        irit.point(irit.random((-1), 1), irit.random((-1), 1),
                   irit.random((-0.001), 0.001)), x1)
    i = i + 1
x1 = irit.poly(x1, irit.FALSE)
i = 0
while (i <= 5):
    x1 = x1 ^ (x1 * irit.tx(irit.random(
        (-2), 2)) * irit.ty(irit.random(
            (-2), 2)) * irit.tz(irit.random((-0.002), 0.002)))
    i = i + 1

i = 0
while (i <= 10):
    irit.printf(
        "%d), error = %f\n",
        irit.list(
Ejemplo n.º 23
0
#  Seed-initiate the randomizer,
irit.free(ri)

save_res = irit.GetResolution()

ed1 = irit.edge2d(0, 0, 1, 1)
ed2 = irit.edge2d((-1), (-1), (-1), 2)
ed3 = irit.edge3d(0, 0, 0, 1, 1, 1)
ed4 = irit.edge3d((-1), 0, 1, 1, 2, (-1))

irit.interact(irit.list(irit.GetAxes(), ed1, ed2, ed3, ed4))

#  printf( "%d) v3 = %19.16vf :: ", list( i, v3- v3*m ) ):
i = 0
while (i <= 9):
    v1 = irit.vector(irit.random((-1), 1), irit.random((-1), 1),
                     irit.random((-1), 1))
    v1 = irit.normalizeVec(v1)
    v2 = irit.vector(irit.random((-1), 1), irit.random((-1), 1),
                     irit.random((-1), 1))
    v2 = irit.normalizeVec(v2)
    v3 = v1 ^ v2
    v3 = irit.normalizeVec(v3)
    m = irit.rotv2v(irit.Fetch3TupleObject(v1), irit.Fetch3TupleObject(v2))
    #irit.printf( "%d) v1 = %7.4vf  v2 = %7.4vf :: ", irit.list( i, v1, v2 ) )
    print str(i) + \
    ") v1 = " + \
    str(irit.Fetch3TupleObject(v1)) + \
    ") v2 = " + \
    str(irit.Fetch3TupleObject(v2))
Ejemplo n.º 24
0
c4a = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E3, 0.53, 0.35, (-0.3 ) ), \
                                   irit.ctlpt( irit.E3, 0.423, (-0.01 ), 0.3 ), \
                                   irit.ctlpt( irit.E3, 0.198, (-0.19 ), 0.4 ), \
                                   irit.ctlpt( irit.E3, 0.263, 0.38, (-0.2 ) ), \
                                   irit.ctlpt( irit.E3, 0.432, 0.48, (-0.3 ) ), \
                                   irit.ctlpt( irit.E3, 0.521, (-0.08 ), 0.4 ) ), irit.list( irit.KV_OPEN ) )
irit.color( c4a, irit.MAGENTA )

c5 = irit.pcircle( ( 0, 0, 0 ), 0.2 )
irit.color( c5, irit.GREEN )

pts = irit.nil(  )
i = 0
while ( i <= 20 ):
    irit.snoc(  irit.point( math.cos( 2 * math.pi * i/20 ) + irit.random( (-0.1 ), 0.1 ), \
							math.sin( 2 * math.pi * i/20 ) + irit.random( (-0.1 ), 0.1 ), \
							irit.random( (-0.1 ), 0.1 ) ), \
				pts )
    i = i + 1
c6 = irit.cbspline( 3, pts, irit.list( irit.KV_PERIODIC ) )
irit.free( pts )

c6 = irit.coerce( c6, irit.KV_OPEN )
irit.color( c6, irit.RED )

eps = 1e-010

#  view( list( c1, c2, c3, c4, c5, pt1, pt2 ), 1 );

# ############################################################################
Ejemplo n.º 25
0
save_mat = irit.GetViewMatrix()
irit.SetViewMatrix(irit.sc(0.5))
irit.viewobj(irit.GetViewMatrix())
ri = irit.iritstate("randominit", irit.GenIntObject(1964))
#  Seed-initiate the randomizer,
irit.free(ri)

# ############################################################################

pts = irit.nil()
len = 1
numpts = 5
i = 0
while (i <= numpts):
    r = irit.random(0, 2)
    pt = irit.ctlpt(irit.E2, len * r * math.cos(i * 2 * math.pi / numpts),
                    len * r * math.sin(i * 2 * 3.14159 / numpts))
    irit.snoc(pt, pts)
    i = i + 1
c0 = irit.coerce(irit.cbspline(4, pts, irit.list(irit.KV_PERIODIC)),
                 irit.KV_OPEN)
irit.color(c0, irit.RED)
irit.adwidth(c0, 4)

pts = irit.nil()
len = 1
numpts = 7
i = 0
while (i <= numpts):
    r = irit.random(0, 2)
Ejemplo n.º 26
0
def randrgb(  ):
    return (   str(irit.random( 80, 255 )) + 
			   "," + 
			   str(irit.random( 80, 155 )) + 
			   "," + 
			   str(irit.random( 80, 255 ) ))
Ejemplo n.º 27
0
def setrandomcolor( obj ):
    irit.attrib( obj, "rgb", irit.GenStrObject(str(int( irit.random( 100, 255 ) )) + "," + str(int( irit.random( 100, 255 ) )) + "," + str(int( irit.random( 100, 255 ) ) )))
    retval = obj
    return retval
Ejemplo n.º 28
0
#
#                                Gershon Elber, Aug. 2000
#

ri = irit.iritstate("randominit", irit.GenRealObject(1964))
#  Seed-initiate the randomizer,
irit.free(ri)

#
#  Two point sets.
#
pt1 = irit.nil()
pt2 = irit.nil()
i = 0
while (i <= 15):
    pt = irit.point(irit.random((-0.7), 0.7), irit.random((-0.7), 0.7),
                    irit.random((-0.7), 0.7))
    irit.snoc(pt * irit.tx(0), pt1)
    irit.snoc(pt * irit.tx(0), pt2)
    i = i + 1
irit.color(pt2, irit.MAGENTA)

pt1f = pt1 * irit.rx(13) * irit.ry(5) * irit.rz(11) * irit.tx(0.1) * irit.ty(
    0.03) * irit.tz((-0.05))
irit.color(pt1f, irit.CYAN)

tr = irit.ptregister(pt1f, pt2, 1, 1e-006)

pt1y = pt1f * tr
irit.color(pt1y, irit.YELLOW)
irit.adwidth(pt1y, 2)