irit.free(t3)
s1 = irit.convex(s1)
irit.view(s1, irit.ON)

s2 = s1 * irit.roty(90)
s3 = s1 * irit.rotz(90)
irit.view(irit.list(s2, s3), irit.OFF)

s4 = (s1 + s2 + s3)
irit.free(s1)
irit.free(s2)
irit.free(s3)
irit.view(s4, irit.ON)

irit.SetResolution(64)
t4 = irit.sphere((0, 0, 0), 1)

s5 = (t4 - s4)
irit.free(s4)
irit.free(t4)

final = irit.convex(s5)
irit.free(s5)

irit.printf("total time = %f\n", irit.list(irit.time(0)))
#  In Seconds

irit.interact(final)

irit.save("solid4", final)
#  Simple molecule - 8 atoms connected as a cube.
# 

t = irit.time( 1 )

save_res = irit.GetResolution()
save_view = irit.GetViewMatrix()

irit.SetViewMatrix(  irit.GetViewMatrix() * \
					 irit.scale( ( 0.6, 0.6, 0.6 ) ) * \
					 irit.rotx( 20 ) * \
					 irit.roty( 45 ) * \
					 irit.trans( ( (-0.3 ), 0.2, 0 ) ))

irit.SetResolution(  16)
s1 = irit.sphere( ( 0, 0, 0 ), 0.2 )
s2 = irit.sphere( ( 1, 0, 0 ), 0.2 )

irit.SetResolution(  8)
c1 = irit.cylin( ( 0, 0, 0 ), ( 1, 0, 0 ), 0.05, 3 )

irit.view( irit.list( irit.GetViewMatrix(), s1, s2, c1 ), irit.ON )

b1 = ( (s1 ^ s2) + c1 )
irit.free( s1 )
irit.free( s2 )
irit.free( c1 )
b2 = b1 * irit.trans( ( 0, 1, 0 ) )

irit.view( irit.list( b1, b2 ), irit.ON )
Exemple #3
0
    irit.snoc( p * irit.tx( 0 ), pts )
    i = i + 1

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

irit.save( "pt_incrv", irit.list( irit.GetViewMatrix(), crv1, pts ) )

irit.free( crv1 )


# #############################################################################
# 
#  Point inclusion in a polyhedra:
# 

pl1 = ( irit.sphere( ( 0, 0, 0 ), 1 ) - irit.cone( ( (-1.3 ), (-2 ), (-1 ) ), ( 5, 5, 5 ), 1, 0 ) )
irit.view( irit.list( irit.GetAxes(), pl1 ), irit.ON )

pts = irit.nil(  )

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

irit.interact( irit.list( irit.GetViewMatrix(), pl1, pts ) )
Exemple #4
0
                                 irit.ctlpt( irit.E2, (-0.0522 ), 0.203 ), \
                                 irit.ctlpt( irit.E2, (-0.151 ), (-0.0858 ) ), \
                                 irit.ctlpt( irit.E2, (-0.142 ), (-0.219 ) ), \
                                 irit.ctlpt( irit.E2, (-0.00121 ), (-0.288 ) ), \
                                 irit.ctlpt( irit.E2, 0.125, (-0.21 ) ), \
                                 irit.ctlpt( irit.E2, 0.143, (-0.0708 ) ), \
                                 irit.ctlpt( irit.E2, 0.0448, 0.203 ), \
                                 irit.ctlpt( irit.E2, 0.105, 0.216 ), \
                                 irit.ctlpt( irit.E2, 0.218, 0.241 ) ), irit.list( irit.KV_PERIODIC ) ) * irit.sc( 3 )

#  d is a piecewise points curve and so is drawn as a control polygon, dp.
d = irit.duality(irit.coerce(c, irit.KV_OPEN))
dp = irit.getctlpolygon(d + irit.ceval(d, 0))
irit.color(dp, irit.YELLOW)

pt1 = irit.sphere((0, 0, 0), 0.15)
irit.attrib(pt1, "rgb", irit.GenStrObject("255,128,0"))
mov_xyz1 = c * irit.tx(0)
irit.attrib(pt1, "animation", mov_xyz1)

pt2 = pt1
irit.attrib(pt2, "rgb", irit.GenStrObject("255,128,128"))
mov_xyz2 = d * irit.tx(0)
irit.attrib(pt2, "animation", mov_xyz2)

all = irit.list(c, dp, pt1, pt2) * irit.sc(0.5) * irit.tx((-0.2))
irit.interact(all)

irit.save("duality0", all)

#
Exemple #5
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
Exemple #6
0
save_mat = irit.GetViewMatrix()
save_res = irit.GetResolution()

irit.SetResolution(12)

b1 = irit.box(((-0.5), (-0.2), 0), 1, 0.4, 0.15)
b1 = putrgbonvertices(b1, irit.GenStrObject("255,255,0"))
b2 = irit.box(((-0.25), (-0.3), 0.1), 0.5, 0.6, 0.5)
b2 = putrgbonvertices(b2, irit.GenStrObject("0,255,0"))

