Exemple #1
0
def textgeom3daux(ply, wdth, dpth):
    retval = irit.nil()
    if (irit.ThisObject(ply) == irit.CURVE_TYPE):
        retval = irit.extrude((-ply), (0, 0, dpth), 0)
    if (irit.ThisObject(ply) == irit.POLY_TYPE):
        retval = irit.extrude(
            irit.ruledsrf(
                irit.offset(ply, irit.GenRealObject(-wdth / 2.0), 0, 0),
                irit.offset(ply, irit.GenRealObject(wdth / 2.0), 0, 0)),
            (0, 0, dpth), 3)
    return retval
def cornerunitbars( w, h, legw, legd ):
    sbar = irit.box( ( legw, 0, 0 ), w - 2 * legw, legd, legw )
    lbar = irit.box( ( legd, 0, 0 ), 2 * w - legd - legw, legd, legw )
    arcbar1 = irit.arc( ( w, 0, 0 ), ( w, w, 0 ), ( 2 * w, w, 0 ) )
    arcbar2 = irit.offset( arcbar1, (-legd ), 0.1, 0 )
    arcbar = irit.list( irit.extrude( arcbar1 + (-arcbar2 ) + irit.ctlpt( irit.E3, w, 0, 0 ), ( 0, 0, legw ), 0 ), irit.ruledsrf( arcbar1, arcbar2 ), irit.ruledsrf( arcbar1, arcbar2 ) * irit.tz( legw ) )
    barframe = irit.list( arcbar, sbar, sbar * irit.tx( w ) * irit.rz( 90 ) * irit.tx( 2 * w ), lbar * irit.rz( 90 ) * irit.tx( legd ), lbar * irit.tx( legw - legd ) * irit.ty( 2 * w - legd ) )
    retval = irit.list( barframe * irit.tz( 0.1 ), barframe * irit.tz( h - 0.1 ) )
    irit.attrprop( retval, "ptexture", woodtext )
    irit.attrprop( retval, "rgb", woodclr )
    return retval
def cornerunitshelf( w, h, legw, legd ):
    prof1 = ( irit.ctlpt( irit.E3, legd, legd, 0 ) + \
               irit.ctlpt( irit.E3, legd, 2 * w - legd, 0 ) + \
               irit.ctlpt( irit.E3, 2 * w - legd, 2 * w - legd, 0 ) )
    prof2 = ( \
               irit.ctlpt( irit.E3, legd, legd, 0 ) + irit.arc( ( w - legd, legd, 0 ), ( w, w, 0 ), ( 2 * w - legd, w - legd, 0 ) ) + \
               irit.ctlpt( irit.E3, 2 * w - legd, 2 * w - legd, 0 ) )
    shelfframe = irit.list( irit.extrude( prof1 + (-prof2 ), ( 0, 0, 0.03 ), 0 ), irit.ruledsrf( prof1, prof2 ), irit.ruledsrf( prof1, prof2 ) * irit.tz( 0.03 ) )
    irit.attrib( shelfframe, "ptexture", woodtext )
    irit.attrib( shelfframe, "rgb", woodclr )
    retval = irit.list( shelfframe ) * irit.tz( h )
    return retval
def marbleshelfunit( w, h ):
    prof1 = ( irit.ctlpt( irit.E3, 2 * w, 0, 0 ) + irit.cbspline( 3, irit.list( \
               irit.ctlpt( irit.E3, 2 * w, w, 0 ), \
               irit.ctlpt( irit.E3, 2 * w, 2 * w, 0 ), \
               irit.ctlpt( irit.E3, w, 2 * w, 0 ) ), irit.list( irit.KV_OPEN ) ) + \
               irit.ctlpt( irit.E3, 0, 2 * w, 0 ) )
    prof2 = ( \
               irit.ctlpt( irit.E3, 0, 2 * w, 0 ) + \
               irit.ctlpt( irit.E3, 0, 0, 0 ) + \
               irit.ctlpt( irit.E3, 2 * w, 0, 0 ) )
    retval = irit.list( irit.extrude( prof1 + prof2, ( 0, 0, 0.025 ), 0 ), irit.ruledsrf( prof1, (-prof2 ) ), irit.ruledsrf( prof1, (-prof2 ) ) * irit.tz( 0.025 ) ) * irit.tz( h )
    irit.attrprop( retval, "ptexture", marbletext )
    irit.attrprop( retval, "rgb", marbleclr )
    return retval
