Example #1
0
def ant(scl):
    save_res = irit.GetResolution()
    bodyall = antbody()
    body = irit.nth(bodyall, 1)
    eyes = irit.nth(bodyall, 2)
    leg = antleg()
    llegs = irit.list(
        leg * irit.sc(1.1) * irit.sx(1.3) * irit.ry((-45)) * irit.trans(
            (0.1, 0, 1.02)),
        leg * irit.sc(1.3) * irit.ry(10) * irit.trans((0.1, 0.05, 1)),
        leg * irit.sc(1.2) * irit.sx(1.4) * irit.ry(40) * irit.trans(
            (0.1, 0.02, 0.95)))
    irit.SetResolution(20)
    irit.attrprop(llegs, "u_resolution", irit.GenRealObject(0.2))
    antennas = irit.list(
        antantenna() * irit.ry((-110)) * irit.trans(((-0.02), 0.2, 1.6)),
        antantenna() * irit.ry((-70)) * irit.trans((0.02, 0.2, 1.6)))
    irit.attrprop(antennas, "u_resolution", irit.GenRealObject(0.2))
    body = (body + irit.gpolygon(llegs, 1) + irit.gpolygon(llegs, 1) * irit.sx(
        (-1)) + irit.gpolygon(antennas, 1))
    irit.attrib(body, "rgb", irit.GenStrObject("255,50,50"))
    irit.SetResolution(save_res)
    retval = irit.list(
        body,
        eyes) * irit.sz(1.3) * irit.sc(1) * irit.ty(0.28785) * irit.rx(90)
    return retval
Example #2
0
def antanim(scl):
    save_res = irit.GetResolution()
    bodyall = antbody()
    body = irit.nth(bodyall, 1)
    eyes = irit.nth(bodyall, 2)
    llegs = irit.list(
        antlleganim(1) * irit.sc(1.1) * irit.sx(1.3) * irit.ry(
            (-45)) * irit.trans((0.1, 0, 1.02)),
        antlleganim((-1)) * irit.sc(1.3) * irit.ry(10) * irit.trans(
            (0.1, 0.05, 1)),
        antlleganim(1) * irit.sc(1.2) * irit.sx(1.4) * irit.ry(40) *
        irit.trans((0.1, 0.02, 0.95)))
    rlegs = irit.list(
        antrleganim(
            (-1)) * irit.sc(1.1) * irit.sx(1.3) * irit.ry(45) * irit.trans(
                ((-0.1), 0, 1.02)),
        antrleganim(1) * irit.sc(1.3) * irit.ry((-10)) * irit.trans(
            ((-0.1), 0.05, 1)),
        antrleganim((-1)) * irit.sc(1.2) * irit.sx(1.4) * irit.ry(
            (-40)) * irit.trans(((-0.1), 0.02, 0.95)))
    irit.SetResolution(20)
    antennas = irit.list(
        antantenna() * irit.ry((-110)) * irit.trans(((-0.02), 0.2, 1.6)),
        antantenna() * irit.ry((-70)) * irit.trans((0.02, 0.2, 1.6)))
    irit.attrprop(antennas, "u_resolution", irit.GenRealObject(0.2))
    body = (body + irit.gpolygon(antennas, 1))
    irit.attrib(body, "rgb", irit.GenStrObject("255,50,50"))
    irit.SetResolution(save_res)
    retval = irit.list(
        body, llegs, rlegs,
        eyes) * irit.sz(1.3) * irit.sc(1) * irit.ty(0.28785) * irit.rx(90)
    mov_y = irit.creparam( irit.ctlpt( irit.E1, 0 ) + \
                            irit.ctlpt( irit.E1, (-1 ) ), 0, 1.2 )
    irit.attrib(retval, "animation", mov_y)
    return retval
Example #3
0
def buildvisibilitymap( c, step, highlightangle ):
    retval = irit.nil(  )
    i = 0
    while ( i <= 360 ):
        dir =  irit.point( math.cos( i * math.pi/180 ), math.sin( i * 3.14159/180 ), 0 )
        crvs = irit.cvisible( c, irit.Fetch3TupleObject(dir), 1e-005 )
        crvdmn = cnvrtcrvs2domains( crvs, i )
        if ( highlightangle == i ):
            irit.attrib( crvdmn, "width", irit.GenRealObject(0.01 ))
            irit.attrib( crvdmn, "gray", irit.GenRealObject(0 ))
            irit.attrib( crvdmn, "rgb", irit.GenStrObject("255, 255, 128" ))
            irit.adwidth( crvdmn, 3 )
            highcrvdmn = crvdmn * irit.sx( 1/360.0 )
            irit.attrib( crvs, "width", irit.GenRealObject(0.03 ))
            irit.adwidth( crvs, 3 )
            irit.attrib( crvs, "rgb", irit.GenStrObject("255, 255, 128" ))
            irit.snoc( crvs, retval )
        else:
            irit.attrib( crvdmn, "width", 0.01 )
            irit.attrib( crvdmn, "gray", 0.5 )
            irit.attrib( crvdmn, "rgb", "128, 128, 255" )
            irit.snoc( crvdmn * irit.sx( 1/360 ), retval )
        i = i + step
    retval = ( retval + irit.list( highcrvdmn ) )
    return retval
Example #4
0
def buildvisibilitymap( c, step ):
    retval = irit.nil(  )
    i = 0
    while ( i <= 360 ):
        dir = irit.point( math.cos( i * math.pi/180 ), math.sin( i * math.pi/180 ), 0 )
        crvs = irit.cvisible( c, dir, 1e-005 )
        irit.snoc( cnvrtcrvs2domains( crvs, i ) * irit.sx( 1/360.0 ), retval )
        i = i + step
    return retval
Example #5
0
def makebboxunit(obj):
    b = irit.bbox(obj)
    xmin = irit.FetchRealObjecy(irit.nth(b, 1))
    xmax = irit.nth(b, 2)
    ymin = irit.nth(b, 3)
    ymax = irit.nth(b, 4)
    retval = obj * irit.tx((-xmin)) * irit.ty(
        (-ymin)) * irit.sx(1.0 / (xmax - xmin)) * irit.sy(1.0 / (ymax - ymin))
    return retval
