Esempio n. 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
Esempio n. 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
Esempio n. 3
0
irit.SetResolution(res)
srf1 = irit.gpolygon((-irit.sweepsrf(irit.coerce(cross, irit.KV_OPEN), direc,
                                     irit.GenIntObject(0))), 1)
irit.free(cross)
irit.free(direc)

irit.SetResolution(res * 5)
cyl1 = irit.cylin((0, 0, (-1)), (0, 0, 2), 1.15, 3)

srf2 = srf1 * cyl1
irit.free(cyl1)

irit.SetResolution(res * 5)
cyl2 = irit.cylin((0, 0.2, (-1)), (0, 0, 2), 0.6, 3)

srf3 = srf1 * cyl2 * irit.sz(4) * irit.sx(0.9) * irit.ty((-0.15))
irit.free(srf1)
irit.free(cyl2)

srf4 = (srf2 - srf3)
irit.free(srf2)
irit.free(srf3)

cross = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, (-0.5 ), 0, 0.5 ), \
                                     irit.ctlpt( irit.E3, (-0.5 ), 0, 0.23 ), \
                                     irit.ctlpt( irit.E3, (-0.3 ), 0, 0.23 ), \
                                     irit.ctlpt( irit.E3, 0.3, 0, 0.23 ), \
                                     irit.ctlpt( irit.E3, 0.5, 0, 0.23 ), \
                                     irit.ctlpt( irit.E3, 0.5, 0, 0.5 ) ), irit.list( irit.KV_OPEN ) )

irit.SetResolution(res)
Esempio n. 4
0
c = irit.nth(
    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 ) ) ) )
Esempio n. 5
0
              irit.symbprod(ms1, ms1)))

#
#  Examine MZERO
#
s1 = irit.bivariate2bezier("math.pow(x, 2) + math.pow(y, 2) - 1", 2, 2)

s1 = irit.coerce( irit.sregion( irit.sregion( s1, irit.COL, (-3 ), 3 ), irit.ROW, (-3 ),\
3 ), irit.MULTIVAR_TYPE )
s2 = irit.bivariate2bezier("math.pow((x + 1), 2) + math.pow(y, 2) - 1", 2, 2)
s2 = irit.coerce( irit.sregion( irit.sregion( s2, irit.COL, (-3 ), 3 ), irit.ROW, (-3 ),\
3 ), irit.MULTIVAR_TYPE )

sol = irit.mzero(irit.list(s1, s2), 0.01, 1e-006)
irit.color(sol, irit.RED)
m = irit.rotx((-90)) * irit.roty((-90)) * irit.sz(0.1)
irit.interact(
    irit.list(
        irit.coerce(irit.coerce(s1, irit.SURFACE_TYPE), irit.E3) * m,
        irit.coerce(irit.coerce(s2, irit.SURFACE_TYPE), irit.E3) * m,
        irit.coerce(irit.coerce(s2, irit.SURFACE_TYPE), irit.E3) * m *
        irit.sz(0), sol))

sol = irit.mzero(irit.list(s1), 0.01, 1e-006)
irit.color(sol, irit.RED)
m = irit.rotx((-90)) * irit.roty((-90)) * irit.sz(0.1)
irit.interact(
    irit.list(
        irit.coerce(irit.coerce(s1, irit.SURFACE_TYPE), irit.E3) * m,
        irit.coerce(irit.coerce(s2, irit.SURFACE_TYPE), irit.E3) * m *
        irit.sz(0), sol))
Esempio n. 6
0
c2 = irit.cbezier( irit.list( irit.ctlpt( irit.E2, 0.3, (-0.7 ) ), \
                              irit.ctlpt( irit.E2, (-0.2 ), (-0.7 ) ), \
                              irit.ctlpt( irit.E2, 0.7, 0.6 ) ) )

irit.color( c1, irit.YELLOW )
irit.attrib( c1, "dwidth", irit.GenRealObject(2 ))
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 ))
Esempio n. 7
0
                              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 )
    c2 = irit.cbezier( irit.list( irit.ctlpt( irit.E3, a, (-1 ), 0 ), \
                                   irit.ctlpt( irit.E3, a, 1, 0 ) ) )
    r2 = irit.cbezier( irit.list( \
Esempio n. 8
0
    irit.attrib( c, "gray", irit.GenRealObject(0.5) )
    irit.awidth( c, 0.02 )
    co = irit.offset( c, irit.GenRealObject(ofst), 0.001, 1 )
    dms = buildoffsetvisibilitymap( c, step, ofst )
    irit.attrib( dms, "rgb", irit.GenStrObject("128, 128, 255" ))
    views = computeviews( c, dms, "" )
    viewptcurves = irit.nil(  )
    i = 1
    while ( i <= irit.SizeOf( views ) ):
        t = irit.FetchRealObject(irit.nth( views, i ) * step)
        pt = irit.coerce( irit.ceval( co, t ), irit.POINT_TYPE ) * irit.tz( 1 )
        v = offsetcrvlist( irit.cvisible( c, irit.Fetch3TupleObject(pt), 0.0001 ), 1/100.0 + i/130 )
        irit.attrib( v, "dash", irit.nth( dashlist, i ) )
        irit.awidth( v, 0.009 )
        rgb = randrgb(  )
        pt = pt * irit.sz( 0.01 )
        irit.attrib( v, "rgb", irit.GenStrObject(rgb ))
        irit.attrib( pt, "rgb", irit.GenStrObject(rgb ))
        irit.snoc( pt, viewptcurves )
        irit.snoc( v, viewptcurves )
        i = i + 1
    irit.interact( irit.list( c, viewptcurves ) )
    irit.save( "art" + str(j) + "glry", irit.list( c, viewptcurves ) )
    j = j + 1

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

irit.free( crvs )
irit.free( c1 )
irit.free( c2 )
irit.free( c3 )
Esempio n. 9
0
                                (0, irit.max(maxy, 0), 0)), 1) + irit.poly(
                                    irit.list((0, 0, irit.min(minz, 0)),
                                              (0, 0, irit.max(maxz, 0))), 1))

    irit.color(ax, irit.RED)
    irit.attrib(ax, "width", irit.GenRealObject(0.02))
    retval = irit.list(pl, ax)
    irit.viewobj(retval)
    irit.printf(
        "xdomain = [%lf %lf], ydomain = [%lf %lf], zdomain = [%lf %lf]\n",
        irit.list(minx, maxx, miny, maxy, minz, maxz))
    return retval


