Exemplo n.º 1
0
def antantenna():
    c = irit.pcircle((0, 0, 0), 0.03) * irit.ry(90)
    retval = (-irit.sfromcrvs(
        irit.list(
            c * irit.sy(1.4) * irit.rz(45) * irit.tx(0.1) * irit.ty((-0.15)),
            c * irit.rz(45) * irit.tx(0.2) * irit.ty(0.2),
            c * irit.sy(1.4) * irit.tx(0.3) * irit.ty(0.4),
            c * irit.rz((-55)) * irit.tx(0.4) * irit.ty(0.15),
            c * irit.sc(0.8) * irit.rz((-45)) * irit.tx(0.5) * irit.ty((-0.1)),
            c * irit.sc(0.65) * irit.rz((-45)) * irit.tx(0.58) * irit.ty(
                (-0.22)),
            c * irit.sc(0.001) * irit.rz((-45)) * irit.tx(0.58) * irit.ty(
                (-0.22))), 3, irit.KV_OPEN))
    irit.attrib(retval, "rgb", irit.GenStrObject("255,50,50"))
    return retval
Exemplo n.º 2
0
base1 = irit.box((0, 0, 0), 1 - h, h, h)
irit.color(base1, irit.RED)
base2 = irit.box((1 - h, 0, 0), h, 1 - h, h)
irit.color(base2, irit.GREEN)

sqr = ( irit.ctlpt( irit.E2, 0, 0 ) + \
        irit.ctlpt( irit.E2, 0, h ) + \
        irit.ctlpt( irit.E2, h, h ) + \
        irit.ctlpt( irit.E2, h, 0 ) + \
        irit.ctlpt( irit.E2, 0, 0 ) )

base3a = (-irit.sfromcrvs(
    irit.list(
        sqr * irit.tz(h),
        sqr * irit.rz(45) * irit.sy(1.5) * irit.rx((-55)) * irit.rz(
            (-45)) * irit.tz(0.4 + h),
        sqr * irit.rz(45) * irit.sy(1.5) * irit.rx((-55)) * irit.rz(
            (-45)) * irit.tx(1 - h) * irit.ty(1 - h) * irit.tz((-0.3) + h),
        sqr * irit.tx(1 - h) * irit.ty(1 - h),
        sqr * irit.tx(1 - h) * irit.ty(1 - h) * irit.tz(h)), 3, irit.KV_OPEN))
base3b = irit.ruledsrf( irit.ctlpt( irit.E2, 0, 0 ) + \
                        irit.ctlpt( irit.E2, 0, h ), \
                        irit.ctlpt( irit.E2, h, 0 ) + \
                        irit.ctlpt( irit.E2, h, h ) ) * irit.tx( 1 - h ) * irit.ty( 1 - h ) * irit.tz( h )
base3 = irit.list(base3a, base3b)
irit.color(base3, irit.BLUE)

view_mat_tri = irit.GetViewMatrix() * irit.rx(145) * irit.ry(180) * irit.rx(
    34) * irit.rz((-29)) * irit.ty(0.5) * irit.sc(1.5)

irit.interact(irit.list(base1, base2, base3, view_mat_tri))
Exemplo n.º 3
0
                                                  irit.ctlpt( irit.E2, 0.5, 0 ) ), irit.list( irit.KV_OPEN ) ), 0, 2 )
crv2 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E3, (-0.5 ), 0, 0 ), \
                                    irit.ctlpt( irit.E3, (-0.4 ), 0.3, 0 ), \
                                    irit.ctlpt( irit.E3, (-0.3 ), 0.4, 0 ), \
                                    irit.ctlpt( irit.E3, (-0.07 ), 0.46, 0 ), \
                                    irit.ctlpt( irit.E3, 0, 0.75, 0 ), \
                                    irit.ctlpt( irit.E3, 0.07, 0.46, 0 ), \
                                    irit.ctlpt( irit.E3, 0.3, 0.4, 0 ), \
                                    irit.ctlpt( irit.E3, 0.4, 0.3, 0 ), \
                                    irit.ctlpt( irit.E3, 0.5, 0, 0 ) ), irit.list( 0, 0, 0, 0, 0.8, 0.85,\
1, 1.15, 1.2, 2, 2, 2,\
2 ) )

srf = irit.sfromcrvs(
    irit.list(crv2, crv2 * irit.tz(0.02),
              crv * irit.sc(0.96) * irit.tz(0.2),
              crv * irit.sc(0.87) * irit.tz(0.35),
              crv * irit.sc(0.7) * irit.tz(0.5)), 3, irit.KV_OPEN)
irit.free(crv)
irit.free(crv2)

tcrvs1 = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 0.3, 1.4 ), \
                                      irit.ctlpt( irit.E2, 0.7, 1.4 ), \
                                      irit.ctlpt( irit.E2, 0.7, 2.2 ), \
                                      irit.ctlpt( irit.E2, 0.3, 2.2 ) ), irit.list( irit.KV_PERIODIC ) )
tcrvs2 = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 1.3, 1.4 ), \
                                      irit.ctlpt( irit.E2, 1.7, 1.4 ), \
                                      irit.ctlpt( irit.E2, 1.7, 2.2 ), \
                                      irit.ctlpt( irit.E2, 1.3, 2.2 ) ), irit.list( irit.KV_PERIODIC ) )
tcrvs3 = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 0, 0 ), \
                                      irit.ctlpt( irit.E2, 1, 0 ), \
Exemplo n.º 4
0
irit.pause()

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