Example #6
0
def king(s, clr):
    kingbase = (-irit.surfprev( irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 0.001, 1.04 ), \
                                                              irit.ctlpt( irit.E2, 0.04, 1.04 ), \
                                                              irit.ctlpt( irit.E2, 0.04, 1.02 ), \
                                                              irit.ctlpt( irit.E2, 0.06, 1.02 ), \
                                                              irit.ctlpt( irit.E2, 0.06, 1 ), \
                                                              irit.ctlpt( irit.E2, 0.08, 1 ), \
                                                              irit.ctlpt( irit.E2, 0.08, 0.97 ), \
                                                              irit.ctlpt( irit.E2, 0.1, 0.97 ), \
                                                              irit.ctlpt( irit.E2, 0.1, 0.94 ), \
                                                              irit.ctlpt( irit.E2, 0.07, 0.82 ), \
                                                              irit.ctlpt( irit.E2, 0.07, 0.8 ), \
                                                              irit.ctlpt( irit.E2, 0.09, 0.8 ), \
                                                              irit.ctlpt( irit.E2, 0.09, 0.78 ), \
                                                              irit.ctlpt( irit.E2, 0.07, 0.78 ), \
                                                              irit.ctlpt( irit.E2, 0.07, 0.74 ), \
                                                              irit.ctlpt( irit.E2, 0.1, 0.72 ), \
                                                              irit.ctlpt( irit.E2, 0.1, 0.7 ), \
                                                              irit.ctlpt( irit.E2, 0.14, 0.67 ), \
                                                              irit.ctlpt( irit.E2, 0.14, 0.64 ), \
                                                              irit.ctlpt( irit.E2, 0.06, 0.57 ), \
                                                              irit.ctlpt( irit.E2, 0.09, 0.33 ), \
                                                              irit.ctlpt( irit.E2, 0.21, 0.14 ), \
                                                              irit.ctlpt( irit.E2, 0.21, 0 ) ), irit.list( irit.KV_OPEN ) ) * irit.rx( 90 ) ) )
    kingcrosscrv = ( \
                                                              irit.ctlpt( irit.E2, (-0.07 ), 0 ) + \
                                                              irit.ctlpt( irit.E2, (-0.07 ), 0.53 ) + \
                                                              irit.ctlpt( irit.E2, (-0.3 ), 0.53 ) + \
                                                              irit.ctlpt( irit.E2, (-0.3 ), 0.67 ) + \
                                                              irit.ctlpt( irit.E2, (-0.07 ), 0.67 ) + \
                                                              irit.ctlpt( irit.E2, (-0.07 ), 1 ) + \
                                                              irit.ctlpt( irit.E2, 0, 1 ) )
    kingcrosssrf1 = irit.ruledsrf(kingcrosscrv, kingcrosscrv * irit.sx((-1)))
    kingcrosssrf2 = (-kingcrosssrf1) * irit.tz(0.08)
    kingcrosscrv2 = (kingcrosscrv + (-kingcrosscrv) * irit.sx((-1)))
    kingcrosssrf3 = irit.ruledsrf(kingcrosscrv2, kingcrosscrv2 * irit.tz(0.08))
    kingcross = irit.list(
        kingcrosssrf1, kingcrosssrf2, kingcrosssrf3) * irit.tz(
            (-0.04)) * irit.sc(0.16) * irit.rx(90) * irit.tz(1)
    irit.attrib(kingcross, "rgb", irit.GenStrObject("255,255,100"))
    irit.attrib(kingbase, "rgb", irit.GenStrObject(clr))
    retval = irit.list(kingbase, kingcross) * irit.sc(s)
    return retval
Example #7
0
#
#  Antipodal points for surfaces.
#

c1 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 0.7, 0.5 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), 0.4 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), (-0.4 ) ), \
                                  irit.ctlpt( irit.E2, 0.7, (-0.5 ) ) ), irit.list( irit.KV_OPEN ) )
c2 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 0.7, 0.5 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), (-0.8 ) ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), 0.8 ), \
                                  irit.ctlpt( irit.E2, 0.7, (-0.5 ) ) ), irit.list( irit.KV_OPEN ) )
s1 = irit.sfromcrvs(
    irit.list(c1,
              c2 * irit.sc(1.1) * irit.tx((-0.2)) * irit.tz(0.2),
              c2 * irit.sx(1.1) * irit.tx((-0.2)) * irit.tz(0.4),
              c1 * irit.tz(0.6)), 3, irit.KV_OPEN)
irit.color(s1, irit.RED)

apline1 = evalantipodalptsonsrf(s1)

irit.interact(irit.list(irit.GetAxes(), apline1, s1))


c1 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 1, 0.15 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), 0.4 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), (-0.4 ) ), \
                                  irit.ctlpt( irit.E2, 1, (-0.15 ) ) ), irit.list( irit.KV_OPEN ) )
c2 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 1, 0.1 ), \
                                  irit.ctlpt( irit.E2, 0.65, (-0.2 ) ), \
                                  irit.ctlpt( irit.E2, (-0.2 ), 0.25 ), \
Example #8
0
irit.save("bisectr5", irit.list(c1, c2, bisectsrf))

# ############################################################################
#
#  A helix and a point
#

helix = irit.pcircle((0, 0, 0), 1) * irit.rz(90) * irit.ry((-90))
i = 0
while (i <= irit.SizeOf(helix) - 1):
    pth = irit.coord(helix, i)
    helix = irit.ceditpt(
        helix,
        irit.ctlpt(irit.E3, i / 4, irit.coord(pth, 2), irit.coord(pth, 3)), i)
    i = i + 1
helix = (helix + helix * irit.tx(9 / 4)) * irit.sx(0.5)
irit.color(helix, irit.RED)
irit.adwidth(helix, 3)

pt = irit.point(1.2, 0, 0)
irit.color(pt, irit.YELLOW)
irit.adwidth(pt, 3)

bisectsrf = irit.cbisector3d(irit.list(helix, pt), 1)
irit.color(bisectsrf, irit.GREEN)

irit.interact(irit.list(helix, pt, bisectsrf))

irit.save("bisectr6", irit.list(helix, pt, bisectsrf))

# ############################################################################
Example #9
0
   irit.trans( irit.Fetch3TupleObject(irit.coerce( p, irit.VECTOR_TYPE ) + n * r1 ))
    c2 = c * \
   irit.sc( r2 ) * \
   irit.rotz2v( irit.Fetch3TupleObject(d2) ) * \
   irit.trans( irit.Fetch3TupleObject(irit.coerce( p, irit.VECTOR_TYPE ) + n * r2) )
    retval = irit.list(
        p, c1, c2,
        p + irit.coerce(irit.coerce(p, irit.POINT_TYPE) + v1, irit.E3),
        p + irit.coerce(irit.coerce(p, irit.POINT_TYPE) + v2, irit.E3),
        positionasymptotes(srf, u, v))
    irit.adwidth(retval, 2)
    irit.color(retval, irit.YELLOW)
    return retval