echosrc = irit.iritstate("echosource", echosrc)
irit.free(echosrc)

irit.viewclear()
fn = plotfunc2d((-1), 5, 50)
irit.pause()

irit.viewclear()
irit.SetViewMatrix(
    irit.sz(5) * irit.rotz(35) * irit.rotx((-60)) * irit.sc(0.1))
irit.viewobj(irit.GetViewMatrix())
fn = plotfunc3d((-10), 10, (-10), 10, 50, 10)
irit.pause()

irit.SetViewMatrix(save_mat)
irit.free(fn)
Esempio n. 10
0
view_mat2 = irit.GetViewMatrix() * irit.sc(0.5) * irit.ty(0.5)

irit.viewstate("depthcue", 0)
irit.viewstate("drawstyle", 1)
irit.viewstate("polyaprx", 1)

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

c4 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E3, (-0.6 ), (-0.3 ), 0 ), \
                                  irit.ctlpt( irit.E2, 0.6, (-0.3 ) ), \
                                  irit.ctlpt( irit.E2, 0.6, 0.3 ), \
                                  irit.ctlpt( irit.E2, (-0.6 ), 0.3 ) ), irit.list( irit.KV_PERIODIC ) )

k = irit.crvkernel(c4, 0, 0, irit.list(3, 3, 3), 0)
irit.attrib(k, "rgb", irit.GenStrObject("1,1,1"))
irit.interact(irit.list(c4, bg, k * irit.sz(0), view_mat1))

irit.attrib(k, "rgb", irit.GenStrObject("0,255,255"))
irit.interact(irit.list(c4, k * irit.sz((-3)), view_mat2))

k1 = irit.crvkernel(c4, 20, 0, irit.list(3, 3, 3), 0)
irit.attrib(k1, "rgb", irit.GenStrObject("100,1,1"))
k2 = irit.crvkernel(c4, (-20), 0, irit.list(3, 3, 3), 0)
irit.attrib(k2, "rgb", irit.GenStrObject("1,100,1"))
irit.interact(irit.list(c4, bg, k1 * irit.sz(0), k2 * irit.sz(0), view_mat1))

s = irit.crvkernel(c4, 0, 0, irit.list(0.25, (-0.01)), 1)
irit.attrib(s, "rgb", irit.GenStrObject("255,0,255"))

irit.interact(irit.list(c4, k * irit.sz((-3)), s, view_mat2))
Esempio n. 11
0
              c2 * irit.sc(0.5) * irit.tz(1.2),
              c1 * irit.sc(0.4) * irit.tz(1.5),
              c1 * irit.sc(0.2) * irit.tz(1.6)), 3, irit.KV_OPEN)

drawbitangencies( irit.list( s, s ), 0, 0.125, (-1e-006 ), 0.1,\
1, "srf2tan" )

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

s1 = irit.sfromcrvs(
    irit.list(c2 * irit.sc(0.001), c2, c2 * irit.tz(1),
              c2 * irit.sc(0.001) * irit.tz(1)), 3,
    irit.KV_OPEN) * irit.sc(0.1)
s2 = s1 * irit.ry(14) * irit.tx(0.6) * irit.tz(0.02)
s3 = s1 * irit.rx(12) * irit.ty(0.6) * irit.tx(0.3) * irit.tz(0.01)

drawtritangencies(
    irit.list(s1, s2, s3) * irit.sz(1), 1, 0.5, (-1e-006), "srf3tan")

drawtritangencies(
    irit.list(s1, s2, s3) * irit.sz(1), 0, 0.5, (-1e-006), "srf4tan")

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