cross = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 0, 0 ), \
                                     irit.ctlpt( irit.E2, 0.8, 0 ), \
                                     irit.ctlpt( irit.E2, 0.8, 0.2 ), \
                                     irit.ctlpt( irit.E2, 0.07, 1.4 ), \
                                     irit.ctlpt( irit.E2, (-0.07 ), 1.4 ), \
                                     irit.ctlpt( irit.E2, (-0.8 ), 0.2 ), \
                                     irit.ctlpt( irit.E2, (-0.8 ), 0 ), \
                                     irit.ctlpt( irit.E2, 0, 0 ) ), irit.list( irit.KV_OPEN ) )
cross = irit.coerce(cross, irit.E3)
s = irit.sfromcrvs(
    irit.list(cross, cross * irit.trans((0.5, 0, 1)),
              cross * irit.trans((0, 0, 2))), 3, irit.KV_OPEN)
irit.view(irit.list(s, irit.GetAxes()), irit.ON)

ucrvtrzxy = irit.scrvtr(s, irit.E3, irit.ROW)
vcrvtrzxy = irit.scrvtr(s, irit.E3, irit.COL)
ucrvtrxyz = ucrvtrzxy * irit.rotx((-90)) * irit.roty((-90)) * irit.scale(
    (1, 1, 10))
vcrvtrxyz = vcrvtrzxy * irit.rotx((-90)) * irit.roty((-90)) * irit.scale(
    (1, 1, 0.001))
irit.free(ucrvtrzxy)
irit.free(vcrvtrzxy)
irit.color(ucrvtrxyz, irit.RED)
irit.color(vcrvtrxyz, irit.MAGENTA)

irit.view(irit.list(ucrvtrxyz, vcrvtrxyz), irit.OFF)
Exemplo n.º 5
0
                                        irit.ctlpt( irit.E3, 0.3, 0.05, 0.2 ) ) ) ) * irit.sc( 8 ) * irit.tx( (-1 ) ) * irit.ty( 1 ) * irit.tz( (-0.65 ) )
d = irit.duality(s)
irit.color(d, irit.YELLOW)

view_mat1 = irit.GetViewMatrix() * irit.sc(0.3) * irit.ty(
    (-0.2)) * irit.tx(0.4)
irit.interact(irit.list(s, d, irit.GetAxes(), view_mat1))

#
#  A closed surface
#
c = irit.pcircle((0, 0, 0), 1)
s = (-irit.sfromcrvs(
    irit.list(c * irit.sc(0.001) * irit.tz((-1)),
              c * irit.sc(0.4) * irit.sy(0.2) * irit.tz((-1)),
              c * irit.sc(0.4) * irit.sy(0.2), c * irit.sc(1),
              c * irit.sc(1) * irit.tz(1),
              c * irit.sc(0.4) * irit.sx(0.2) * irit.tz(1),
              c * irit.sc(0.4) * irit.sx(0.2) * irit.tz(2),
              c * irit.sc(0.001) * irit.tz(2)), 4, irit.KV_OPEN)) * irit.tz(
                  (-0.5)) * irit.sc(0.3)

d = irit.duality(s) * irit.sc(0.05)
irit.color(d, irit.YELLOW)

all = irit.list(s * irit.tx(1), d * irit.tx((-1)), irit.GetAxes(),
                irit.GetViewMatrix())
irit.interact(all)

irit.save("duality2", all)
irit.free(all)
Exemplo n.º 6
0
#

rsquare = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, (-1 ), 0.8, 0 ), \
                                       irit.ctlpt( irit.E3, (-0.8 ), 1, 0 ), \
                                       irit.ctlpt( irit.E3, 0.8, 1, 0 ), \
                                       irit.ctlpt( irit.E3, 1, 0.8, 0 ), \
                                       irit.ctlpt( irit.E3, 1, (-0.8 ), 0 ), \
                                       irit.ctlpt( irit.E3, 0.8, (-1 ), 0 ), \
                                       irit.ctlpt( irit.E3, (-0.8 ), (-1 ), 0 ), \
                                       irit.ctlpt( irit.E3, (-1 ), (-0.8 ), 0 ) ), irit.list( irit.KV_PERIODIC ) )
rsquare = irit.coerce(rsquare, irit.KV_OPEN)

cuboid = irit.sfromcrvs(
    irit.list(rsquare * irit.sc(0.002) * irit.tz((-1)),
              rsquare * irit.sc(0.8) * irit.tz((-1)),
              rsquare * irit.sc(1) * irit.tz((-0.8)),
              rsquare * irit.sc(1) * irit.tz(0.8),
              rsquare * irit.sc(0.8) * irit.tz(1),
              rsquare * irit.sc(0.002) * irit.tz(1)), 3, irit.KV_OPEN)
checksrf = psphere * irit.tz((-1))

pts = irit.saccess(cuboid, irit.GenRealObject(0), checksrf,
                   irit.GenRealObject(0), 0.1, 1e-005)

spts = irit.nil()
sptserr = irit.nil()
i = 1
while (i <= irit.SizeOf(pts)):
    pt = irit.nth(pts, i)
    err = irit.FetchRealObject(irit.getattr(pt, "rngerror"))
    if (err > 1e-005):
Exemplo n.º 7
0
base = (base + topround)

#
#  Top round control.
#

button = irit.coerce( irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0, 0, 0 ), \
                                                   irit.ctlpt( irit.E3, 2, 0, 0 ), \
                                                   irit.ctlpt( irit.E3, 3, 0, 0 ), \
                                                   irit.ctlpt( irit.E3, 3, 1.4, 0 ), \
                                                   irit.ctlpt( irit.E3, 2, 1.4, 0 ), \
                                                   irit.ctlpt( irit.E3, 0, 1.4, 0 ), \
                                                   irit.ctlpt( irit.E3, (-1 ), 1.4, 0 ), \
                                                   irit.ctlpt( irit.E3, (-1 ), 0, 0 ) ), irit.list( irit.KV_PERIODIC ) ), irit.KV_OPEN ) * irit.tx( (-1 ) ) * irit.ty( (-0.7 ) )