spr = irit.spheresrf(0.5) * irit.sx(0.5) * irit.tx(2)
cyl = irit.cylinsrf(1, 1) * irit.sc(0.5)
trs = irit.torussrf(1, 0.3) * irit.sc(0.5) * irit.tx((-2))

all = irit.list(spr, cyl, trs, positioncurvature(trs, 0.5, 0.5),
                positioncurvature(trs, 2.2, 2.8),
                positioncurvature(trs, 2.8, 1.8),
                positioncurvature(spr, 0.5, 0.5), positioncurvature(spr, 1, 1),
                positioncurvature(cyl, 1.5, 1.25),
                positioncurvature(cyl, 2, 1.5))

irit.interact(all)

irit.save("scrvtrev", all)

irit.free(all)
Example #10
0
                    irit.point((-0.030076), 0.34839, 0.936867),
                    irit.point(0.591636, (-0.37821), 0.711986))

c = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 0.8, 1 ), \
                                 irit.ctlpt( irit.E2, 1, 0.8 ), \
                                 irit.ctlpt( irit.E2, 1, (-0.8 ) ), \
                                 irit.ctlpt( irit.E2, 0.8, (-1 ) ), \
                                 irit.ctlpt( irit.E2, (-0.8 ), (-1 ) ), \
                                 irit.ctlpt( irit.E2, (-1 ), (-0.8 ) ), \
                                 irit.ctlpt( irit.E2, (-1 ), 0.8 ), \
                                 irit.ctlpt( irit.E2, (-0.8 ), 1 ) ), irit.list( irit.KV_PERIODIC ) )

s = irit.sfromcrvs(
    irit.list(c,
              c * irit.sc(0.7) * irit.tz(0.65),
              c * irit.sx(0.65) * irit.sy(0.75) * irit.tz(0.7),
              c * irit.sc(1.7) * irit.tz(1.1), c * irit.tz(1.5)), 3,
    irit.KV_OPEN)
irit.color(s, irit.YELLOW)

irit.SetResolution(70)

silhs = irit.nil()
#  Loop with step one for slower, more complete result.
#  printf( "Processing vector %d\\n", list( i ) ):
i = 1
while (i <= irit.SizeOf(sphdirs)):
    irit.snoc(
        irit.silhouette(
            s,
            irit.Fetch3TupleObject(
Example #11
0
					( (-0.2 ), 0.08, 0 ), 
					( (-0.19 ), 0.2, 0 ) )
arc2a = irit.arc( ( (-0.4 ), 0.2, 0 ), 
					( (-0.39 ), 0.3, 0 ), 
					( (-0.4 ), 0.4, 0 ) )
arc2b = irit.arc( ( (-0.25 ), 0.2, 0 ), 
					( (-0.24 ), 0.25, 0 ), 
					( (-0.25 ), 0.3, 0 ) )
arc2c = irit.arc( ( (-0.22 ), 0.2, 0 ), 
					( (-0.21 ), 0.25, 0 ), 
					( (-0.22 ), 0.3, 0 ) )
arc2d = irit.arc( ( (-0.37 ), 0.2, 0 ), 
					( (-0.36 ), 0.28, 0 ), 
					( (-0.37 ), 0.36, 0 ) )

sctn1 = ( arc1a + arc2a + (-arc2a ) * irit.sx( (-1 ) ) + \
		(-arc1a ) * irit.sx( (-1 ) ) ) * irit.sc( 0.75 )
sctn2 = ( arc1a + arc2b + (-arc2b ) * irit.sx( (-1 ) ) + \
		(-arc1a ) * irit.sx( (-1 ) ) ) * irit.sc( 0.75 )

sctn3 = ( arc1b + arc2d + (-arc2d ) * irit.sx( (-1 ) ) + \
		(-arc1b ) * irit.sx( (-1 ) ) ) * irit.ty( 0.04 ) * irit.sc( 0.65 )
sctn4 = ( arc1b + arc2c + (-arc2c ) * irit.sx( (-1 ) ) + \
		(-arc1b ) * irit.sx( (-1 ) ) ) * irit.ty( 0.04 ) * irit.sc( 0.65 )
irit.free( arc1a )
irit.free( arc1b )
irit.free( arc2a )
irit.free( arc2b )
irit.free( arc2c )
irit.free( arc2d )
Example #12
0
irit.interact( irit.list( irit.GetAxes(), apline2, c2 ) )

irit.save( "antipdl1", irit.list( irit.list( c1, apline1 ) * irit.tx( (-1 ) ), irit.list( c2, apline2 ) * irit.tx( 1 ) ) )

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

c1 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 0.7, 0.5 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), 0.4 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), (-0.4 ) ), \
                                  irit.ctlpt( irit.E2, 0.7, (-0.5 ) ) ), irit.list( irit.KV_OPEN ) )
c2 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 0.7, 0.5 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), (-0.8 ) ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), 0.8 ), \
                                  irit.ctlpt( irit.E2, 0.7, (-0.5 ) ) ), irit.list( irit.KV_OPEN ) )
s1 = irit.sfromcrvs( irit.list( c1, c2 * irit.sc( 1.1 ) * irit.tx( (-0.2 ) ) * irit.tz( 0.2 ), c2 * irit.sx( 1.1 ) * irit.tx( (-0.2 ) ) * irit.tz( 0.4 ), c1 * irit.tz( 0.6 ) ), 3, irit.KV_OPEN )

apline1 = evalantipodalptsonsrf( s1 )

irit.interact( irit.list( irit.GetAxes(), apline1, s1 ) )



c1 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 1, 0.15 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), 0.4 ), \
                                  irit.ctlpt( irit.E2, (-0.4 ), (-0.4 ) ), \
                                  irit.ctlpt( irit.E2, 1, (-0.15 ) ) ), irit.list( irit.KV_OPEN ) )
c2 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 1, 0.1 ), \
                                  irit.ctlpt( irit.E2, 0.65, (-0.2 ) ), \
                                  irit.ctlpt( irit.E2, (-0.2 ), 0.25 ), \
                                  irit.ctlpt( irit.E2, (-0.2 ), (-0.252 ) ), \