irit.free(c1)
irit.free(c2)
irit.free(s)
irit.free(s1)
irit.free(s2)
irit.free(s3)
Esempio n. 12
0
c2 = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0, (-0.279 ), (-1.54 ) ), \
                                  irit.ctlpt( irit.E3, 0, (-0.483 ), (-0.896 ) ), \
                                  irit.ctlpt( irit.E3, 0, (-0.762 ), (-0.631 ) ), \
                                  irit.ctlpt( irit.E3, 0, (-1.07 ), (-0.0984 ) ), \
                                  irit.ctlpt( irit.E3, 0, (-0.747 ), 0.761 ), \
                                  irit.ctlpt( irit.E3, 0, 0, 1 ), \
                                  irit.ctlpt( irit.E3, 0, 0.747, 0.761 ), \
                                  irit.ctlpt( irit.E3, 0, 1.07, (-0.0984 ) ), \
                                  irit.ctlpt( irit.E3, 0, 0.762, (-0.631 ) ), \
                                  irit.ctlpt( irit.E3, 0, 0.483, (-0.896 ) ), \
                                  irit.ctlpt( irit.E3, 0, 0.279, (-1.54 ) ), \
                                  irit.ctlpt( irit.E3, 0, 0, (-1.78 ) ) ), irit.list( irit.KV_PERIODIC ) )