def cornerunitwalls( w, h, legw, legd ):
    lwall = irit.box( ( legd, 0, 0.2 ), 2 * w - 2 * legd, 0.002, h - 0.3 )
    irit.attrib( lwall, "ptexture", woodtext )
    irit.attrib( lwall, "rgb", woodclr )
    swall = irit.box( ( legd, 0, 0.2 ), w - 2 * legd, 0.002, h - 0.3 )
    irit.attrib( swall, "transp", irit.GenRealObject(0.3 ))
    arcbar1 = irit.arc( ( w, 0, 0 ), ( w, w, 0 ), ( 2 * w, w, 0 ) )
    arcbar2 = irit.offset( arcbar1, irit.GenRealObject(-0.03 ), 0.1, 0 )
    arcbar = irit.list( irit.extrude( arcbar1 + (-arcbar2 ) + irit.ctlpt( irit.E3, w, 0, 0 ), ( 0, 0, 0.03 ), 0 ), irit.ruledsrf( arcbar1, arcbar2 ), irit.ruledsrf( arcbar1, arcbar2 ) * irit.tz( 0.03 ) )
    rdoorframe = irit.list( irit.box( ( w, 0, 0.2 ), 0.03, 0.03, h - 0.3 ),\
    irit.box( ( 2 * w - 0.03, w - 0.03, 0.2 ), 0.03, 0.03, h - 0.3 ),\
    arcbar * irit.tz( 0.2 ), arcbar * irit.tz( h - 0.1 - 0.03 ) )
    irit.attrib( rdoorframe, "ptexture", woodtext )
    irit.attrib( rdoorframe, "rgb", woodclr )
    rdoorglass = irit.extrude( irit.offset( arcbar1, irit.GenRealObject(-0.02 ), 0.1, 0 ) + (-irit.offset( arcbar1, irit.GenRealObject(-0.03 ), 0.1, 0 ) ) + \
                                                               irit.ctlpt( irit.E3, w - 0.02, 0, 0 ), ( 0, 0, h - 0.3 - 0.04 ), 0 ) * irit.tz( 0.22 )
    irit.attrib( rdoorglass, "transp", irit.GenRealObject(0.3 ))
    rdoor = irit.list( rdoorframe, rdoorglass )
    rot_z = ( \
                                                               irit.ctlpt( irit.E1, 0 ) + \
                                                               irit.ctlpt( irit.E1, 130 ) )
    irit.attrib( rdoor, "animation", irit.list( irit.tx( (-w ) ), rot_z, irit.tx( w ) ) )
    retval = irit.list( lwall * irit.ty( 2 * w ), swall * irit.rz( 90 ) * irit.tx( 2 * w ) * irit.ty( w ), lwall * irit.rz( 90 ), swall, rdoor )
    return retval
Exemple #6
0
#
#  An object that has three projections of a cross, circle and a square.
#

w = 0.4
cross = ( irit.ctlpt( irit.E3, 1, 0, 0 ) + \
          irit.ctlpt( irit.E3, 1, w, 0 ) + \
          irit.ctlpt( irit.E3, w, w, 0 ) + \
          irit.ctlpt( irit.E3, w, 1, 0 ) + \
          irit.ctlpt( irit.E3, 0, 1, 0 ) )

cross = (cross + cross * irit.rz(90) + cross * irit.rz(180) +
         cross * irit.rz(270))

s1 = irit.extrude(cross * irit.tz((-2)), (0, 0, 4), 0)
irit.free(cross)

s2 = irit.extrude(irit.circle((0, 0, 0), 0.999) * irit.tz((-2)),
                  (0, 0, 4), 0) * irit.rx(90)

s = s1 * s2
irit.free(s1)
irit.free(s2)