button = irit.sfromcrvs(
    irit.list(button * irit.tz((-1)), button, button * irit.tz(0.6),
              button * irit.sx(0.7) * irit.sy(0.001) * irit.tz(0.6)), 3,
    irit.KV_OPEN) * irit.sc(0.1)
irit.attrib(button, "rgb", irit.GenStrObject("155,155,155"))

redbutton = irit.cylin((0, 0, 0), (0, 0, 0.1), 0.1, 3)
irit.attrib(redbutton, "rgb", irit.GenStrObject("255,0,0"))

greenbutton = irit.cylin((0, 0, 0), (0, 0, 0.1), 0.075, 3)
irit.attrib(greenbutton, "rgb", irit.GenStrObject("0,255,0"))

buttons = irit.list(
    button * irit.rx(8) * irit.ty((-0.5)) * irit.tx(0.3) * irit.tz(7.55),
    button * irit.rx(8) * irit.ty((-0.5)) * irit.tx(0.75) * irit.tz(7.55),
    button * irit.rx(8) * irit.ty((-0.5)) * irit.tx(1.25) * irit.tz(7.55),
    button * irit.rx(8) * irit.ty((-0.5)) * irit.tx(1.7) * irit.tz(7.55),
    redbutton * irit.rx(8) * irit.tx(0.2) * irit.tz(7.55),
Exemplo n.º 8
0
        irit.blossom(c1, irit.list(5, 5)) == irit.coord(c1, 6),
        irit.blossom(c1, irit.list(0, 1)) == irit.blossom(c1, irit.list(1, 0)),
        irit.blossom(c1, irit.list(1, 2)) == irit.blossom(c1, irit.list(2, 1)),
        irit.blossom(c1, irit.list(2, 3)) == irit.blossom(c1, irit.list(3, 2)),
        irit.blossom(c1, irit.list(4, 5)) == irit.blossom(c1, irit.list(5, 4)),
        irit.blossom(c1, irit.list(0.5, 0.5)) == irit.ceval(c1, 0.5),
        irit.blossom(c1, irit.list(0.1, 0.1)) == irit.ceval(c1, 0.1),
        irit.blossom(c1, irit.list(1.7, 1.7)) == irit.ceval(c1, 1.7),
        irit.blossom(c1, irit.list(2.3, 2.3)) == irit.ceval(c1, 2.3),
        irit.blossom(c1, irit.list(3.2, 3.2)) == irit.ceval(c1, 3.2),
        irit.blossom(c1, irit.list(4.7, 4.7)) == irit.ceval(c1, 4.7)))

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

s1 = irit.sfromcrvs(
    irit.list(c1,
              c1 * irit.tz(0.5) * irit.ty(0.2), c1 * irit.tz(1)), 3,
    irit.KV_OPEN)

printtest(
    "bspline srf test - ",
    "%40s %d %d %d %d %d %d %d,  %d %d %d,  %d %d %d %d %d\n",
    irit.list(
        irit.blossom(s1, irit.list(irit.list(0, 0),
                                   irit.list(0, 0))) == irit.coord(s1, 0),
        irit.blossom(s1, irit.list(irit.list(0, 1),
                                   irit.list(0, 0))) == irit.coord(s1, 1),
        irit.blossom(s1, irit.list(irit.list(1, 2),
                                   irit.list(0, 0))) == irit.coord(s1, 2),
        irit.blossom(s1, irit.list(irit.list(5, 5),
                                   irit.list(0, 0))) == irit.coord(s1, 6),
        irit.blossom(s1, irit.list(irit.list(0, 0),
Exemplo n.º 9
0


boardbaseaux = irit.sfromcrvs( irit.list( irit.ctlpt( irit.E3, 1, 1, 0 ) + \
                                          irit.ctlpt( irit.E3, 1, 9, 0 ) + \
                                          irit.ctlpt( irit.E3, 9, 9, 0 ) + \
                                          irit.ctlpt( irit.E3, 9, 1, 0 ) + \
                                          irit.ctlpt( irit.E3, 1, 1, 0 ), \
                                          irit.ctlpt( irit.E3, 0.5, 0.5, 0 ) + \
                                          irit.ctlpt( irit.E3, 0.5, 9.5, 0 ) + \
                                          irit.ctlpt( irit.E3, 9.5, 9.5, 0 ) + \
                                          irit.ctlpt( irit.E3, 9.5, 0.5, 0 ) + \
                                          irit.ctlpt( irit.E3, 0.5, 0.5, 0 ), \
                                          irit.ctlpt( irit.E3, 0.5, 0.5, (-0.5 ) ) + \
                                          irit.ctlpt( irit.E3, 0.5, 9.5, (-0.5 ) ) + \
                                          irit.ctlpt( irit.E3, 9.5, 9.5, (-0.5 ) ) + \
                                          irit.ctlpt( irit.E3, 9.5, 0.5, (-0.5 ) ) + \
                                          irit.ctlpt( irit.E3, 0.5, 0.5, (-0.5 ) ), \
                                          irit.ctlpt( irit.E3, 0, 0, (-0.5 ) ) + \
                                          irit.ctlpt( irit.E3, 0, 10, (-0.5 ) ) + \
                                          irit.ctlpt( irit.E3, 10, 10, (-0.5 ) ) + \
                                          irit.ctlpt( irit.E3, 10, 0, (-0.5 ) ) + \
                                          irit.ctlpt( irit.E3, 0, 0, (-0.5 ) ), \
                                          irit.ctlpt( irit.E3, 0, 0, (-0.7 ) ) + \
                                          irit.ctlpt( irit.E3, 0, 10, (-0.7 ) ) + \
                                          irit.ctlpt( irit.E3, 10, 10, (-0.7 ) ) + \
                                          irit.ctlpt( irit.E3, 10, 0, (-0.7 ) ) + \
                                          irit.ctlpt( irit.E3, 0, 0, (-0.7 ) ) ), 3, irit.KV_OPEN )
boardbase = irit.list(irit.sregion(boardbaseaux, irit.COL, 0, 1),
                      irit.sregion(boardbaseaux, irit.COL, 1, 2),
                      irit.sregion(boardbaseaux, irit.COL, 2, 3),
Exemplo n.º 10
0
                                      irit.ctlpt( irit.E2, 1.8, width - 0.2 ), \
                                      irit.ctlpt( irit.E2, 2, width - 0.2 ) ), irit.list( irit.KV_OPEN ) )
threads = irit.nil()
i = 0
shift = 0.42
s = (-shift)
while (s <= shift * 0.12):
    irit.snoc( ( irit.ctlpt( irit.E2, (-0.01 ), width ) + thread * irit.tx( (-s ) ) + \
                  irit.ctlpt( irit.E2, 2.41, width - 0.2 ) + \
                  irit.ctlpt( irit.E2, 2.55, width * 0.55 ) + \
                  irit.ctlpt( irit.E2, 2.85, width * 0.35 ) + \
                  irit.ctlpt( irit.E2, 2.86, width * 0.001 ) ) * irit.rx( 45 * i ), threads )
    i = i + 1
    s = s + shift * 0.12

base = (-irit.sfromcrvs(threads, 3, irit.KV_FLOAT))

irit.attrib(base, "rgb", irit.GenStrObject("200,200,200"))


coverglasscross = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 0, width ), \
                                               irit.ctlpt( irit.E2, (-0.2 ), width + 0.2 ), \
                                               irit.ctlpt( irit.E2, (-0.8 ), width + 0.2 ), \
                                               irit.ctlpt( irit.E2, (-1.4 ), width + 0.5 ), \
                                               irit.ctlpt( irit.E2, (-1.6 ), width + 0.7 ), \
                                               irit.ctlpt( irit.E2, (-2.6 ), width + 1.4 ), \
                                               irit.ctlpt( irit.E2, (-4.9 ), width + 1.2 ), \
                                               irit.ctlpt( irit.E2, (-5.7 ), width ), \
                                               irit.ctlpt( irit.E2, (-5.7 ), 0.001 ) ), irit.list( irit.KV_OPEN ) ) * irit.ry( 90 )