Example #13
0
def snaket( t ):
    p =  irit.point( 0, 0, 0 )
    ct = irit.cbspline( 3, irit.list( p * \
									  ctx( 0 + t, 1.5 ) * \
									  irit.ty( 0.22 ), 
									  p * \
									  ctx( 0 + t, 1.5 ) * \
									  irit.ty( 0.22 ), 
									  p * \
									  ctx( 0.3 + t, 1.5 ) * \
									  irit.ty( 0.17 ) * \
									  irit.tz( 0.3 ), 
									  p * \
									  ctx( 2 + t, 1.5 ) * \
									  irit.ty( (-0.06 ) ) * \
									  irit.tz( 2 ), 
									  p * \
									  ctx( 4 + t, 1.5 ) * \
									  irit.ty( (-0.06 ) ) * \
									  irit.tz( 4 ), 
									  p * \
									  ctx( 6 + t, 1.5 ) * \
									  irit.ty( (-0.06 ) ) * \
									  irit.tz( 6 ), 
									  p * \
									  ctx( 8 + t, 2.5 ) * \
									  irit.ty( (-0.065 ) ) * \
									  irit.tz( 8 ), 
									  p * \
									  ctx( 10 + t, 2.5 ) * \
									  irit.ty( (-0.07 ) ) * \
									  irit.tz( 10 ), 
									  p * \
									  ctx( 12 + t, 2.5 ) * \
									  irit.ty( (-0.075 ) ) * \
									  irit.tz( 12 ), 
									  p * \
									  ctx( 14 + t, 1.5 ) * \
									  irit.ty( (-0.08 ) ) * \
									  irit.tz( 14 ), 
									  p * \
									  ctx( 16 + t, 1.5 ) * \
									  irit.ty( (-0.09 ) ) * \
									  irit.tz( 16 ), 
									  p * \
									  ctx( 18 + t, 1.5 ) * 
									  irit.ty( (-0.1 ) ) * 
									  irit.tz( 18 ), 
									  p * \
									  irit.ty( (-0.1 ) ) * \
									  irit.tz( 20 ), 
									  p * \
									  irit.ty( (-0.1 ) ) * \
									  irit.tz( 21 ) ), 
									  irit.list( irit.KV_OPEN ) )
    c = irit.circle( ( 0, 0, 0 ), 0.36 ) * irit.rz( (-90 ) )
    scalecrv = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 0, 0.001 ), \
                                             irit.ctlpt( irit.E2, 0.1, 0.1 ), \
                                             irit.ctlpt( irit.E2, 0.2, 0.4 ), \
                                             irit.ctlpt( irit.E2, 0.3, 0.7 ), \
                                             irit.ctlpt( irit.E2, 0.4, 0.8 ), \
                                             irit.ctlpt( irit.E2, 0.5, 0.9 ), \
                                             irit.ctlpt( irit.E2, 0.6, 0.95 ), \
                                             irit.ctlpt( irit.E2, 0.7, 1 ), \
                                             irit.ctlpt( irit.E2, 0.8, 1 ) ), irit.list( irit.KV_OPEN ) )
    s1 = irit.swpsclsrf( c, ct, scalecrv, irit.vector( 0, 1, 0 ), 1 )
    irit.attrib( s1, "ptexture", irit.GenStrObject("snake2.gif,1,30" ))
    s2 = irit.sfromcrvs( irit.list( c * \
									irit.ty( (-0.1 ) ) * \
									irit.tz( 21 ), 
									c * \
									irit.ty( (-0.1 ) ) * \
									irit.tz( 22 ), 
									c * \
									irit.ty( (-0.14 ) ) * \
									irit.sx( 2.2 ) * \
									irit.sy( 1.2 ) * \
									irit.tz( 23 ), 
									c * \
									irit.ty( (-0.14 ) ) * \
									irit.sx( 2.2 ) * \
									irit.sy( 1.2 ) * \
									irit.tz( 24 ), 
									c * \
									irit.sy( 0.9 ) * \
									irit.ty( (-0.1 ) ) * \
									irit.sx( 1.2 ) * \
									irit.tz( 25 ), 
									c * \
									irit.ty( (-0.1 ) ) * \
									irit.sc( 0.001 ) * \
									irit.tz( 25 ) ), 
									3, 
									irit.KV_OPEN )
    irit.attrib( s2, "ptexture", irit.GenStrObject("snake2.gif,1,5" ))
    eyes = irit.list( irit.sphere( ( 0.42, (-0.35 ), 24.5 ), 0.1 ), irit.sphere( ( (-0.42 ), (-0.35 ), 24.5 ), 0.1 ) )
    irit.color( eyes, irit.BLACK )
    retval = irit.list( s1, s2, eyes ) * irit.rx( (-90 ) ) * irit.tz( 0.261 )
    return retval
Example #14
0
itemaux1 = irit.box(
    ((-rad) / sqrt2, (-rad) / sqrt2,
     (-len)), rad * 2 / sqrt2, rad * 2 / sqrt2, len * 2) * irit.rz(45)
itemaux2 = (
    itemaux1 * irit.tx(rad) - itemaux1 * irit.rotx(90) * irit.tz(rad + eps) -
    itemaux1 * irit.rotx(90) * irit.tz((-rad) - eps)) * irit.tx(eps / 2)
diag = (len + eps)
diagpoly = irit.poly(
    irit.list((diag, diag, 0), ((-diag), diag, 0), ((-diag), 0, diag),
              (diag, 0, diag)), irit.FALSE)
item1 = (itemaux2 - diagpoly - diagpoly * irit.sy((-1)) - diagpoly * irit.sz(
    (-1)) - diagpoly * irit.sz((-1)) * irit.sy((-1)))
item1 = irit.convex(item1)
irit.color(item1, irit.RED)

item2 = item1 * irit.sx((-1))
irit.color(item2, irit.MAGENTA)

item3 = item1 * irit.rx(90) * irit.rz(90)
irit.color(item3, irit.GREEN)

item4 = item1 * irit.rx(90) * irit.rz((-90))
irit.color(item4, irit.YELLOW)

item5 = item1 * irit.rx(90) * irit.ry(90)
irit.color(item5, irit.BLUE)

item6 = item1 * irit.rx(90) * irit.ry((-90))
irit.color(item6, irit.CYAN)

grp1 = irit.list(item2, item3, item5)
Example #15
0

c1 = irit.coerce( irit.cbspline( 3, ptlist, irit.list( irit.KV_PERIODIC ) ), irit.KV_OPEN ) * irit.rz( (-22.5 ) )
c2 = irit.coerce( irit.cbspline( 2, ptlist, irit.list( irit.KV_PERIODIC ) ), irit.KV_OPEN ) * irit.sc( 1.1 )