m1 = (b1 - b2)
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)
       s * \
       irit.sc( 0.18 ) * \
       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))
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
Exemple #9
0
        while ( j <= irit.SizeOf( p ) - 1 ):
            h = irit.pattrib( p, j, "hcurv", irit.nil(  ) )
            mean = mean + h
            n = n + 1
            j = j + 1
        i = i + 1
    retval = mean/float(n)
    return retval

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

irit.SetResolution( 30 )

b1 = irit.box( ( (-0.3 ), (-0.3 ), 0 ), 0.6, 0.6, 0.15 )
c1 = irit.cylin( ( 0, 0, 0.1 ), ( 0, 0, 0.65 ), 0.14, 3 )
s1 = irit.sphere( ( 0, 0, 0.65 ), 0.3 )
t1 = irit.torus( ( 0, 0, 0.7 ), ( 0, 0, 1 ), 0.3, 0.15 )

obj = irit.maxedgelen( irit.triangl( b1 + c1 + s1 - t1, 1 ), 0.1 )

irit.free( b1 )
irit.free( c1 )
irit.free( s1 )
irit.free( t1 )

crvtrobj = irit.pcrvtr( obj, 1, 0 )
irit.free( obj )

crvtrobjrgb = gauss2rgb( crvtrobj, 15 )
irit.interact( crvtrobjrgb )
Exemple #10
0
#


# 
#  Simple animation demo
# 
#                        Zvika Zilberman and Haggay Dagan
# 

save_mat = irit.GetViewMatrix()
save_res = irit.GetResolution()

irit.SetViewMatrix(  irit.GetViewMatrix() * irit.sc( 0.1 ) )
irit.viewobj( irit.GetViewMatrix() )

a = irit.sphere( ( 0.99, 0, 0 ), 1 )
b = irit.sphere( ( (-0.99 ), 0, 0 ), 1 )

pt0 = irit.ctlpt( irit.E3, 0, 0, 0 )
pt1 = irit.ctlpt( irit.E3, 1, 1, 0 )
pt2 = irit.ctlpt( irit.E3, 2, 2, 0 )
pt4 = irit.ctlpt( irit.E3, 4, 4, 0 )
pt5 = irit.ctlpt( irit.E3, (-1 ), (-1 ), 0 )
pt6 = irit.ctlpt( irit.E3, (-2 ), (-2 ), 0 )
pt7 = irit.ctlpt( irit.E3, (-4 ), (-4 ), 0 )
pt8 = irit.ctlpt( irit.E3, 0.4, 0.4, 0 )
pt9 = irit.ctlpt( irit.E3, 2, 2, 0 )
pt11 = irit.ctlpt( irit.E2, 3, 3 )
pt12 = irit.ctlpt( irit.E2, (-3 ), (-3 ) )
pt13 = irit.ctlpt( irit.E2, 1.5, 1.5 )
pt14 = irit.ctlpt( irit.E2, (-1.5 ), (-1.5 ) )
Exemple #11
0
                 irit.cylin((0.8, 0, 0), (0.8, 0, 0), 0.3, 1),
                 irit.cylin((0, (-0.8), 0), (0.1, (-0.5), 0.2), 0.3, 3),
                 irit.cylin((0, 0.8, 0), (0, 0.8, 0), 0.3, 2),
                 irit.cylin((0, 0, (-0.8)), (0.4, 0.2, (-0.5)), 0.3, 3),
                 irit.cylin((0, 0, 0.8), (0, 0, 0.8), 0.3, 1))
irit.color(cyls, irit.RED)

cones = irit.list(irit.cone(((-0.5), 0, 0), ((-0.5), 0, 0), 0.5, 0),
                  irit.cone((0.5, 0, 0), (0.5, 0, 0), 0.5, 1),
                  irit.cone((0, (-0.5), 0), (0, (-0.5), 0), 0.5, 1),
                  irit.cone((0, 0.5, 0), (0, 0.5, 0), 0.5, 0),
                  irit.cone((0, 0, (-0.5)), (0, 0, (-0.5)), 0.5, 1),
                  irit.cone((0, 0, 0.5), (0, 0, 0.5), 0.5, 1))
irit.color(cones, irit.RED)

spr = irit.sphere((0, 0, 0), 0.5)
irit.color(spr, irit.RED)
trs = irit.torus((0, 0, 0), (0.1, 0.2, 1), 0.5, 0.2)
irit.color(trs, irit.RED)

#
#  Create primitive as exact rational surfaces.
#
save_prim_srfs = irit.iritstate("primsrfs", irit.GenRealObject(1))