coverglass = irit.surfrev(coverglasscross) * irit.ry((-90))
Exemplo n.º 11
0
                                            irit.ctlpt( irit.E3, 0.3, 0, 0.05 ), \
                                            irit.ctlpt( irit.E3, 0, 0, 0 ) ), irit.list( irit.KV_OPEN ) )
chairbasecross = ( irit.arc( ( 0.25, 0.05, 0 ), ( 0.25, 0, 0 ), ( 0.3, 0, 0 ) ) + \
				   irit.arc( ( 0.3, 0, 0 ), ( 0.25, 0, 0 ), ( 0.25, (-0.05 ), 0 ) ) + \
				   irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0.25, (-0.05 ), 0 ), \
										  irit.ctlpt( irit.E3, 0.22, (-0.05 ), 0 ), \
										  irit.ctlpt( irit.E3, 0, 0, 0 ), \
										  irit.ctlpt( irit.E3, (-0.22 ), (-0.05 ), 0 ), \
										  irit.ctlpt( irit.E3, (-0.25 ), (-0.05 ), 0 ) ), irit.list( irit.KV_OPEN ) ) + irit.arc( ( (-0.25 ), (-0.05 ), 0 ), ( (-0.25 ), 0, 0 ), ( (-0.3 ), 0, 0 ) ) + irit.arc( ( (-0.3 ), 0, 0 ), ( (-0.25 ), 0, 0 ), ( (-0.25 ), 0.05, 0 ) ) + \
										  irit.ctlpt( irit.E3, 0.25, 0.05, 0 ) )
chairbasemain = (-irit.sweepsrf( chairbasecross * irit.rotz( 90 ), chairbasecrv, irit.GenRealObject(0) ) )

chaircrv1 = irit.cmesh( chairbasemain, irit.ROW, 0 )
chaircrv1a = chaircrv1 * irit.trans( ( 0.06, 0, (-0.02 ) ) )
chaircrv1b = chaircrv1 * irit.scale( ( 0, 0.83, 0 ) ) * irit.trans( ( 0.66, 0, (-0.02 ) ) )
chairbasecover1 = (-irit.sfromcrvs( irit.list( chaircrv1, chaircrv1a, chaircrv1b ), 3, irit.KV_OPEN ) )
irit.free( chaircrv1 )
irit.free( chaircrv1a )
irit.free( chaircrv1b )
irit.free( chairbasecrv )

chaircrv2 = irit.cmesh( chairbasemain, irit.ROW, 2 )
chaircrv2a = chaircrv2 * irit.trans( ( (-0.06 ), 0, (-0.02 ) ) )
chaircrv2b = chaircrv2 * irit.scale( ( 0, 0.83, 0 ) ) * irit.trans( ( (-0.06 ), 0, (-0.02 ) ) )
chairbasecover2 = irit.sfromcrvs( irit.list( chaircrv2, chaircrv2a, chaircrv2b ), 3, irit.KV_OPEN )
irit.free( chaircrv2 )
irit.free( chaircrv2a )
irit.free( chaircrv2b )