minsize = 0.01
body = irit.sfromcrvs( irit.list( c2 * irit.sc( minsize ) * irit.tz( 0.05 ), c2 * irit.sc( 0.7 ) * irit.tz( 0.05 ), c2 * irit.sc( 0.8 ) * irit.tz( 0.05 ), c2 * irit.sc( 0.9 ), c2, c2 * irit.tz( 2 ), c2 * irit.tz( 2.2 ), c1 * irit.tz( 2.2 ), c1 * irit.tz( 2 ), c1 * irit.tz( 0.4 ), c1 * irit.sc( 0.5 ) * irit.tz( 0.2 ), c1 * irit.sc( minsize ) * irit.tz( 0.2 ) ), 3, irit.KV_OPEN )


handaxis = irit.crefine( irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0, 0, 0 ), \
                                                      irit.ctlpt( irit.E3, 0.3, 0, 0.1 ), \
                                                      irit.ctlpt( irit.E3, 0.5, 0, 0.5 ), \
                                                      irit.ctlpt( irit.E3, 0.5, 0, 0.8 ), \
                                                      irit.ctlpt( irit.E3, 0, 0, 0.8 ) ), irit.list( irit.KV_OPEN ) ), 0, irit.list( 0.1, 0.23, 0.43, 0.57 ) )
handle = irit.swpsclsrf( c1 * irit.sx( 0.7 ), handaxis * irit.sc( 1.5 ), irit.GenRealObject(0.15), irit.list( 0, 1, 0 ), 1 ) * irit.trans( ( 1, 0, 0.4 ) )


cup = irit.list( body, handle )
irit.color( cup, irit.WHITE )

irit.save( "cup", cup )
irit.interact( cup )

bodyin = irit.sregion( body, irit.ROW, 0.6, 1 )
irit.color( bodyin, irit.RED )
bodyout = irit.sregion( body, irit.ROW, 0, 0.6 )
irit.color( bodyout, irit.GREEN )
irit.interact( irit.list( bodyout, bodyin ) )

handleout = handle
Example #16
0
displayobjobjhdres( c3, c2, eps, 1 )

displayobjobjhdres( c2, c3, eps, 1 )

displayobjobjhdres( c3, c4, eps, 0 )

displayobjobjhdres( c3, c4, eps, 1 )

displayobjobjhdres( c4, c3, eps, 1 )

displayobjobjhdres( c4, c4a * irit.tx( (-0.5 ) ), eps, 0 )

displayobjobjhdres( c2, c4a * irit.tx( (-0.5 ) ), eps, 0 )

displayobjobjhdres( c2, c4a * irit.sx( (-3 ) ) * irit.tx( 0.5 ), eps, 0 )

displayobjobjhdres( c2, c2a * irit.sx( (-3 ) ) * irit.tx( 0.5 ), eps, 0 )

displayobjobjhdres( c5, c5 * irit.sx( 0.7 ) * irit.sy( 0.95 ) * irit.ry( 20 ), eps, 0 )

displayobjobjhdres( c6, c6 * irit.rz( 20 ), eps, 0 )

irit.save( "hausdorf", glblres )
#  view( GlblRes, 1 );

# ############################################################################
irit.free( glblres )

iprod = irit.iritstate( "bspprodmethod", iprod )
irit.free( iprod )
Example #17
0
displayobjobjmdres(pt1, c6, 1e-010)

displayobjobjmdres(pt2, c2, 1e-010)

displayobjobjmdres(pt2, c4, 1e-010)

displayobjobjmdres(c3, c3 * irit.tx((-0.5)), 1e-010)

displayobjobjmdres(c4, c4 * irit.rz(180), 1e-010)

displayobjobjmdres(c4, c4a * irit.tx((-0.5)), 1e-010)

displayobjobjmdres(s2, c4a * irit.tx((-0.5)), 1e-010)

displayobjobjmdres(s2, c4a * irit.sx((-3)) * irit.tx(0.5), 1e-010)

displayobjobjmdres(s2, c2a * irit.sx((-3)) * irit.tx(0.5), 1e-010)

displayobjobjmdres(s2, s2 * irit.sx((-3)) * irit.tx(0.5), 1e-010)

displayobjobjmdres(s2,
                   s2 * irit.sx((-3)) * irit.tx(0.5) * irit.ry((-10)), 1e-010)

displayobjobjmdres(s2, s2 * irit.sx((-3)) * irit.tx(0.5) * irit.ry(10), 1e-010)

displayobjobjmdres(s3, s3 * irit.sx(3) * irit.tx(0.5) * irit.ry(10), 1e-010)

displayobjobjmdres(s3 * irit.rx(90),
                   s3 * irit.sx(3) * irit.tx(0.5) * irit.ry(10), 1e-010)
Example #18
0
import irit
#

#
#  A cork blug.
#
#                                                Gershon Elber, Dec 1999
#
#  Can you compute the volume of this thing!?
#

save_mat = irit.GetViewMatrix()
irit.SetViewMatrix(irit.sc(0.4))

cork = irit.ruledsrf(irit.pcircle((0, 0, 0), 1),
                     irit.pcircle((0, 0, 0), 1) * irit.sx(0) * irit.tz(2))

irit.interact(
    irit.list(
        irit.GetViewMatrix(),
        cork * irit.rx((-90)) * irit.tx((-1.2)) * irit.ty(0.4),
        cork * irit.tx((-1.2)) * irit.ty((-1.2)),
        cork * irit.rx((-90)) * irit.ry(90) * irit.tx(1.2) * irit.ty(0.4),
        cork * save_mat * irit.tx(1.2) * irit.ty((-1.8))))

irit.save("corkplug", cork)

corkcross = irit.nth(irit.prisa(cork, 256, 1, irit.COL, (0, 0, 0), 1), 1)
irit.color(corkcross, irit.MAGENTA)

corkprisa = irit.prisa(cork, 256, 1, irit.COL, (0, 0, 0), 0)
Example #19
0
v = irit.vector(1, 2, 3)
w = irit.rotvec2z(v) * v

a1 = irit.arrow3d(irit.point(0, 0, 0), irit.vector(1, 1, 1), 1.5, 0.05, 0.5,
                  0.1)
a2 = irit.arrow3d(irit.point(1, 0, 0), irit.vector((-1.5), 0.5, 1), 1, 0.02,
                  0.2, 0.05)
a3 = irit.arrow3d(  irit.point( 0, 0.6, 0.8 ), irit.vector( 0.5, 0.7, 0.3 ), 0.5, 0.01, 0.2,\
0.02 )

irit.interact(irit.list(irit.GetAxes(), a1, a2, a3))