irit.interact(
    irit.list(irit.GetViewMatrix(), axes15, cones,
              irit.cone(((-0.5), 0, 0), ((-0.5), 0, 0), 0.5, 0),
              irit.cone((0.5, 0, 0), (0.5, 0, 0), 0.5, 1),
              irit.cone((0, (-0.5), 0), (0, (-0.5), 0), 0.5, 3),
              irit.cone((0, 0.5, 0), (0, 0.5, 0), 0.5, 2),
Exemple #12
0
#
#  testing functions for the point fitting functions, for primitives.
#

save_res = irit.GetResolution()

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

#
#  A Sphere: returned is (Error, Xcntr, Ycntr, Zcntr, Radius)
#
irit.SetResolution(20)
x1 = irit.triangl(irit.sphere((1, 2, 3), 4), 1)

irit.SetResolution(5)
x2 = irit.triangl(irit.sphere(((-1.4), 2.2, 5.3), 1.4), 1)

spfit = irit.list(irit.fitpmodel(x1, 1, 0.01, 100),
                  irit.fitpmodel(x1, 1, 1e-005, 100),
                  irit.fitpmodel(x2, 1, 0.01, 100),
                  irit.fitpmodel(x2, 1, 1e-006, 100))

#
#  A cylinder: returned is (Error, Xcntr, Ycntr, Zcntr,
#                                  Xdir, Ydir, Zdir, Radius)
#

irit.SetResolution(20)
Exemple #13
0
#
c2 = irit.cylin((1, 0, 0.05), (0, 0, 0.4), 0.15, 3)
irit.attrib(c2, "id", irit.GenRealObject(2))
irit.SetResolution(8)

t1 = irit.circpoly((0, 1, 0), (0.151, 0, 0.25), 0.03)
irit.SetResolution(16)
t2 = irit.surfrev(t1) * irit.trans((1, 0, 0))
irit.free(t1)
irit.attrib(t2, "id", irit.GenRealObject(3))

b1 = (c2 - t2)
irit.free(c2)
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))
Exemple #14
0
#This is an IRIT script and as such requires both math and irit import:
#
import math
import irit
#


# 
#  Few simple test of disjoint booleans.
# 

# 
#  The inner sphere is disjoint to begin with;
# 

s1 = irit.sphere( ( 0, 0, 0 ), 1 ) ^ (-irit.sphere( ( 0, 0, 0 ), 0.7 ) )

c1 = irit.cylin( ( 0, 0, 0.8 ), ( 0, 0, 1 ), 0.2, 3 )

c2 = irit.cylin( ( 0, (-2 ), 0 ), ( 0, 4, 0 ), 0.5, 3 )

b1 = ( s1 + c1 + c1 * irit.rx( 180 ) )
b2 = ( b1 - c2 )

irit.interact( b2 )
irit.save( "disjnt1", b2 )

# 
#  The inner sphere is disjoint to begin with;
# 
                                     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)
srf5 = irit.gpolygon(
    irit.sfromcrvs(
        irit.list(cross, cross * irit.ty(0.4),
                  cross * irit.ty(0.6) * irit.tz((-0.1))), 3, irit.KV_OPEN), 1)
irit.free(cross)

srf6 = srf4 * srf5 * srf5 * irit.ry(180)
irit.free(srf4)
irit.free(srf5)

irit.SetResolution(res * 7)
srf7 = irit.sphere((0, 0, 0), 1.4) * irit.tx(0.65) * irit.ty((-1.305))

srf8 = (srf6 - srf7)
irit.free(srf6)
irit.free(srf7)

irit.SetResolution(res * 7)
srf9 = irit.sphere((0, 0, 0), 1.4) * irit.tx((-0.65)) * irit.ty((-1.305))

handset = irit.convex(srf8 - srf9)
irit.free(srf8)
irit.free(srf9)

irit.color(handset, irit.WHITE)

irit.interact(irit.list(irit.GetAxes(), handset))
Exemple #16
0
              irit.cone((0, 0, 0.5), (0, 0, 0.5), 0.5, 0)))

irit.interact(
    irit.list(irit.GetViewMatrix(), axes15,
              irit.cone(((-0.5), 0, 0), ((-0.5), 0, 0), 0.5, 1),
              irit.cone((0.5, 0, 0), (0.5, 0, 0), 0.5, 1),
              irit.cone((0, (-0.5), 0), (0, (-0.5), 0), 0.5, 1),
              irit.cone((0, 0.5, 0), (0, 0.5, 0), 0.5, 1),
              irit.cone((0, 0, (-0.5)), (0, 0, (-0.5)), 0.5, 1),
              irit.cone((0, 0, 0.5), (0, 0, 0.5), 0.5, 1)))

irit.interact(
    irit.list(irit.GetViewMatrix(), axes15,
              irit.cylin(((-0.8), 0, 0), ((-0.5), 0.3, 0.3), 0.3, 0),
              irit.cylin((0.8, 0, 0), (0.8, 0, 0), 0.3, 1),
              irit.cylin((0, 0.8, 0), (0, 0.8, 0), 0.3, 2),
              irit.cylin((0, (-0.8), 0), (0.1, (-0.5), 0.2), 0.3, 3),
              irit.cylin((0, 0, (-0.8)), (0.4, 0.2, (-0.5)), 0.3, 3),
              irit.cylin((0, 0, 0.8), (0, 0, 0.8), 0.3, 1)))

irit.interact(
    irit.list(irit.GetViewMatrix(), axes15, irit.sphere((0, 0, 0), 0.5)))

irit.interact(
    irit.list(irit.GetViewMatrix(), axes15,
              irit.torus((0, 0, 0), (0.1, 0.2, 1), 0.5, 0.2)))

irit.free(axes15)

irit.SetViewMatrix(save_mat)