chairbase = irit.list( chairbasemain, chairbasecover1, chairbasecover2 ) * irit.scale( ( 0.75, 1, 1 ) )
irit.color( chairbase, irit.YELLOW )
Exemplo n.º 12
0
                                  irit.ctlpt( irit.E2, (-0.45 ), (-0.21 ) ), \
                                  irit.ctlpt( irit.E2, (-0.45 ), 0.32 ), \
                                  irit.ctlpt( irit.E3, 0.5, (-0 ), 0.2 ), \
                                  irit.ctlpt( irit.E3, 0.8, 0.28, 0.3 ) ), irit.list( irit.KV_OPEN ) )
s = irit.sregion(irit.sweepsrf(c1 * irit.sc(0.1), c2, irit.GenRealObject(0)),
                 irit.COL, 0, 0.5)

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

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

c2 = c1 * irit.sy(0.5)
s = irit.sfromcrvs(
    irit.list(c2 * irit.sc(0.001), c2, c2 * irit.tz(1),
              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)
Exemplo n.º 13
0
        irit.point(math.cos(i * 2 * math.pi / 8),
                   math.sin(i * 2 * math.pi / 8), 0), ptlist)
    i = i + 1

circ = irit.coerce(irit.cbspline(3, ptlist, irit.list(irit.KV_PERIODIC)),
                   irit.KV_OPEN) * irit.rz((-22.5)) * irit.sc(1 / 0.93)
irit.free(ptlist)

c1 = circ * irit.rx(90) * irit.sc(1.5)
c2 = circ * irit.rx(90) * irit.sc(1.6) * irit.ty(0.1)
c3 = circ * irit.rx(90) * irit.sc(2.1) * irit.ty(0.5)
c4 = circ * irit.rx(90) * irit.sc(1.9) * irit.ty(1.4)
c5 = circ * irit.rx(90) * irit.sc(1.5) * irit.ty(2.3)
c6 = circ * irit.rx(90) * irit.sc(1.4) * irit.ty(2.4)
c7 = circ * irit.rx(90) * irit.sc(1.4) * irit.ty(2.3)
body2 = (-irit.sfromcrvs( irit.list( c1, c2, c3, c4, c5, c6,\
c7 ), 4, irit.KV_OPEN ) )

minscale = 0.01
c1 = circ * irit.rx(90) * irit.sc(1.3) * irit.ty(2.25)
c2 = circ * irit.rx(90) * irit.sc(1.3) * irit.ty(2.35)
c3 = circ * irit.rx(90) * irit.sc(0.18) * irit.ty(2.5)
c4 = circ * irit.rx(90) * irit.sc(0.15) * irit.ty(2.67)
c5 = circ * irit.rx(90) * irit.sc(0.4) * irit.ty(2.9)
c6 = circ * irit.rx(90) * irit.sc(0.3) * irit.ty(3)
c7 = circ * irit.rx(90) * irit.sc(minscale) * irit.ty(3)
cap2 = (-irit.sfromcrvs( irit.list( c1, c2, c3, c4, c5, c6,\
c7 ), 3, irit.KV_OPEN ) )

circ2 = circ * irit.sc(0.25) * irit.sy(0.5) * irit.ry(90)
c0 = circ2 * irit.rz((-25)) * irit.sc(2) * irit.ty(2) * irit.tx((-1.53))
c1 = circ2 * irit.rz((-24)) * irit.ty(2) * irit.tx((-1.6))
Exemplo n.º 14
0
2, 3, 3, 4, 4, 4 ) ) * irit.trans( ( 0, 0, 0 ) )
irit.color(c1, irit.RED)
c2 = c1 * irit.scale((1.05, 1.05, 1.05)) * irit.trans((0.3, 0, 0))
irit.color(c2, irit.RED)
c3 = c1 * irit.scale((0.95, 0.95, 0.95)) * irit.trans((1.7, 0, (-0.02)))
irit.color(c3, irit.RED)
c4 = irit.circle((0, 0, 0), 0.35) * irit.roty(90) * irit.trans((5, 0, 0.2))
irit.color(c4, irit.RED)
c5 = c4 * irit.trans((0.2, 0, 0))
irit.color(c5, irit.RED)
c6 = irit.circle((0, 0, 0), 0.3) * irit.roty(90) * irit.trans((10.5, 0, 0.2))
irit.color(c6, irit.RED)
c7 = irit.circle((0, 0, 0), 0.01) * irit.roty(90) * irit.trans((11, 0, 0.25))
irit.color(c7, irit.RED)

fuseback = irit.sfromcrvs( irit.list( c1, c2, c3, c4, c5, c6,\
c7 ), 3, irit.KV_OPEN )
irit.color(fuseback, irit.RED)

irit.SetViewMatrix(
    irit.rotx((-90)) * irit.trans(((-3), 0, 0)) * irit.scale((0.5, 0.5, 0.5)))

fuseparamspace = irit.poly(
    irit.list(irit.point(0, 0, 0), irit.point(4, 0, 0), irit.point(4, 5, 0),
              irit.point(0, 5, 0), irit.point(0, 0, 0)), 1)
irit.color(fuseparamspace, irit.YELLOW)

pt1 = (2.7, 5, (-0.05))
pt2 = (4, 5, (-0.05))
pt3 = (4, 5, 0.7)
pt4 = (2.7, 5, 0.7)
dir = (0, (-1), 0)
Exemplo n.º 15
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
Exemplo n.º 16
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
Exemplo n.º 17
0
bisect = irit.sbisector(s, irit.Fetch3TupleObject(pt))
irit.color(bisect, irit.CYAN)

irit.save("sbisect2", irit.list(s, pt, bisect))
irit.interact(irit.list(s, pt, bisect))