irit.save( "macros8", irit.list( v, irit.tx( 1 ) * \
         irit.ty( 1 ) * \
         irit.tz( 1 ) * \
         irit.sx( 2 ) * \
         irit.sy( 2 ) * \
         irit.sz( 3 ) * \
         irit.sc( 3 ) * \
         irit.rx( 10 ) * \
         irit.ry( 20 ) * \
         irit.rz( (-30 ) ),
       irit.rotz2vec( v ) * w,
       irit.rotz2vec( irit.vector( 1, 0, 0 ) ),
       irit.rotz2vec( irit.vector( 0, 1, 0 ) ),
       irit.rotz2vec( irit.vector( 0, 0, 1 ) ),
       irit.rotvec2z( v ),
       w, a1, a2, a3 ) )

irit.free(v)
irit.free(w)
Example #20
0
        if (irit.ThisObject(obj) == irit.SURFACE_TYPE):
            retval = warpsrf(obj, tv)
        else:
            if (irit.ThisObject(obj) == irit.POLY_TYPE):
                retval = warppoly(obj, tv)
            else:
                retval = obj * irit.tx(0)
    return retval


#
#  Define the FFD trivariate
#
teapot = teapotorig * \
   irit.sc( 0.2 ) * \
   irit.sx( (-1 ) ) * \
   irit.rx( 90 ) * \
   irit.rz( 180 )

s = irit.planesrf((-1), (-1), 1, 1) * irit.sc(2.4)
discs = irit.list( s * \
       irit.sc( 0.02 ) * \
       irit.sx( 2 ) * \
       irit.tx( 0.56 ) * \
       irit.tz( 0.42 ),
       s * \
       irit.sc( 0.02 ) * \
       irit.sx( 2 ) * \
       irit.trans( ( 0.66, 0, 0.5 ) ),
       s * \
       irit.sc( 0.04 ) * \
Example #21
0
#
#  A sphere not centered at the origin
#

s = irit.spheresrf(1) * irit.tx(0.6)
d = irit.duality(s)
irit.color(d, irit.YELLOW)

irit.interact(irit.list(s, d, irit.GetAxes()))

#
#  An ellipsoid
#

s = irit.spheresrf(1.1) * irit.sx(2) * irit.sy(1.2)
d = irit.duality(s)
irit.color(d, irit.YELLOW)

view_mat1 = irit.GetViewMatrix() * irit.sc(0.5)
irit.interact(irit.list(s, d, irit.GetAxes(), view_mat1))

#
#  A ruled surface
#

s = irit.ruledsrf( irit.ctlpt( irit.E3, (-1 ), (-1 ), 0.2 ) + \
                   irit.ctlpt( irit.E3, (-1 ), 1, (-0.2 ) ), \
                   irit.ctlpt( irit.E3, 1, (-1 ), (-0.2 ) ) + \
                   irit.ctlpt( irit.E3, 1, 1, 0.2 ) ) * irit.tz( 0.35 )
d = irit.duality(s)
Example #22
0
                                 irit.ctlpt( irit.E2, 4.305, 0.086 ), \
                                 irit.ctlpt( irit.E2, 5.569, (-0.845 ) ), \
                                 irit.ctlpt( irit.E2, 6.914, (-2.508 ) ), \
                                 irit.ctlpt( irit.E2, 11.147, (-1.629 ) ), \
                                 irit.ctlpt( irit.E2, 8.565, (-0.453 ) ), \
                                 irit.ctlpt( irit.E2, 4.533, 1.283 ), \
                                 irit.ctlpt( irit.E2, 8.031, 2.972 ), \
                                 irit.ctlpt( irit.E2, 9.304, 4.314 ), \
                                 irit.ctlpt( irit.E2, 8.252, 6.532 ), \
                                 irit.ctlpt( irit.E2, 5.942, 5.176 ), \
                                 irit.ctlpt( irit.E2, 5.483, 1.597 ), \
                                 irit.ctlpt( irit.E2, 3.427, 2.095 ) ), irit.list( irit.KV_PERIODIC ) ) * irit.sc( 0.1 ) * irit.tx( (-0.5 ) ) * irit.ty( (-0.2 ) )

crvtr = irit.cfncrvtr(c, 1000, 2, 1)

crvtr2d = irit.coerce(crvtr, irit.E2) * irit.rz(90) * irit.sx(
    (-1)) * irit.sy(0.005)
irit.color(crvtr2d, irit.YELLOW)

irit.interact(irit.list(irit.GetAxes(), c, crvtr2d))

c2 = rigidmotionpos(irit.cfncrvtr(crvtr, 0.001, 3, 0), c)
irit.color(c2, irit.YELLOW)

irit.interact(irit.list(c, c2))

irit.save("crvtrrc1", irit.list(c, c2, crvtr))

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