irit.view(irit.list(irit.GetAxes(), s), irit.ON)
irit.save("crosplug", s)
irit.pause()

irit.free(s)
ruled = irit.ruledsrf(circ * irit.rotx(20),
                      circ * irit.rotx((-20)) * irit.tz(1))
printtest("ruled", irit.isgeom(ruled, irit.GEOM_RULED_SRF, 1e-010), 2)
printtest("ruled", irit.isgeom(ruled, irit.GEOM_EXTRUSION, 1e-010), 0)

irit.free(circ)

#
#  Extrusion examples.
#
printtest("extrusion", irit.isgeom(ruled, irit.GEOM_EXTRUSION, 1e-010), 0)

crv = irit.cbezier( irit.list( irit.ctlpt( irit.E2, 0, 0 ), \
                               irit.ctlpt( irit.E2, 1, 0 ), \
                               irit.ctlpt( irit.E2, 1, 1 ) ) )
extr = irit.extrude(crv, (0, 0, 1), 0)
printtest("extrusion", irit.isgeom(extr, irit.GEOM_EXTRUSION, 1e-010), 2)

extr = irit.extrude(crv, (1, 1, 1), 0)
printtest("extrusion", irit.isgeom(extr, irit.GEOM_EXTRUSION, 1e-010), 2)
printtest("extrusion", irit.isgeom(extr, irit.GEOM_EXTRUSION, 1e-010), 2)
printtest("extrusion",
          irit.isgeom(irit.sreverse(extr), irit.GEOM_EXTRUSION, 1e-010), 1)

crv = irit.circle((0, 0, 0), 0.25)
extr = irit.extrude(crv, (0.1, 0.2, 1), 0)
printtest("extrusion", irit.isgeom(extr, irit.GEOM_EXTRUSION, 1e-010), 2)

irit.free(crv)

#
Exemple #8
0
i = irit.SizeOf(t3) - 1
while (i >= 0):
    irit.snoc(irit.coord(t3, i), techlist)
    i = i + (-1)

tech = irit.poly(techlist, irit.FALSE)
irit.free(t1)
irit.free(t2)
irit.free(t3)
irit.free(techlist)

#  Make solids out of the profiles:

vec = (0, 0, 0.1)

c1psolid = irit.extrude(c1p, vec, 3)
c2psolid = irit.extrude(c2p, vec, 3)
c3psolid = irit.extrude(c3p, vec, 3)
techsolid = irit.extrude(tech, vec, 3)

irit.free(c1p)
irit.free(c2p)
irit.free(c3p)
irit.free(tech)

all = irit.list(c1psolid, c2psolid, c3psolid,
                techsolid) * irit.sc(3) * irit.tx((-1)) * irit.ty((-1))
irit.view(all, irit.ON)
irit.pause()
irit.save("cslogo", all)
Exemple #9
0
irit.free(b1)
irit.free(b2)
irit.interact(irit.list(irit.GetViewMatrix(), m1))

c1 = irit.sphere((0, 0, 0.2), 0.18)
c1 = putrgbonvertices(c1, irit.GenStrObject("0,255,255"))
irit.view(c1, irit.OFF)

m2 = (m1 - c1)

irit.free(m1)
irit.free(c1)
irit.view(m2, irit.ON)

c2 = irit.circle((0.55, 0, 0), 0.12)
c2 = irit.extrude(c2, ((-0.2), 0, 0.2), 0)
c2 = c2 * irit.circpoly((0, 0, 1), (0.55, 0, 0.05), 0.25)
c3 = irit.circle(((-0.55), 0, 0), 0.12)
c3 = irit.extrude(c3, (0.2, 0, 0.2), 0)
c3 = c3 * irit.circpoly((0, 0, 1), ((-0.55), 0, 0.05), 0.25)
c2 = putrgbonvertices(c2, irit.GenStrObject("255,0,255"))
c3 = putrgbonvertices(c3, irit.GenStrObject("255,128,128"))
irit.view(irit.list(c2, c3), irit.OFF)