# ############################################################################
#
#  A quadratic surface
#
s2 = irit.sfromcrvs( irit.list( irit.cbezier( irit.list( irit.ctlpt( irit.E3, (-1 ), (-1 ), 0 ), \
                                                         irit.ctlpt( irit.E3, (-1 ), 0, 0.1 ), \
                                                         irit.ctlpt( irit.E3, (-1 ), 1, 0 ) ) ), irit.cbezier( irit.list( \
                                                         irit.ctlpt( irit.E3, 0, (-1 ), 0.1 ), \
                                                         irit.ctlpt( irit.E3, 0, 0, (-0.8 ) ), \
                                                         irit.ctlpt( irit.E3, 0, 1, 0.1 ) ) ), irit.cbezier( irit.list( \
                                                         irit.ctlpt( irit.E3, 1, (-1 ), 0 ), \
                                                         irit.ctlpt( irit.E3, 1, 0, 0.1 ), \
                                                         irit.ctlpt( irit.E3, 1, 1, 0 ) ) ) ), 3, irit.KV_OPEN )
irit.color(s2, irit.RED)

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

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

irit.save("sbisect3", irit.list(s2, pt, bisect))
irit.interact(irit.list(s2, pt, bisect))
Exemplo n.º 18
0
                                  irit.ctlpt( irit.E3, 4.2, 0.4, 0.2 ), \
                                  irit.ctlpt( irit.E3, 4.2, 0.34, 0.65 ), \
                                  irit.ctlpt( irit.E3, 4.2, 0.3, 0.65 ), \
                                  irit.ctlpt( irit.E3, 4.2, 0, 0.65 ) ), irit.list( irit.KV_OPEN ) )
crosssection5 = makecrosssection(c5)

c6 = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 5.5, 0, 0 ), \
                                  irit.ctlpt( irit.E3, 5.5, 0.3, 0 ), \
                                  irit.ctlpt( irit.E3, 5.5, 0.8, 0.05 ), \
                                  irit.ctlpt( irit.E3, 5.5, 0.8, 0.07 ), \
                                  irit.ctlpt( irit.E3, 5.5, 0.3, 0.3 ), \
                                  irit.ctlpt( irit.E3, 5.5, 0.1, 0.65 ), \
                                  irit.ctlpt( irit.E3, 5.5, 0, 0.65 ) ), irit.list( irit.KV_OPEN ) )
crosssection6 = makecrosssection(c6)

fusefront = irit.sfromcrvs( irit.list( crosssection0, crosssection1, crosssection2, crosssection3, crosssection4, crosssection5,\
crosssection6 ), 3, irit.KV_OPEN )
irit.attrib(fusefront, "rgb", irit.GenStrObject("128, 128, 255"))
irit.attrib(fusefront, "texture", irit.GenStrObject("camouf"))

irit.free(c3)
irit.free(c4)
irit.free(c5)
irit.free(c6)
irit.free(crosssection0)
irit.free(crosssection1)
irit.free(crosssection2)
irit.free(crosssection3)
irit.free(crosssection4)
irit.free(crosssection5)
irit.free(crosssection6)
Exemplo n.º 19
0
                              irit.ctlpt( irit.E2, 2, 0 ), \
                              irit.ctlpt( irit.E2, 4, 1 ) ) )

irit.awidth(c1, 0.02)
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(c1, r1)
c2a = irit.compose(c1, r2)

s1 = irit.sfromcrvs(
    irit.list(c1a * irit.ty(1) * irit.tz(3),
              c1a * irit.ty((-1)) * irit.tz(2), c1a * irit.tz(1), c1a), 4,
    irit.KV_OPEN)
irit.attrib(s1, "gray", irit.GenRealObject(0.2))
irit.awidth(s1, 0.012)

s2 = irit.sfromcrvs(
    irit.list(c2a, c2a * irit.tz((-1)),
              c2a * irit.ty(1) * irit.tz((-2)),
              c2a * irit.ty(1) * irit.tz((-3))), 4, irit.KV_OPEN)
irit.attrib(s2, "gray", irit.GenRealObject(0.35))
irit.awidth(s2, 0.012)

all1 = irit.list(s1, s2, c1)
irit.interact(all1)
irit.save("crv1dcmp", all1)
Exemplo n.º 20
0

#
#  Surface point distance.
#

crv = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 1.68, (-1.37 ) ), \
                                   irit.ctlpt( irit.E2, 1.34, 1.41 ), \
                                   irit.ctlpt( irit.E2, 0.629, (-0.453 ) ), \
                                   irit.ctlpt( irit.E2, (-0.5 ), 2 ), \
                                   irit.ctlpt( irit.E2, (-0.759 ), (-1.14 ) ) ), irit.list( irit.KV_OPEN ) )

srf1 = irit.sfromcrvs(
    irit.list(crv,
              crv * irit.tz(0.4) * irit.ty(1.5),
              crv * irit.tz(1) * irit.ty(0),
              crv * irit.tz(1.6) * irit.ty(1.6),
              crv * irit.tz(2) * irit.ty(0)), 3,
    irit.KV_OPEN) * irit.sc(0.3) * irit.ty((-0.2))
irit.color(srf1, irit.GREEN)
irit.attrib(srf1, "width", irit.GenRealObject(0.02))

all1 = irit.list(srf1, uvpos2pt(srf1, irit.point((-0.1), 0.5, 0.1), 1),
                 uvpos2pt(srf1, irit.point(0.3, 0.4, 0.1), 1),
                 uvpos2pt(srf1, irit.point(0.3, 0.4, 0.4), 1),
                 uvpos2pt(srf1, irit.point((-0.1), 0.5, 0.4), 1))
irit.interact(all1)