crvtr = irit.cfncrvtr(c, 100, 2, 1)
Example #23
0
def antbody():
    save_res = irit.GetResolution()
    c = irit.pcircle((0, 0, 0), 1)
    body = (-irit.sfromcrvs(
        irit.list(
            c * irit.sc(1e-006) * irit.ty((-0.1)) * irit.tz(0.19),
            c * irit.sy(0.8) * irit.sc(0.07) * irit.ty((-0.1)) * irit.tz(0.19),
            c * irit.sy(0.8) * irit.sc(0.11) * irit.ty((-0.1)) * irit.tz(0.21),
            c * irit.sy(0.8) * irit.sc(0.14) * irit.ty((-0.1)) * irit.tz(0.23),
            c * irit.sy(0.8) * irit.sc(0.14) * irit.ty((-0.1)) * irit.tz(0.26),
            c * irit.sy(0.8) * irit.sc(0.11) * irit.ty((-0.1)) * irit.tz(0.28),
            c * irit.sy(0.8) * irit.sc(0.11) * irit.ty((-0.1)) * irit.tz(0.29),
            c * irit.sy(0.8) * irit.sc(0.24) * irit.ty(
                (-0.05)) * irit.tz(0.31),
            c * irit.sy(0.8) * irit.sc(0.27) * irit.ty(
                (-0.05)) * irit.tz(0.41),
            c * irit.sy(0.8) * irit.sc(0.19) * irit.ty(
                (-0.05)) * irit.tz(0.44),
            c * irit.sy(0.8) * irit.sc(0.19) * irit.ty(
                (-0.05)) * irit.tz(0.45),
            c * irit.sy(0.8) * irit.sc(0.3) * irit.ty(
                (-0.035)) * irit.tz(0.47),
            c * irit.sy(0.8) * irit.sc(0.32) * irit.ty(
                (-0.035)) * irit.tz(0.59),
            c * irit.sy(0.8) * irit.sc(0.24) * irit.ty(
                (-0.035)) * irit.tz(0.62),
            c * irit.sy(0.8) * irit.sc(0.24) * irit.ty(
                (-0.035)) * irit.tz(0.63),
            c * irit.sy(0.8) * irit.sc(0.3) * irit.ty((-0.03)) * irit.tz(0.65),
            c * irit.sy(0.8) * irit.sc(0.28) * irit.ty(
                (-0.03)) * irit.tz(0.76),
            c * irit.sy(0.8) * irit.sc(0.07) * irit.ty((-0.1)) * irit.tz(0.85),
            c * irit.sy(0.8) * irit.sc(0.07) * irit.ty((-0.1)) * irit.tz(0.87),
            c * irit.sy(0.8) * irit.sc(0.18) * irit.ty((-0.1)) * irit.tz(0.93),
            c * irit.sy(0.8) * irit.sc(0.18) * irit.ty((-0.1)) * irit.tz(1.03),
            c * irit.sy(0.8) * irit.sc(0.07) * irit.ty((-0.1)) * irit.tz(1.1),
            c * irit.sy(0.8) * irit.sc(0.07) * irit.ty((-0.1)) * irit.tz(1.12),
            c * irit.sy(0.8) * irit.sc(0.18) * irit.ty(
                (-0.06)) * irit.tz(1.18),
            c * irit.sy(0.8) * irit.sc(0.18) * irit.ty(
                (-0.03)) * irit.tz(1.32),
            c * irit.sy(0.8) * irit.sc(0.07) * irit.ty((-0)) * irit.tz(1.41),
            c * irit.sy(0.8) * irit.sc(0.07) * irit.ty((-0)) * irit.tz(1.43),
            c * irit.sy(0.8) * irit.sc(0.22) * irit.ty(0.05) * irit.tz(1.5),
            c * irit.sy(0.8) * irit.sc(0.2) * irit.ty((-0)) * irit.tz(1.66),
            c * irit.sy(0.8) * irit.sc(0.05) * irit.ty(
                (-0.22)) * irit.tz(1.85),
            c * irit.sy(0.8) * irit.sc(1e-006) * irit.ty(
                (-0.22)) * irit.tz(1.86)), 3, irit.KV_OPEN))
    irit.SetResolution(15)
    eye1 = irit.sphere((0, 0, 0), 0.08) * irit.rx(20) * irit.ry(
        (-20)) * irit.trans((0.15, 0.05, 1.59))
    eye2 = eye1 * irit.sx((-1))
    irit.SetResolution(20)
    bodycut = body / eye1 ^ eye2
    irit.attrib(bodycut, "rgb", irit.GenStrObject("255,50,50"))
    eye1cut = eye1 / body
    irit.attrib(eye1cut, "reflection", irit.GenStrObject("0.85"))
    irit.attrib(eye1cut, "rgb", irit.GenStrObject("15,15,15"))
    eye2cut = eye2 / body
    irit.attrib(eye2cut, "reflection", irit.GenStrObject("0.85"))
    irit.attrib(eye2cut, "rgb", irit.GenStrObject("15,15,15"))
    irit.SetResolution(save_res)
    retval = irit.list(bodycut, irit.list(eye1cut, eye2cut))
    return retval
Example #24
0
        pt = irit.teval( tv, x, y, z )
        v = math.floor( i/float(usize) )
        u = i - v * usize
        srf = irit.seditpt( srf, pt, u, v )
        i = i + 1
    irit.attrib( srf, "color", clr )
    retval = srf
    return retval

# 
#  Properly orient the Teapot in the parametric space of the Trivariate
# 
prmdomain = irit.box( ( 0, 0, 0 ), 0.5, 1, 1 )
irit.attrib( prmdomain, "transp", irit.GenRealObject(0.8) )

teapot = teapotorig * irit.sc( 0.13 ) * irit.rz( 90 ) * irit.rx( 90 ) * irit.sx( (-1 ) ) * irit.trans( ( 0, 0.5, 0.5 ) )

all = irit.list( prmdomain, teapot ) * irit.rz( 90 ) * irit.ry( 40 ) * irit.rx( 40 )

interact( irit.list( all, irit.GetViewMatrix() ) )
irit.save( "warp1trv", all )

# 
#  Warp the teapot, one surface at a time, after some surface refinement.
# 
warpedteapot = irit.nil(  )
i = 1
while ( i <= irit.SizeOf( teapot ) ):
    srf = irit.nth( teapot, i )
    clr = irit.getattr( srf, "color" )
    srf = irit.sreparam( irit.sreparam( srf, irit.COL, 0, 1 ), irit.ROW, 0,\
Example #25
0

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(
    "bilinear fit: plane xy rotated 45 along x (15 pts):",
    irit.analyfit(ptpln,
                  ptpln * irit.sy(math.sqrt(2)) * irit.rx(45), 0, 1))

printfitresult(
    "bilinear fit: plane xy rotated 45 along x, 75 along y (15 pts):",
    irit.analyfit(ptpln,
                  ptpln * irit.sy(math.sqrt(2)) * irit.rx(45) * irit.ry(75), 0,
                  1))
Example #26
0
    display(c1, circ, bisectsrf)
    a = a + 0.01 * speed

a = 0
while (a <= (-1.8)):
    c1 = irit.cbezier( irit.list( irit.ctlpt( irit.E3, (-1.8 ) - a, 0, (-1 ) ), \
                                   irit.ctlpt( irit.E3, 1.8 + a, 0, 1 ) ) )
    bisectsrf = irit.cbisector3d(irit.list(c1, circ), 1)
    display(c1, circ, bisectsrf)
    a = a + (-0.01) * speed

a = (-math.sqrt(0.8))
while (a <= math.sqrt(0.8)):
    c1 = irit.cbezier( irit.list( irit.ctlpt( irit.E3, 0, 0, (-1 ) ), \
                                   irit.ctlpt( irit.E3, 0, 0, 1 ) ) )
    c2 = circ * irit.sx(a * a + 0.2)
    bisectsrf = irit.cbisector3d(irit.list(c1, c2), 1)
    display(c1, c2, bisectsrf)
    a = a + 0.005 * speed

# ############################################################################
#
#  A quadratic and a circle/rounded square
#

circ = irit.creparam(irit.pcircle((0, 0, 0), 1), 0, 1) * irit.rz(
    (-90)) * irit.ry(180)

circsqr = irit.coerce(
    irit.creparam(irit.pcircle((0, 0, 0), 1), 0, 1) * irit.rz(
        (-90)) * irit.ry(180), irit.E3)
Example #27
0
import math
import irit
#

#
#  Combination of a square, triangle, and a circle
#
#                                Gershon Elber, Feb 2009.
#

#
#  The Sqriancle
#

c = irit.circle((0, 0, 0), 1)

stc = irit.ruledsrf(c, c * irit.tz(2) * irit.sx(0.0001))
irit.attrib(stc, "rgb", irit.GenStrObject("255, 200, 200"))

stcisos = irit.getisocurvetubes(stc, 8, 4, 0.03)
irit.attrib(stcisos, "rgb", irit.GenStrObject("25, 20, 200"))
irit.attrib(stcisos, "specilar", irit.GenRealObject(2))

irit.view(irit.list(stc, stcisos), irit.ON)
irit.save("sqriacle", irit.list(stc, stcisos))
irit.pause()

irit.free(c)
irit.free(stc)
irit.free(stcisos)
Example #28
0
#
#  Examples of kernel approximation of freeform closed surface objects.
#
#                                        Gershon Elber, Oct 2002
#

oldcnvxpl2vrtices = irit.iritstate("cnvxpl2vrtcs", irit.GenRealObject(0))

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

c = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 0, 0.15 ), \
                                 irit.ctlpt( irit.E2, 0.25, 0.15 ), \
                                 irit.ctlpt( irit.E2, 0.52, 0.4 ), \
                                 irit.ctlpt( irit.E2, 0.85, 0.3 ), \
                                 irit.ctlpt( irit.E2, 0.85, 0 ) ), irit.list( irit.KV_OPEN ) )
