Ejemplo n.º 1
0
irit.attrib( prmdomain, "transp", irit.GenRealObject(0.8 ))

all = irit.list( warpedteapot, prmdomain ) * irit.rx( 90 ) * irit.ry( 20 ) * irit.rx( 10 ) * irit.sc( 0.5 )

interact( irit.list( all, irit.GetViewMatrix() ) )

irit.save( "warp2trv", all )

# ############################################################################
# 
#  Let the Genie come out of the teapot...
# 

teapot = teapotorig * irit.sc( 0.2 ) * irit.sx( (-1 ) ) * irit.rx( 90 ) * irit.rz( 180 )

s = irit.planesrf( (-1 ), (-1 ), 1, 1 ) * irit.sc( 1.7 )
discs = irit.list( s * irit.sc( 0.01 ) * irit.sx( 2 ) * irit.tx( 0.58 ) * irit.tz( 0.42 ), s * irit.sc( 0.01 ) * irit.sx( 2 ) * irit.tx( 0.62 ) * irit.tz( 0.46 ), s * irit.sc( 0.05 ) * irit.sx( 1.5 ) * irit.tx( 0.65 ) * irit.tz( 0.55 ), s * irit.sc( 0.07 ) * irit.sx( 1.5 ) * irit.tx( 0.7 ) * irit.tz( 0.7 ), s * irit.sc( 0.09 ) * irit.sx( 1.5 ) * irit.tx( 0.65 ) * irit.tz( 0.85 ), s * irit.sc( 0.08 ) * irit.sx( 1.5 ) * irit.tx( 0.7 ) * irit.tz( 1 ), s * irit.sc( 0.07 ) * irit.tx( 0.7 ) * irit.tz( 1.1 ) )
tv = irit.tfromsrfs( discs, 3, irit.KV_OPEN )

#  Create a refined cylinder to warp out of the teapot...

c = irit.creparam( irit.pcircle( ( 0.5, 0.5, 0.001 ), 0.45 ), 0, 1 )
srf = irit.extrude( c, ( 0, 0, 0.99 ), 0 )
srf = irit.srefine( irit.srefine( srf, irit.COL, 0, irit.list( 0.1, 0.2, 0.3, 0.4, 0.6, 0.7,\
0.8, 0.9 ) ), irit.ROW, 0, irit.list( 0.1, 0.2, 0.3, 0.4, 0.5, 0.6,\
0.7, 0.8, 0.9 ) )
warpedsrf = warpsurface( (-srf ), tv )
irit.attrib( warpedsrf, "ptexture", irit.GenStrObject("g.gif" ))

irit.view( irit.list( teapot, warpedsrf ), irit.ON )
Ejemplo n.º 2
0
        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


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

b = (-irit.planesrf((-6), (-6), 6, 6))

all = irit.list(irit.planesrf(6, 6, (-6), (-6)), ant(1))

irit.view(all, irit.ON)
irit.save("ant.itd.gz", all)

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

#
#  s: 1 or -1 based on leg timing.
#


def antlleganim(s):
    retval = antleg()
Ejemplo n.º 3
0
                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 ) * \
       irit.sx( 1.5 ) * \
       irit.trans( ( 0.66, 0, 0.7 ) ),
       s * \
       irit.sc( 0.15 ) * \
Ejemplo n.º 4
0
cross = (irit.arc((0.2, 0, 0), (0.2, 0.2, 0), (0, 0.2, 0)) + irit.arc(
    (0, 0.4, 0), (0.1, 0.4, 0), (0.1, 0.5, 0)) + irit.arc(
        (0.8, 0.5, 0), (0.8, 0.3, 0), (1, 0.3, 0)) + irit.arc(
            (1, 0.1, 0), (0.9, 0.1, 0),
            (0.9, 0, 0)) + irit.ctlpt(irit.E2, 0.2, 0))
crossply = irit.cnvrtcrvtopolygon(cross, 50, 0)
cyl = irit.extrude(crossply, (0, 0, 1), 3)
irit.interact(irit.list(cyl, crossply, cross))

irit.save("macros6", irit.list(cyl, crossply, cross))

irit.free(crossply)
irit.free(cross)
irit.free(cyl)

s = irit.planesrf((-1), (-1), 1, 1)
irit.interact(s)

s1 = irit.spheresrf(0.4)
irit.interact(s1)
s2 = irit.spheresrf(0.7)
irit.interact(s2)

s3 = irit.torussrf(0.5, 0.4)
irit.interact(s3)
s4 = irit.torussrf(0.5, 0.05)
irit.interact(s4)

s5 = irit.cylinsrf(0.5, 0.4)
irit.interact(s5)
s6 = irit.cylinsrf(0.5, 0.05)
Ejemplo n.º 5
0
#
#  A cone: returned is (Error, Xapex, Yapex, Zapex, angle,
#                                     Xdir, Ydir, Zdir)
#
x1 = irit.maxedgelen( irit.triangl( irit.con2( ( 0, 0, 0 ), ( 0, 0, 1 ), 1, 2, 0 ),\
1 ), 0.3 )
x2 = irit.maxedgelen( irit.triangl( irit.con2( ( (-1 ), 1.2, (-0.5 ) ), ( 2, 1, 1 ), 0.5, 0, 0 ),\
1 ), 0.3 )
conefit = irit.list(irit.fitpmodel(x1, 4, 0.001, 30),
                    irit.fitpmodel(x2, 4, 1e-005, 30))

#
#  Planar fit: return is (Error, A, B, C, D)
#

x1 = irit.triangl(irit.gpolygon(irit.planesrf(0, 0, 1, 1), 1), 1)
x1 = irit.maxedgelen(x1, 0.2)

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):
Ejemplo n.º 6
0
irit.color(s1, irit.RED)
irit.color(s2, irit.GREEN)

i = testinter(s1, s2)

all = irit.list(s1, s2, i)

irit.interact(all)

irit.save("ssi17", all)

#
#  18. Simple plane intersection (a test with an E2 surface).
#

s1 = irit.planesrf(0, 0, 4, 4)
s2 = s2 * irit.tz((-0.7))
irit.color(s1, irit.RED)
irit.color(s2, irit.GREEN)

i = testinter(s1, s2)

all = irit.list(s1, s2, i)

irit.interact(all)

irit.save("ssi18", all)

#
#  19. This is between two quadratic Bspline surfaces.
#