all2 = irit.list(srf1, uvpos2pt(srf1, irit.point((-0.1), 0.5, 0.1), 0),
                 uvpos2pt(srf1, irit.point(0.3, 0.4, 0.1), 0),
                 uvpos2pt(srf1, irit.point(0.3, 0.4, 0.4), 0),
Exemplo n.º 21
0
                                  irit.ctlpt( irit.P3, 1, 2.5, 0, (-0.1 ) ) ), irit.list( 0, 0, 0, 1, 1, 2,\
2, 3, 3, 4, 4, 4 ) ) * irit.trans( ( (-1.5 ), 0, 0 ) )
irit.color( c4, irit.GREEN )
c5 = irit.cbspline( 3, irit.list( irit.ctlpt( irit.P3, 1, 2.5, 0, (-0.1 ) ), \
                                  irit.ctlpt( irit.P3, 0.707, 1.77, 0.283, (-0.071 ) ), \
                                  irit.ctlpt( irit.P3, 1, 2.5, 0.4, 0 ), \
                                  irit.ctlpt( irit.P3, 0.707, 1.77, 0.283, 0.6 ), \
                                  irit.ctlpt( irit.P3, 1, 2.5, 0, 0.5 ), \
                                  irit.ctlpt( irit.P3, 0.707, 1.77, (-0.283 ), 0.6 ), \
                                  irit.ctlpt( irit.P3, 1, 2.5, (-0.4 ), 0 ), \
                                  irit.ctlpt( irit.P3, 0.707, 1.77, (-0.283 ), (-0.071 ) ), \
                                  irit.ctlpt( irit.P3, 1, 2.5, 0, (-0.1 ) ) ), irit.list( 0, 0, 0, 1, 1, 2,\
2, 3, 3, 4, 4, 4 ) ) * irit.trans( ( 0, 0, 0 ) )
irit.color( c5, irit.GREEN )

fusefront = irit.sfromcrvs( irit.list( c1, c2, c3, c4, c5 ), 3,\
irit.KV_OPEN )
if ( do_texture == 1 ):
    irit.attrib( fusefront, "texture", texture )
irit.attrib( fusefront, "rgb", irit.GenStrObject(blackcolor) )
irit.color( fusefront, irit.YELLOW )

# 
#  Back part of the fuselage:
# 
c1 = irit.cbspline( 3, irit.list( irit.ctlpt( irit.P3, 1, 2.5, 0, (-0.1 ) ), \
                                  irit.ctlpt( irit.P3, 0.707, 1.77, 0.283, (-0.071 ) ), \
                                  irit.ctlpt( irit.P3, 1, 2.5, 0.4, 0 ), \
                                  irit.ctlpt( irit.P3, 0.707, 1.77, 0.283, 0.566 ), \
                                  irit.ctlpt( irit.P3, 1, 2.5, 0, 0.8 ), \
                                  irit.ctlpt( irit.P3, 0.707, 1.77, (-0.283 ), 0.566 ), \
                                  irit.ctlpt( irit.P3, 1, 2.5, (-0.4 ), 0 ), \
Exemplo n.º 22
0
                    irit.point(0.076425, 0.747313, 0.660062),
                    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(
Exemplo n.º 23
0
                                  irit.ctlpt( irit.E3, (-0.4 ), 0.7, 0.2 ), \
                                  irit.ctlpt( irit.E3, (-0.1 ), 1.1, 0 ) ), irit.list( irit.KV_OPEN ) )
c4 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E3, 0.5, (-1 ), 0 ), \
                                  irit.ctlpt( irit.E3, 0.4, (-0.7 ), 0.1 ), \
                                  irit.ctlpt( irit.E3, 0.6, (-0.3 ), 0.2 ), \
                                  irit.ctlpt( irit.E3, 0.4, 0.1, (-0.4 ) ), \
                                  irit.ctlpt( irit.E3, 0.5, 0.7, 0.2 ), \
                                  irit.ctlpt( irit.E3, 0.7, 1, 0.2 ) ), irit.list( irit.KV_OPEN ) )
c5 = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E3, 1.2, (-1 ), 0.1 ), \
                                  irit.ctlpt( irit.E3, 1, (-0.5 ), 0.1 ), \
                                  irit.ctlpt( irit.E3, 1, (-0.2 ), 0.2 ), \
                                  irit.ctlpt( irit.E3, 1.1, 0.3, 0 ), \
                                  irit.ctlpt( irit.E3, 1, 0.6, 0.1 ), \
                                  irit.ctlpt( irit.E3, 0.9, 1, 0 ) ), irit.list( irit.KV_OPEN ) )

s2 = irit.sfromcrvs( irit.list( c1, c2, c3, c4, c5 ), 3,\
irit.KV_OPEN )

ref_knots = irit.list( 0.2, 0.2667, 0.4, 0.4667, 0.5333, 0.6,\
0.7333, 0.8 )
s2r = irit.srefine( irit.srefine( s2, irit.ROW, 0, ref_knots ), irit.COL, 0,\
ref_knots )
irit.free(ref_knots)

s2o = irit.offset(s2r, irit.GenRealObject(0.3), 10, 0)
irit.color(s2o, irit.GREEN)

irit.SetResolution(20)

#
#  Computing self intersection by a Boolean operation with itself - Parametric.
#
Exemplo n.º 24
0
                                   irit.ctlpt( irit.E3, 0.432, 0.48, (-0.3 ) ), \
                                   irit.ctlpt( irit.E3, 0.521, (-0.08 ), 0.4 ) ), irit.list( irit.KV_OPEN ) )
irit.color(c4a, irit.MAGENTA)

c5 = irit.cbspline( 2, irit.list( irit.ctlpt( irit.E2, 0.54, 0.42 ), \
                                  irit.ctlpt( irit.E2, 0.46, 0.01 ) ), irit.list( irit.KV_OPEN ) )
irit.color(c5, irit.GREEN)