m3 = (m2 - c2 - c3)
irit.free(m2)
irit.free(c2)
irit.free(c3)
final = irit.convex(m3)
irit.free(m3)
Exemple #10
0
rot_y = irit.cbezier( irit.list( irit.ctlpt( irit.E1, 0 ), \
                                 irit.ctlpt( irit.E1, (-80 ) ) ) )
trns = irit.trans(((-7.75), 0, (-7.45)))
irit.attrib(stopper, "animation", irit.list(trns, rot_y, trns ^ (-1)))
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):
Exemple #11
0
def outlinechar(char):
    ochar = irit.offset(char, irit.GenRealObject(-0.02), 0, 0)
    retval = (irit.extrude(char, (0, 0, 1), 3) -
              irit.extrude(ochar, (0, 0, 1.2), 3) * irit.tz((-0.1)))
    return retval
Exemple #12
0
i1outline = outlinechar(i) * irit.rx(90)
r2outline = outlinechar(r) * irit.trans((0.4, 0, 0)) * irit.rx(90)
i3outline = outlinechar(i) * irit.trans((0.8, 0, 0)) * irit.rx(90)
t4outline = outlinechar(t) * irit.trans((1.2, 0, 0)) * irit.rx(90)

irit.free(i)
irit.free(r)
irit.free(t)

irit.SetViewMatrix(irit.GetViewMatrix() * irit.trans(((-0.8), 0, 0)))

irit.view(irit.list(irit.GetViewMatrix(), i1, r2, i3, t4), irit.ON)

ext_dir = (0, (-1), 0)

i1x = irit.extrude(i1, ext_dir, 3)
r2x = irit.extrude(r2, ext_dir, 3)
i3x = irit.extrude(i3, ext_dir, 3)
t4x = irit.extrude(t4, ext_dir, 3)
irit.free(i1)
irit.free(r2)
irit.free(i3)
irit.free(t4)

s1 = i1x ^ r2x ^ i3x ^ t4x
final = irit.convex(s1)
irit.free(s1)
irit.interact(final)
irit.free(final)

s2 = i1outline ^ r2outline ^ i3outline ^ t4outline
Exemple #13
0
def shearbox(shearx, sheary, x, y, z):
    pl = irit.poly(
        irit.list(((-x), (-y), (-z)), ((-x), y, (-z)), irit.point(x, y, (-z)),
                  irit.point(x, (-y), (-z))), irit.FALSE)
    retval = irit.extrude(pl, (shearx, sheary, 2 * z), 3)
    return retval
# ############################################################################
# 
#  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 )

irit.save( "warp3trv", all )
irit.pause()

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

irit.SetViewMatrix(  save_mat2)
Exemple #15
0
irit.attrib( carouselbase, "reflect", irit.GenRealObject(0.9 ))

carousel = irit.list( carouselbase, carouselrods * irit.trans( ( 0, 0, 0.3 ) ) )
irit.free( carouselbase )
irit.free( carouselrods )

# 
#  A swing
# 
swingsiderod = irit.sweepsrf( irit.circle( ( 0, 0, 0 ), 0.01 ), irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0.2, 0, (-0.05 ) ), \
                                                                                             irit.ctlpt( irit.E3, 0.1, 0, 0.95 ), \
                                                                                             irit.ctlpt( irit.E3, 0.05, 0, 1 ), \
                                                                                             irit.ctlpt( irit.E3, (-0.05 ), 0, 1 ), \
                                                                                             irit.ctlpt( irit.E3, (-0.1 ), 0, 0.95 ), \
                                                                                             irit.ctlpt( irit.E3, (-0.2 ), 0, (-0.05 ) ) ), irit.list( irit.KV_OPEN ) ), irit.GenRealObject(0 ))
swingframe = irit.list( swingsiderod * irit.trans( ( 0, (-1 ), 0 ) ), swingsiderod * irit.trans( ( 0, 1, 0 ) ), irit.extrude( irit.circle( ( 0, 0, 0 ), 0.01 ), ( 0, 0, 2 ), 0 ) * irit.rotx( (-90 ) ) * irit.trans( ( 0, (-1 ), 1 ) ) )
irit.color( swingframe, irit.RED )
irit.attrib( swingframe, "reflect", irit.GenRealObject(0.5 ))
irit.free( swingsiderod )