c = ((-c) + c * irit.sx((-1)))

srf8a = irit.surfprev(c * irit.ry(90)) * irit.sx(0.9) * irit.homomat(
    irit.list(irit.list(1, 0, 0.2, 0), irit.list(0, 1, 0, 0),
              irit.list(0, 0, 1, 0), irit.list(0, 0, 0, 1))) * irit.homomat(
                  irit.list(irit.list(1, 0, 0, 0), irit.list(0, 1, 0.2, 0),
                            irit.list(0, 0, 1, 0), irit.list(0, 0, 0, 1)))

irit.color(srf8a, irit.YELLOW)
irit.awidth(srf8a, 0.001)

k = irit.srfkernel(srf8a, 5, 3)

irit.interact(irit.list(srf8a, k))
irit.save("srf1krnl", irit.list(k, srf8a))
Example #29
0
                all3)
    irit.pause()
    retval = irit.list(all1, all2, all3)
    return retval


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


crv1a = irit.cbezier( irit.list( irit.ctlpt( irit.E1, 0.2 ), \
                                 irit.ctlpt( irit.E2, 0.5, 4 ), \
                                 irit.ctlpt( irit.E2, 1.3, 0.05 ) ) ) * irit.sy( 0.2 )
crv2a = irit.cbezier( irit.list( \
                                 irit.ctlpt( irit.E1, (-0.2 ) ), \
                                 irit.ctlpt( irit.E2, 0.25, 1.9 ), \
                                 irit.ctlpt( irit.E2, 1.3, 0.05 ) ) ) * irit.ty( 0.3 ) * irit.sx( 1.5 )
crv1b = irit.cbezier( irit.list( \
                                 irit.ctlpt( irit.E2, 0.2, (-0.5 ) ), \
                                 irit.ctlpt( irit.E2, 0.5, 4 ), \
                                 irit.ctlpt( irit.E2, 1.3, (-0.45 ) ) ) ) * irit.sy( 0.2 )
crv2b = irit.cbezier( irit.list( \
                                 irit.ctlpt( irit.E2, (-0 ), (-0.5 ) ), \
                                 irit.ctlpt( irit.E2, 0.25, 1.09 ), \
                                 irit.ctlpt( irit.E2, 1.1, (-0.5 ) ) ) ) * irit.ty( 0.3 ) * irit.sx( 1.5 )
irit.save(
    "dist2ff1",
    irit.list(testccdistfunc(crv1a, crv2a, irit.nil()),
              testccdistfunc(crv1a, crv2a, irit.list(0.5)),
              testccdistfunc(crv1b, crv2b, irit.nil()),
              testccdistfunc(crv1b, crv2b, irit.list(0.5))))
Example #30
0
irit.free(rot_y)
irit.free(trns)

#
#  Top round.
#
topround = irit.poly( lj8samplecurve( irit.cbezier( irit.list( irit.ctlpt( irit.E3, 0, (-0.7 ), 7.5 ), \

                                                                    irit.ctlpt( irit.E3, 0, 2.5, 8 ), \
                                                                    irit.ctlpt( irit.E3, 0, 5.7, 7.5 ) ) ), 10 ) + irit.list(  ( 0, 5.7, 7.2 ),  ( 0, 5.2, 7.2 ), irit.point( 0, 4.9, 6.8 ), irit.point( 0, 4.9, 6 ), irit.point( 0, 0.1, 6 ), irit.point( 0, 0.1, 6.3 ), irit.point( 0, (-0.2 ), 6.3 ), irit.point( 0, (-0.7 ), 7.1 ) ), 0 )
topround = irit.extrude(topround, (2, 0, 0), 3) * irit.tx(0.001)

irit.SetResolution(4)
screen = irit.con2((0, 0, 0), (0, 0, (-0.15)), 0.3, 0.2, 3) * irit.rz(45)
topround = (topround -
            screen * irit.rx(5.5) * irit.sx(3) * irit.tx(1) * irit.tz(7.65))
irit.SetResolution(20)
screen = irit.ruledsrf( irit.ctlpt( irit.E3, 0.1414, 0.1414, (-0.14 ) ) + \
                        irit.ctlpt( irit.E3, (-0.1414 ), 0.1414, (-0.14 ) ), \
                        irit.ctlpt( irit.E3, 0.1414, (-0.1414 ), (-0.14 ) ) + \
                        irit.ctlpt( irit.E3, (-0.1414 ), (-0.1414 ), (-0.14 ) ) ) * irit.rx( 5.5 ) * irit.sx( 3 ) * irit.tx( 1 ) * irit.tz( 7.65 )
irit.attrib(screen, "rgb", irit.GenStrObject("20,100,20"))

tmpbody = irit.box((1, 0.75, 6.5), 2, 3.5, 0.15)
z = 7.2
while (z <= 7.5):
    tmpbody = tmpbody ^ irit.box(((-0.1), 1, z), 0.2, 3, 0.05)
    z = z + 0.1

topround = topround / tmpbody