c6 = irit.pcircle((0, 0, 0), 1)
irit.color(c6, irit.RED)

s2 = irit.ruledsrf(c2, c2 * irit.tz(0.5))
irit.color(s2, irit.CYAN)

s3 = irit.sfromcrvs(
    irit.list(c3 * irit.tz((-0.5)), c3 * irit.sc(1.3), c3 * irit.tz(0.5)), 3,
    irit.KV_OPEN)
irit.color(s3, irit.YELLOW)

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

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)
Exemplo n.º 25
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 ) ), \
Exemplo n.º 26
0
#                                Gershon Elber, November 1995
# 

ptlist = irit.nil(  )
i = 0
while ( i <= 7 ):
    irit.snoc( irit.point( math.cos( i * 2 * math.pi/8 ), math.sin( i * 2 * 3.14159/8 ), 0 ), ptlist )
    i = i + 1


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 )
Exemplo n.º 27
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
Exemplo n.º 28
0
                                        irit.ctlpt( irit.E3, (-0.04 ), 0, 2.7 ), \
                                        irit.ctlpt( irit.E3, (-0.04 ), 0, 2.5 ), \
                                        irit.ctlpt( irit.E3, (-0.04 ), 0, 2.15 ) ), irit.list( irit.KV_OPEN ) )
base2 = irit.surfrev(base2sec)
irit.free(base2sec)
irit.attrib(base2, "transp", irit.GenRealObject(0.95))
irit.color(base2, irit.WHITE)


wingsec = irit.cbspline( 2, irit.list( irit.ctlpt( irit.E3, (-1 ), (-1 ), 0 ), \
                                       irit.ctlpt( irit.E3, (-1 ), 1, 0 ), \
                                       irit.ctlpt( irit.E3, 1, 1, 0 ), \
                                       irit.ctlpt( irit.E3, 1, (-1 ), 0 ), \
                                       irit.ctlpt( irit.E3, (-1 ), (-1 ), 0 ) ), irit.list( irit.KV_OPEN ) )
wingframe = irit.sfromcrvs(
    irit.list(wingsec, wingsec * irit.sc(1.1),
              wingsec * irit.sc(1.1) * irit.tz(0.1), wingsec * irit.tz(0.1)),
    3, irit.KV_OPEN)
irit.free(wingsec)
wingplane1 = irit.ruledsrf( irit.ctlpt( irit.E3, (-1 ), (-1 ), 0 ) + \
                            irit.ctlpt( irit.E3, (-1 ), 1, 0 ), \
                            irit.ctlpt( irit.E3, 1, (-1 ), 0 ) + \
                            irit.ctlpt( irit.E3, 1, 1, 0 ) )
wingplane2 = (-wingplane1) * irit.tz(0.1)
irit.attrib(wingplane1, "rgb", irit.GenStrObject("10, 10, 10"))
irit.attrib(wingplane2, "rgb", irit.GenStrObject("255, 255, 255"))
irit.attrib(wingframe, "rgb", irit.GenStrObject("100, 100, 100"))

wingbase = irit.list(wingframe, wingplane1, wingplane2)
irit.free(wingframe)
irit.free(wingplane1)
irit.free(wingplane2)
Exemplo n.º 29
0
                                    irit.ctlpt( irit.E2, (-0.183 ), 0.252 ), \
                                    irit.ctlpt( irit.E2, (-0.525 ), (-0.04 ) ) ), irit.list( irit.KV_OPEN ) ) * irit.tx( (-0.2 ) ) * irit.ty( (-0.2 ) )

sec2 = sec1 * irit.sy(0.5) * irit.sc(1.2) * irit.tz(2.5) * irit.rz(30)

bladeside = irit.ruledsrf(sec1, sec2)

bladetop = irit.ruledsrf(irit.cregion(sec2, 0, 0.5),
                         (-irit.cregion(sec2, 0.5, 1)))

blademain = irit.list(bladeside, bladetop) * irit.tz(0.2)
irit.free(bladeside)
irit.free(bladetop)

bladefillet = irit.sfromcrvs(
    irit.list(sec1 * irit.sc(1.35) * irit.sy(1.5) * irit.tz((-0.1)), sec1,
              sec1 * irit.tz(0.2)), 3, irit.KV_OPEN)
irit.free(sec1)
irit.free(sec2)

blade = irit.list(blademain, bladefillet) * irit.tx(0.1) * irit.ry(
    90) * irit.sc(0.285) * irit.tx(0.636) * irit.rx(20)
irit.attrib(blade, "rgb", irit.GenStrObject("128,128,128"))

irit.free(blademain)
irit.free(bladefillet)

#
#  The Base
#
Exemplo n.º 30
0
    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(
        ((-0.8), 0, 0.6)),
    c2 * irit.sc(0.2) * irit.sz(1.5) * irit.ry(75) * irit.trans(
        ((-0.82), 0, 0.66)),
    c * irit.sc(0.2) * irit.sz(1.2) * irit.ry(75) * irit.trans(
        ((-0.79), 0, 0.8)),
    c * irit.sc(0.15) * irit.sz(1.2) * irit.ry(75) * irit.trans(
        ((-0.82), 0, 0.95)),
    c * irit.sc(0.05) * irit.sz(1.2) * irit.ry(75) * irit.trans(
        ((-0.82), 0, 1.02)),
    c * irit.sc(0.001) * irit.sz(1.2) * irit.ry(75) * irit.trans(
        ((-0.82), 0, 1.02)))

irit.view(crvs, irit.ON)

duck = irit.sfromcrvs(crvs, 4, irit.KV_OPEN)
irit.save("duck", duck)

irit.interact(duck)

irit.free(duck)
irit.free(crvs)
irit.free(c)
irit.free(c2)