swingchairrods = irit.list( irit.extrude( irit.circle( ( 0, 0, 0 ), 0.02 ), ( 0, 0, 0.03 ), 0 ) * irit.rotx( (-90 ) ) * irit.trans( ( 0, (-0.015 ), 1 ) ), irit.extrude( irit.circle( ( 0, 0, 0.2 ), 0.01 ), ( 0, 0, 0.8 ), 0 ), (-irit.extrude( irit.circle( ( 0, 0, 0.2 ), 0.007 ), ( 0, 0, (-0.07 ) ), 0 ) ) * irit.roty( 90 ) * irit.trans( ( (-0.2 ), 0, 0.27 ) ) )
swingchair1rods = irit.list( swingchairrods * irit.trans( ( 0, (-0.07 ), 0 ) ), swingchairrods * irit.trans( ( 0, 0.07, 0 ) ) )
irit.color( swingchair1rods, irit.GREEN )
irit.attrib( swingchair1rods, "reflect", irit.GenRealObject(0.9 ))
swingchair1 = irit.list( swingchair1rods, chair * irit.scale( ( 0.25, 0.28, 0.25 ) ) * irit.trans( ( (-0.07 ), 0, 0.05 ) ) )
irit.free( swingchair1rods )

swingchair2rods = irit.list( swingchairrods * irit.trans( ( 0, 0.53, 0 ) ), swingchairrods * irit.trans( ( 0, 0.67, 0 ) ) )
irit.color( swingchair2rods, irit.YELLOW )
irit.attrib( swingchair2rods, "reflect", irit.GenRealObject(0.9 ))
swingchair2 = irit.list( swingchair2rods, chair * irit.scale( ( 0.25, 0.28, 0.25 ) ) * irit.trans( ( (-0.07 ), 0.6, 0.05 ) ) )
Exemple #16
0
irit.free(t2)
irit.SetResolution(12)
s1 = irit.sphere((1, 0, 0), 0.135)
irit.attrib(s1, "id", irit.GenRealObject(4))

b2 = (b1 - s1)
irit.free(b1)
irit.free(s1)
irit.view(irit.list(irit.GetViewMatrix(), b2), irit.ON)

v1 = (0, 0.19, 0.35)
v2 = (0, (-0.19), 0.35)
v3 = (1, (-0.14), 0.35)
v4 = (1, 0.14, 0.35)
crosssec = irit.poly(irit.list(v1, v2, v3, v4), irit.FALSE)
ext1 = irit.extrude(crosssec, (0, 0, 0.07), 3)
irit.attrib(ext1, "id", irit.GenRealObject(5))

irit.free(crosssec)
b3 = (c1 + ext1 + b2)
irit.free(c1)
irit.free(ext1)
irit.free(b2)
irit.view(b3, irit.ON)

#
#  Time to do the final hole in the big cylinder. Note we couldnt do it before
#  as E1 would have penetrate it...
#
irit.SetResolution(16)
c3 = irit.cylin((0, 0, (-0.1)), (0, 0, 0.9), 0.165, 3)
Exemple #17
0
isos1 = irit.getisocurves(trs, 5, 5)
irit.color(isos1, irit.RED)
irit.interact(irit.list(isos1, trs))
isos2 = irit.getisocurves(trs, 11, 11)
irit.color(isos2, irit.RED)
irit.interact(irit.list(isos2, trs))

irit.save("macros4", irit.list(trs, isos1, isos2))

irit.free(isos1)
irit.free(isos2)
irit.free(trs)

circ = irit.circle((0, 0, 0), 1)
cyl = irit.extrude(circ, (0, 0, 1), 3)
irit.interact(irit.list(cyl, circ))

circply = irit.cnvrtcrvtopolygon(circ, 25, 0)
cyl = irit.extrude(circply, (0, 0, 1), 3)
irit.interact(irit.list(cyl, circply, circ))

irit.save("macros5", irit.list(cyl, circply, circ))