crvs = irit.list(
    c * irit.sc(0.001) * irit.trans((1.02, 0, 0.18)),
    c * irit.sc(0.07) * irit.sz(0.4) * irit.trans((1.02, 0, 0.18)),
    c * irit.sc(0.18) * irit.sz(0.3) * irit.trans((0.8, 0, 0.16)),
    c * irit.sc(0.27) * irit.sz(0.5) * irit.trans((0.6, 0, 0.16)),
    c * irit.sc(0.43) * irit.sz(0.64) * irit.trans((0.3, 0, 0.2)),
    c * irit.sc(0.54) * irit.sz(0.7) * irit.trans((0, 0, 0.23)),
    c * irit.sc(0.52) * irit.ry(25) * irit.sz(0.76) * irit.trans(
        ((-0.34), 0, 0.26)),
    c * irit.sc(0.41) * irit.sz(1.13) * irit.ry(50) * irit.trans(
        ((-0.6), 0, 0.32)),
    c * irit.sc(0.3) * irit.sz(1.3) * irit.ry(65) * irit.trans(
        ((-0.7), 0, 0.42)),
    c * irit.sc(0.16) * irit.sz(1.4) * irit.ry(75) * irit.trans(
        ((-0.71), 0, 0.5)),
    c * irit.sc(0.16) * irit.sz(1.4) * irit.ry(75) * irit.trans(
        ((-0.72), 0, 0.53)),
    c2 * irit.sc(0.2) * irit.sz(1.5) * irit.ry(75) * irit.trans(
Esempio n. 13
0
#

#
#  Few examples of computing the orthogonality map  of a planar curve.
#
#                                gershon Elber, August 2004
#

unitsquare = ( irit.ctlpt( irit.E2, 0, 0 ) + \
               irit.ctlpt( irit.E2, 0, 1 ) + \
               irit.ctlpt( irit.E2, 1, 1 ) + \
               irit.ctlpt( irit.E2, 1, 0 ) + \
               irit.ctlpt( irit.E2, 0, 0 ) )
irit.color(unitsquare, irit.RED)
m1 = irit.rotx((-90)) * irit.roty((-90))
m2 = m1 * irit.sz(0)


def displayposnormal(crv, t1, t2, scl, bg_obj):
    pt1 = irit.ceval(crv, irit.FetchRealObject(t1))
    pt2 = irit.ceval(crv, irit.FetchRealObject(t2))
    n1 = irit.cnormal(crv, irit.FetchRealObject(t1))
    n2 = irit.cnormal(crv, irit.FetchRealObject(t2))
    ptt1 = (irit.ctlpt(irit.E2, t1, t2) + irit.ctlpt(irit.E2, t1, 0))
    irit.color(ptt1, irit.YELLOW)
    ptt2 = (irit.ctlpt(irit.E2, t1, t2) + irit.ctlpt(irit.E2, 0, t2))
    irit.color(ptt2, irit.CYAN)
    n1 = (irit.coerce(
        irit.coerce(pt1, irit.POINT_TYPE) + n1 * irit.sc(scl), irit.E2) + pt1)
    irit.color(n1, irit.YELLOW)
    n2 = (irit.coerce(
Esempio n. 14
0
def dup8vrtices( o ):
    ox = irit.list( o, o * irit.sx( (-1 ) ) )
    oy = irit.list( ox, ox * irit.sy( (-1 ) ) )
    retval = irit.list( oy, oy * irit.sz( (-1 ) ) )
    return retval
Esempio n. 15
0
irit.free(s2)
irit.free(s2a)
irit.pause()

# ############################################################################
#
#  A bicubic surface (region of a glass)
#

c3tmp = irit.cbezier( irit.list( irit.ctlpt( irit.E3, (-0.6 ), 0, 0 ), \
                                 irit.ctlpt( irit.E3, (-0.2 ), 0, 0.4 ), \
                                 irit.ctlpt( irit.E3, 0.2, 0, (-0.4 ) ), \
                                 irit.ctlpt( irit.E3, 0.6, 0, 0 ) ) )
s3 = irit.sfromcrvs(
    irit.list(c3tmp * irit.ty((-0.6)),
              c3tmp * irit.sz((-1)) * irit.tz(0.1) * irit.ty((-0.2)),
              c3tmp * irit.ty(0.2) * irit.tz((-0.1)),
              c3tmp * irit.sz((-1)) * irit.ty(0.6)), 4, irit.KV_OPEN)
irit.free(c3tmp)
irit.color(s3, irit.RED)

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

bisect = irit.sbisector(s3, irit.Fetch3TupleObject(pt))
irit.color(bisect, irit.CYAN)

irit.save("sbisect4", irit.list(s3, pt, bisect))
irit.interact(irit.list(s3, pt, bisect))
Esempio n. 16
0
# #######################################################################
#
#  Curve matching example: Duck
#

c = irit.cbezier( irit.list( irit.ctlpt( irit.E3, 0, 0, (-1.3 ) ), \
                             irit.ctlpt( irit.E3, 0, (-1.5 ), (-1.25 ) ), \
                             irit.ctlpt( irit.E3, 0, (-0.9 ), 1.1 ), \
                             irit.ctlpt( irit.E3, 0, 0.9, 1.15 ), \
                             irit.ctlpt( irit.E3, 0, 1.5, (-1.25 ) ), \
                             irit.ctlpt( irit.E3, 0, 0, (-1.3 ) ) ) )

irit.view(c, irit.ON)

c = c * irit.sy(1.6) * irit.sz(1.3)

r1 = irit.coerce( irit.cpower( irit.list( irit.ctlpt( irit.E1, 0 ), \
                                          irit.ctlpt( irit.E1, 0.25 ), \
                                          irit.ctlpt( irit.E1, 0.75 ) ) ), irit.BEZIER_TYPE )
r2 = irit.coerce( irit.cpower( irit.list( irit.ctlpt( irit.E1, 0 ), \
                                          irit.ctlpt( irit.E1, 1.5 ), \
                                          irit.ctlpt( irit.E1, (-0.5 ) ) ) ), irit.BEZIER_TYPE )
c1a = irit.compose(c, r1)
c1b = irit.compose(c, r2)

c2 = irit.cbspline( 6, irit.list( irit.ctlpt( irit.E3, 0, (-0.279 ), (-1.54 ) ), \
                                  irit.ctlpt( irit.E3, 0, (-0.483 ), (-0.896 ) ), \
                                  irit.ctlpt( irit.E3, 0, (-0.762 ), (-0.631 ) ), \
                                  irit.ctlpt( irit.E3, 0, (-1.07 ), (-0.0984 ) ), \
                                  irit.ctlpt( irit.E3, 0, (-0.747 ), 0.761 ), \
Esempio n. 17
0
def knight(s, clr):
    sec4 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E2, 0.275, 0 ), \
                                         irit.ctlpt( irit.E2, 0.275, 0.185 ), \
                                         irit.ctlpt( irit.E2, 0.101, 0.442 ), \
                                         irit.ctlpt( irit.E2, 0.051, 0.601 ), \
                                         irit.ctlpt( irit.E2, 0.012, 0.909 ), \
                                         irit.ctlpt( irit.E2, 0.153, 0.843 ), \
                                         irit.ctlpt( irit.E2, 0.309, 0.789 ), \
                                         irit.ctlpt( irit.E2, 0.34, 0.805 ), \
                                         irit.ctlpt( irit.E2, 0.248, 0.879 ), \
                                         irit.ctlpt( irit.E2, 0.359, 0.836 ), \
                                         irit.ctlpt( irit.E2, 0.362, 0.88 ), \
                                         irit.ctlpt( irit.E2, 0.218, 1.014 ), \
                                         irit.ctlpt( irit.E2, 0.061, 1.133 ), \
                                         irit.ctlpt( irit.E2, (-0.132 ), 1.135 ), \
                                         irit.ctlpt( irit.E2, (-0.212 ), 1.062 ), \
                                         irit.ctlpt( irit.E2, (-0.209 ), 0.923 ), \
                                         irit.ctlpt( irit.E2, (-0.156 ), 0.852 ), \
                                         irit.ctlpt( irit.E2, (-0.124 ), 0.578 ), \
                                         irit.ctlpt( irit.E2, (-0.126 ), 0.463 ), \
                                         irit.ctlpt( irit.E2, (-0.263 ), 0.211 ), \
                                         irit.ctlpt( irit.E2, (-0.266 ), 0 ) ), irit.list( irit.KV_OPEN ) )
    sec3 = irit.cbspline( 4, irit.list( \
                                         irit.ctlpt( irit.E3, 0.275, 0, 0.143 ), \
                                         irit.ctlpt( irit.E3, 0.275, 0.185, 0.143 ), \
                                         irit.ctlpt( irit.E3, 0.101, 0.442, 0.07 ), \
                                         irit.ctlpt( irit.E3, 0.051, 0.601, 0.05 ), \
                                         irit.ctlpt( irit.E3, 0.012, 0.909, 0.04 ), \
                                         irit.ctlpt( irit.E3, 0.153, 0.843, 0.031 ), \
                                         irit.ctlpt( irit.E3, 0.218, 0.816, 0.03 ), \
                                         irit.ctlpt( irit.E3, 0.319, 0.788, 0.032 ), \
                                         irit.ctlpt( irit.E3, 0.336, 0.806, 0.035 ), \
                                         irit.ctlpt( irit.E3, 0.246, 0.875, 0.034 ), \
                                         irit.ctlpt( irit.E3, 0.393, 0.836, 0.036 ), \
                                         irit.ctlpt( irit.E3, 0.274, 0.943, 0.037 ), \
                                         irit.ctlpt( irit.E3, 0.0825, 1.08, 0.035 ), \
                                         irit.ctlpt( irit.E3, (-0.0448 ), 1.15, 0.035 ), \
                                         irit.ctlpt( irit.E3, (-0.157 ), 1.2, 0.035 ), \
                                         irit.ctlpt( irit.E3, (-0.179 ), 1.12, 0.035 ), \
                                         irit.ctlpt( irit.E3, (-0.213 ), 0.994, 0.035 ), \
                                         irit.ctlpt( irit.E3, (-0.158 ), 0.795, 0.05 ), \
                                         irit.ctlpt( irit.E3, (-0.0873 ), 0.483, 0.07 ), \
                                         irit.ctlpt( irit.E3, (-0.263 ), 0.211, 0.145 ), \
                                         irit.ctlpt( irit.E3, (-0.266 ), 0, 0.143 ) ), irit.list( irit.KV_OPEN ) )
    sec2 = irit.cbspline( 4, irit.list( \
                                         irit.ctlpt( irit.E3, 0.137, 0, 0.286 ), \
                                         irit.ctlpt( irit.E3, 0.137, 0.185, 0.286 ), \
                                         irit.ctlpt( irit.E3, 0.047, 0.44, 0.14 ), \
                                         irit.ctlpt( irit.E3, 0.007, 0.6, 0.1 ), \
                                         irit.ctlpt( irit.E3, (-0.0273 ), 0.855, 0.0879 ), \
                                         irit.ctlpt( irit.E3, 0.025, 0.91, 0.0634 ), \
                                         irit.ctlpt( irit.E3, 0.111, 0.886, 0.0608 ), \
                                         irit.ctlpt( irit.E3, 0.151, 0.859, 0.0644 ), \
                                         irit.ctlpt( irit.E3, 0.177, 0.848, 0.0813 ), \
                                         irit.ctlpt( irit.E3, 0.202, 0.838, 0.0785 ), \
                                         irit.ctlpt( irit.E3, 0.28, 0.804, 0.0767 ), \
                                         irit.ctlpt( irit.E3, 0.323, 0.865, 0.0646 ), \
                                         irit.ctlpt( irit.E3, 0.284, 0.93, 0.0615 ), \
                                         irit.ctlpt( irit.E3, 0.173, 1.02, 0.0639 ), \
                                         irit.ctlpt( irit.E3, 0.00423, 1.09, 0.0804 ), \
                                         irit.ctlpt( irit.E3, (-0.275 ), 1.5, 0.07 ), \
                                         irit.ctlpt( irit.E3, (-0.135 ), 1.12, 0.07 ), \
                                         irit.ctlpt( irit.E3, (-0.2 ), 1.05, 0.07 ), \
                                         irit.ctlpt( irit.E3, (-0.155 ), 0.91, 0.07 ), \
                                         irit.ctlpt( irit.E3, (-0.085 ), 0.59, 0.1 ), \
                                         irit.ctlpt( irit.E3, (-0.074 ), 0.468, 0.14 ), \
                                         irit.ctlpt( irit.E3, (-0.133 ), 0.212, 0.29 ), \
                                         irit.ctlpt( irit.E3, (-0.133 ), 0, 0.286 ) ), irit.list( irit.KV_OPEN ) )
    sec1 = irit.cbspline( 4, irit.list( \
                                         irit.ctlpt( irit.E3, 0, 0, 0.286 ), \
                                         irit.ctlpt( irit.E3, (-0.004 ), 0.216, 0.286 ), \
                                         irit.ctlpt( irit.E3, (-0.018 ), 0.444, 0.14 ), \
                                         irit.ctlpt( irit.E3, (-0.036 ), 0.62, 0.1 ), \
                                         irit.ctlpt( irit.E3, (-0.061 ), 0.8, 0.08 ), \
                                         irit.ctlpt( irit.E3, (-0.09 ), 1.01, 0.07 ), \
                                         irit.ctlpt( irit.E3, (-0.06 ), 1.04, 0.065 ), \
                                         irit.ctlpt( irit.E3, 0.007, 1.01, 0.065 ), \
                                         irit.ctlpt( irit.E3, 0.165, 0.927, 0.07 ), \
                                         irit.ctlpt( irit.E3, 0.235, 0.897, 0.068 ), \
                                         irit.ctlpt( irit.E3, 0.276, 0.876, 0.072 ), \
                                         irit.ctlpt( irit.E3, 0.235, 0.897, 0.068 ), \
                                         irit.ctlpt( irit.E3, 0.165, 0.927, 0.07 ), \
                                         irit.ctlpt( irit.E3, 0.007, 1.01, 0.065 ), \
                                         irit.ctlpt( irit.E3, (-0.06 ), 1.04, 0.065 ), \
                                         irit.ctlpt( irit.E3, (-0.09 ), 1.01, 0.07 ), \
                                         irit.ctlpt( irit.E3, (-0.061 ), 0.8, 0.08 ), \
                                         irit.ctlpt( irit.E3, (-0.036 ), 0.62, 0.1 ), \
                                         irit.ctlpt( irit.E3, (-0.018 ), 0.444, 0.14 ), \
                                         irit.ctlpt( irit.E3, (-0.004 ), 0.216, 0.286 ), \
                                         irit.ctlpt( irit.E3, 0, 0, 0.286 ) ), irit.list( irit.KV_OPEN ) )
    knightbody = (-irit.sfromcrvs(
        irit.list(sec1, sec2, sec3, sec4, sec3 * irit.sz(
            (-1)), sec2 * irit.sz((-1)), sec1 * irit.sz(
                (-1))), 4, irit.KV_OPEN))
    irit.attrib(knightbody, "rgb", irit.GenStrObject(clr))
    knighteyes = irit.list(
        irit.spheresrf(0.025) * irit.ty(1) * irit.tz(0.05),
        irit.spheresrf(0.025) * irit.ty(1) * irit.tz((-0.05)))
    irit.color(knighteyes, irit.CYAN)
    retval = irit.list(knightbody, knighteyes) * irit.sc(
        0.65 * s) * irit.rx(90)
    return retval
Esempio n. 18
0
#  Logo frame
#

hplogo = irit.ruledsrf( irit.ctlpt( irit.E3, 6, (-0.01 ), 6.4 ) + \
                        irit.ctlpt( irit.E3, 7.7, (-0.01 ), 6.4 ), \
                        irit.ctlpt( irit.E3, 6, (-0.01 ), 6.8 ) + \
                        irit.ctlpt( irit.E3, 7.7, (-0.01 ), 6.8 ) )
irit.attrib(hplogo, "rgb", irit.GenStrObject("0,0,255"))

#
#  On-off button
#

irit.SetResolution(4)
onoff = irit.con2((0, (-0.1), 0), (0, 0.3, 0), 0.2, 0.1,
                  3) * irit.ry(45) * irit.sz(1.5) * irit.tx(0.2) * irit.tz(0.7)
irit.SetResolution(20)

base = (base - onoff)

onoff = irit.box((0.135, 0, 0.6), 0.135, 0.2, 0.2)

topfeed = irit.extrude( irit.cbezier( irit.list( irit.ctlpt( irit.E3, 2, 0.51, 6.2 ), \
                                                 irit.ctlpt( irit.E3, 3.7, 0.51, 7 ), \
                                                 irit.ctlpt( irit.E3, 4.5, 0.51, 7.5 ), \
                                                 irit.ctlpt( irit.E3, 5.39, 0.51, 7.5 ) ) ) + \
                                                 irit.ctlpt( irit.E3, 5.39, 0.51, 6.01 ) + \
                                                 irit.ctlpt( irit.E3, 2, 0.51, 6.01 ) + \
                                                 irit.ctlpt( irit.E3, 2, 0.51, 6.2 ), ( 0, 3.98, 0 ), 3 )

drawer1 = irit.ruledsrf( irit.ctlpt( irit.E3, 3.5, 0.38, 0.56 ) + \
Esempio n. 19
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("ssi7", all)

#
#  8, 9. Same as 7 but we scale the Z axis by 0.1 and by 0.01 to create almost
#  tangent surfaces.
#

s1a = s1 * irit.sz(0.1)
s2a = s2 * irit.sz(0.1)
irit.color(s1a, irit.RED)
irit.color(s2a, irit.GREEN)

i = testinter(s1a, s2a)

all = irit.list(s1a, s2a, i)
irit.interact(all)

irit.save("ssi8", all)

s1b = s1 * irit.sz(0.01)
s2b = s2 * irit.sz(0.01)
irit.color(s1b, irit.RED)
irit.color(s2b, irit.GREEN)
Esempio n. 20
0
srf1 = irit.hermite( irit.cbezier( irit.list( irit.ctlpt( irit.E3, 0, 0, 0 ), \
                                              irit.ctlpt( irit.E3, 0.5, 0.2, 0 ), \
                                              irit.ctlpt( irit.E3, 1, 0, 0 ) ) ), irit.cbezier( irit.list( \
                                              irit.ctlpt( irit.E3, 0, 1, 0 ), \
                                              irit.ctlpt( irit.E3, 0.5, 0.8, 0 ), \
                                              irit.ctlpt( irit.E3, 1, 1, 0.5 ) ) ), irit.cbezier( irit.list( \
                                              irit.ctlpt( irit.E3, 0, 2, 0 ), \
                                              irit.ctlpt( irit.E3, 0, 2, 0 ), \
                                              irit.ctlpt( irit.E3, 0, 2, 0 ) ) ), irit.cbezier( irit.list( \
                                              irit.ctlpt( irit.E3, 0, 2, 0 ), \
                                              irit.ctlpt( irit.E3, 0, 2, 0 ), \
                                              irit.ctlpt( irit.E3, 0, 2, 0 ) ) ) )
irit.color(srf1, irit.YELLOW)

srf1ms = irit.coerce(irit.smean(srf1, 0), irit.E3) * irit.rotx(
    (-90)) * irit.roty((-90)) * irit.sz(0.01)
irit.color(srf1ms, irit.GREEN)
irit.interact(irit.list(srf1, srf1ms))
irit.free(srf1ms)

srf1gs = irit.coerce(irit.sgauss(srf1, 0), irit.E3) * irit.rotx(
    (-90)) * irit.roty((-90)) * irit.sz(0.01)
irit.color(srf1gs, irit.GREEN)
irit.interact(irit.list(srf1, srf1gs))

irit.save("sgauss", irit.list(srf1, srf1gs))

irit.free(srf1gs)

# ############################################################################
#  Derive the coefficients of the three surface fundamental forms.
Esempio n. 21
0
printtest("coerce", mv,
          irit.coerce(irit.coerce(mv, irit.BEZIER_TYPE), irit.POWER_TYPE))

mv = irit.mvexplicit(4, "a^2 * b^2 + 5 * a * b * c + c^3 - 5 * d * c^3")
printtest("coerce", mv,
          irit.coerce(irit.coerce(mv, irit.BEZIER_TYPE), irit.POWER_TYPE))

mv = irit.mvexplicit(2, "a * 5 * b - b^3 * 3 * a^3")
printtest("coerce", mv,
          irit.coerce(irit.coerce(mv, irit.BEZIER_TYPE), irit.POWER_TYPE))

mv = irit.mvexplicit(1, "a^3 + 3 * a^2 +  15 * a - 7.5")
printtest("coerce", mv,
          irit.coerce(irit.coerce(mv, irit.BEZIER_TYPE), irit.POWER_TYPE))

s1 = s * irit.sx(1) * irit.sy(2) * irit.sz(0.3) * irit.ry(55)
mv1 = irit.coerce(
    irit.tfromsrfs(
        irit.list(s1,
                  s1 * irit.tx(0.25) * irit.ty(0.5) * irit.tz(0.8),
                  s1 * irit.tz(2)), 3, irit.KV_PERIODIC), irit.MULTIVAR_TYPE)
printtest("coerce",
          irit.meval(irit.coerce(mv1, irit.KV_FLOAT), irit.list(0, 0, 0)),
          irit.meval(mv1, irit.list(0, 0, 0)))
printtest("coerce",
          irit.meval(irit.coerce(mv1, irit.KV_FLOAT), irit.list(1, 1, 3)),
          irit.meval(mv1, irit.list(1, 1, 3)))

mv1 = irit.coerce(
    irit.tfromsrfs(
        irit.list(s1,
Esempio n. 22
0
       irit.tx( 0.1 ) * \
       irit.tz( 1.5 ) )
tv = irit.tfromsrfs(discs, 3, irit.KV_OPEN)
irit.attrib(tv, "transp", irit.GenRealObject(0.5))
#  view( list( irit.GetAxes(), Tv, Teapot ), 1 );

# ############################################################################
#
#  Let the Teapot and Spheres come out of the teapot...
#

irit.SetResolution(10)

s1 = irit.sphere((0.2, 0.2, 0.8), 0.18)
irit.color(s1, irit.YELLOW)
s2 = irit.sphere((0.75, 0.25, 0.16667), 0.12) * irit.sz(3)
irit.color(s2, irit.MAGENTA)
c1 = irit.maxedgelen( irit.triangl( irit.cylin( ( 0.15, 0.85, 0.01 ), ( 0, 0, 0.98 ), 0.1, 3 ), 1 ),\
0.2 )
irit.color(c1, irit.CYAN)
c2 = irit.maxedgelen( irit.triangl( irit.cylin( ( 0.85, 0.85, 0.01 ), ( 0, 0, 0.98 ), 0.1, 3 ), 1 ),\
0.2 )
irit.color(c2, irit.CYAN)

genie = irit.list( teapotorig * irit.sc( 0.15 ) * irit.ry( (-90 ) ) * irit.trans( ( 0.5, 0.4, 0.47 ) ), s1, s2, c1,\
c2 )

b = irit.box((0, 0, 0), 1, 1, 1)
irit.attrib(b, "transp", irit.GenRealObject(0.5))

irit.interact(irit.list(irit.GetAxes(), b, genie))
Esempio n. 23
0
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 )

rldsrf1 = irit.ruledsrf( sctn1, sctn2 * irit.tz( 0.5 ) ) * \
		  irit.ty( (-0.01 ) ) * irit.tz( (-0.001 ) ) * irit.sz( 1.004 )
piece1a = irit.box( ( (-0.5 ), 0, 0 ), 1, 1, 0.5 ) * rldsrf1

rldsrf2 = irit.ruledsrf( sctn3, sctn4 * irit.tz( 0.5 ) ) * \
		  irit.ty( (-0.01 ) ) * irit.tz( (-0.001 ) ) * irit.sz( 1.004 )
piece1b = irit.box( ( (-0.5 ), 0, 0 ), 1, 1, 0.5 ) * (-rldsrf2 )

irit.free( rldsrf1 )
irit.free( rldsrf2 )

irit.free( sctn1 )
irit.free( sctn2 )
irit.free( sctn3 )
irit.free( sctn4 )

piece1 = piece1a ^ ( piece1b * irit.rz( (-90 ) ) * irit.tx( 0.5 ) * irit.ty( 0.5 ) ) * irit.tx( (-0.5 ) )
Esempio n. 24
0
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)

irit.free(a1)
Esempio n. 25
0
irit.save("cbisect2a", irit.list(c1, c2, bisectcrv, bisectsrf))

# ############################################################################
#
#  A line and a (approximation of a) circle.
#
c1 = irit.cbezier( irit.list( irit.ctlpt( irit.E2, 0, (-1 ) ), \
                              irit.ctlpt( irit.E2, 0, 1 ) ) )
c2 = irit.coerce( irit.creparam( irit.pcircle( ( 0, 0, 0 ), 1 ), 0, 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.sz(0.1)
irit.color(bisectsrf, irit.RED)

irit.SetResolution(150)
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))
irit.save("cbisect2b", irit.list(c1, c2, bisectcrv, bisectsrf))

# ############################################################################
#
#  Two cubic curves
#
c1 = irit.cbezier( irit.list( irit.ctlpt( irit.E2, (-0.8 ), 0.4 ), \
Esempio n. 26
0
irit.free(sad2)

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




cnvx1 = irit.sbezier( irit.list( irit.list( irit.ctlpt( irit.E3, 0, 0, 0.1 ), \
                                            irit.ctlpt( irit.E3, 0.5, 0.1, 0.5 ), \
                                            irit.ctlpt( irit.E3, 1, 0.05, 0 ) ), irit.list( \
                                            irit.ctlpt( irit.E3, 0, 0.5, 0.4 ), \
                                            irit.ctlpt( irit.E3, 0.6, 0.5, 0.8 ), \
                                            irit.ctlpt( irit.E3, 0.9, 0.6, 0.3 ) ), irit.list( \
                                            irit.ctlpt( irit.E3, 0, 0.9, 0.1 ), \
                                            irit.ctlpt( irit.E3, 0.4, 1, 0.5 ), \
                                            irit.ctlpt( irit.E3, 1, 0.95, 0 ) ) ) ) * irit.sz( 2 )
cnvx2a = irit.offset(cnvx1, irit.GenRealObject(0.3), 1, 0)
cnvx2b = irit.offset(cnvx1, irit.GenRealObject(0.16), 1, 0)
irit.save(
    "dist2ff7",
    irit.list(testssdistfunc(cnvx1, cnvx2a, irit.nil()),
              testssdistfunc(cnvx1, cnvx2a, irit.list(0.5)),
              testssdistfunc(cnvx1, cnvx2b, irit.nil()),
              testssdistfunc(cnvx1, cnvx2b, irit.list(0.5)),
              testssdistfunc(cnvx1, cnvx2b, irit.list(1.0 / 3.0, 2.0 / 3.0))))

irit.free(cnvx1)
irit.free(cnvx2a)
irit.free(cnvx2b)

# ############################################################################
Esempio n. 27
0
#
sqrt2 = math.sqrt(2)
eps = 0.015
rad = 0.3
len = (rad + eps) * 2
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)
Esempio n. 28
0
irit.viewstate( "polyaprx", 1 )
irit.viewstate( "polyaprx", 1 )
irit.viewstate( "drawstyle", 1 )
irit.viewstate( "depthcue", 0 )
irit.viewstate( "dsrfpoly", 1 )

# ############################################################################
# 
#  Polygons:
# 
# ############################################################################

pl = irit.poly( irit.list(  ( 1, 0, 0 ),  ( 0, (-0.8 ), 0 ), irit.point( (-0.5 ), 0, 0 ) ), irit.FALSE )
ppl = plgntoplln( pl )

irit.interact( irit.list( irit.GetAxes(), ppl, gammakernelpolysrfs( pl, 25, 2 ) * irit.sz( (-1 ) ) ) )

angle = 18
while ( angle < 19.4 ):
    irit.printf( "angle = %.2f\n", irit.list( angle ) )
    irit.view( irit.list( ppl, gammakernelpolysrfs( pl, angle, 2 ) * irit.sz( (-1 ) ) ), irit.ON )
    angle = angle + 0.1

irit.pause(  )

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

pl = irit.poly( irit.list(  ( 0.9, 0, 0 ),  ( 0, (-0.9 ), 0 ), irit.point( (-0.8 ), 0, 0 ), irit.point( (-0.5 ), 0, 0 ), irit.point( 0, 1, 0 ), irit.point( 0.5, 0, 0 ) ), irit.FALSE )
ppl = plgntoplln( pl )

irit.interact( irit.list( irit.GetAxes(), ppl, gammakernelpolysrfs( pl, 25, 2 ) * irit.sz( (-1 ) ) ) )
Esempio n. 29
0
                          irit.ctlpt( irit.E2, 1, 0 ) + \
                          irit.ctlpt( irit.E2, 1, 1 ) )
srftext1 = irit.sraise(irit.sraise(srftext1, irit.ROW, 3), irit.COL, 3)
srftext1 = irit.srefine(srftext1, irit.ROW, 0, irit.list(0.25, 0.5, 0.75))
srftext1 = irit.srefine(srftext1, irit.COL, 0, irit.list(0.25, 0.5, 0.75))
srftext1 = irit.coerce(srftext1, irit.E3)

#  Make a spike out of the four interior points.
srftext1 = irit.seditpt(srftext1, irit.ctlpt(irit.E3, 0.5, 0.5, 1), 2, 2)
srftext1 = irit.seditpt(srftext1, irit.ctlpt(irit.E3, 0.5, 0.5, 1), 2, 3)
srftext1 = irit.seditpt(srftext1, irit.ctlpt(irit.E3, 0.5, 0.5, 1), 3, 2)
srftext1 = irit.seditpt(srftext1, irit.ctlpt(irit.E3, 0.5, 0.5, 1), 3, 3)

irit.SetResolution(6)

srf1 = irit.sddmmap(srf, irit.gpolygon((-srftext1) * irit.sz(0.1), 1), 4, 8, 1)
irit.interact(srf1)

srf1 = irit.sddmmap(srf, irit.gpolygon((-srftext1) * irit.sz(0.2), 1), 8, 12,
                    1)
irit.interact(srf1)
irit.save("disp1map", srf1)

irit.free(srftext1)
irit.free(srf1)

# #############################################################################
#
#  Scale like texture
#