irit.free(circ)
irit.free(circply)
irit.free(cyl)

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(
Exemple #18
0
s1 = irit.boolone(irit.pcircle((0, 0, 0), 1))
s2 = irit.boolone(irit.pcircle((0, 0, 1), 0.5))
irit.color(s1, irit.RED)
irit.attrib(s1, "adwidth", irit.GenRealObject(3))
irit.color(s2, irit.RED)
irit.attrib(s2, "adwidth", irit.GenRealObject(3))

tv1 = irit.ruledtv(s1, s2)

irit.interact(irit.list(tv1, s1, s2))

#
#  Constructing via Extrusion
#

tv2 = irit.extrude(s1, (0, 1, 0.5), 0)
tv3 = irit.extrude(s2, (0, 0.2, (-0.4)), 0)

irit.interact(irit.list(tv2, tv3, s1, s2))

irit.save("trivar11", irit.list(tv1, tv2, tv3))

irit.free(s1)
irit.free(s2)

#
#  Constructs a trivariate from a list of surfaces.
#
s1 = irit.sbezier( irit.list( irit.list( irit.ctlpt( irit.E3, (-0.5 ), (-0.5 ), 0 ), \
                                         irit.ctlpt( irit.E3, (-0.5 ), 0.5, 0 ) ), irit.list( \
                                         irit.ctlpt( irit.E3, 0.5, (-0.5 ), 0 ), \
Exemple #19
0
                                            irit.ctlpt( irit.E3, (-2 ), 0, 15 ), \
                                            irit.ctlpt( irit.E3, (-13 ), 0, 15 ), \
                                            irit.ctlpt( irit.E3, (-13 ), 0, 5 ), \
                                            irit.ctlpt( irit.E3, (-5 ), 0, 0 ), \
                                            irit.ctlpt( irit.E3, 0, 0, (-10 ) ) ), irit.list( irit.KV_OPEN ) ) ) * irit.sc( 0.5 ) * irit.trans( ( 40, 1, 65 ) )

#
#  We generate some colinear vertices here:
#

back = ( irit.extrude( \
    irit.poly( \

     irit.cnvrtpolytoptlist( \
      irit.cnvrtcrvtopolygon( backcross, 50, 0 ) \
            ) + \
     backcrosspts, 0 \
      ), \
    ( 0, 2, 0 ), \
    3 \
     ) - \
  irit.extrude( \
    irit.cnvrtcrvtopolygon( heartcross, 50, 0 ), \
    ( 0, (-2 ), 0 ), \
    3 \
     ) \
  ) * irit.ty( 189 )
irit.attrib(back, "rgb", irit.GenStrObject("244,164,96"))
irit.free(backcrosspts)
irit.free(heartcross)
irit.free(backcross)
Exemple #20
0
#
import math
import irit
#


# 
#  The Logo of the Technion
# 
#                                Gershon Elber, March 1998
# 

save_res = irit.GetResolution()

tech1 = irit.poly( irit.list( ( 0, (-0.35 ), 0 ), ( 0.58, 0.8, 0 ), ( (-0.58 ), 0.8, 0 ), ( 0, (-0.35 ), 0 ) ), irit.FALSE )
tech1clip = irit.extrude( tech1, ( 0, 0, 1 ), 3 ) * irit.tz( (-0.5 ) ) * irit.ty( (-0.06 ) )

angle = 360/16.0
angle_log = 4
irit.SetResolution(  16)
c = irit.cylin( ( 0.6, 0, (-0.1 ) ), ( 0, 0, 0.3 ), 0.1, 3 )
i = 1
while ( i <= angle_log ):
    c = c ^ ( c * irit.rotz( angle ) )
    angle = angle * 2
    i = i + 1

irit.SetResolution(  64)
w = irit.cylin( ( 0, 0, 0 ), ( 0, 0, 0.12 ), 0.6, 3 )

wheel = ( w * irit.rz( 360/32.0 ) - c - tech1clip - irit.cylin( ( 0, 0, (-0.2 ) ), ( 0, 0, 0.5 ), 0.35, 3 ) )