Пример #1
0
save_res = irit.GetResolution()
save_mat = irit.GetViewMatrix()

irit.SetViewMatrix(irit.rx(2) * irit.ry(2) * irit.sc(0.5))
irit.viewobj(irit.GetViewMatrix())

irit.SetViewMatrix(save_mat)

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

s = 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 ) ) * irit.rx( 90 )
s = irit.sraise(irit.sraise(s, irit.ROW, 3), irit.COL, 3)
s = (-irit.seditpt(s, irit.ctlpt(irit.E3, 0, 1, 0), 1, 1))
irit.color(s, irit.MAGENTA)

reflectlns = irit.nil()
x = (-1.6)
while (x <= 1.6):
    irit.snoc( irit.ctlpt( irit.E3, x, 2, (-10 ) ) + \
                irit.ctlpt( irit.E3, x, 2, 10 ), reflectlns )
    x = x + 0.8
irit.color(reflectlns, irit.CYAN)
irit.adwidth(reflectlns, 2)

irit.SetResolution(30)
#  highlight lines - view is zero vector.
hl = irit.rflctln(
Пример #2
0
ms1 = irit.coerce(s1, irit.MULTIVAR_TYPE)
ms2 = irit.coerce(s2, irit.MULTIVAR_TYPE)
mt1 = irit.coerce(t1, irit.MULTIVAR_TYPE)
mt2 = irit.coerce(t2, irit.MULTIVAR_TYPE)

printtest("craise", irit.craise(c1, 5),
          irit.coerce(irit.mraise(mc1, 0, 5), irit.CURVE_TYPE))
printtest("craise", irit.craise(c2, 5),
          irit.coerce(irit.mraise(mc2, 0, 5), irit.CURVE_TYPE))

printtest("craise", irit.craise(c1, 8),
          irit.coerce(irit.mraise(mc1, 0, 8), irit.CURVE_TYPE))
printtest("craise", irit.craise(c2, 8),
          irit.coerce(irit.mraise(mc2, 0, 8), irit.CURVE_TYPE))

printtest("sraise", irit.sraise(s1, irit.COL, 5),
          irit.coerce(irit.mraise(ms1, 0, 5), irit.SURFACE_TYPE))
printtest("sraise", irit.sraise(s1, irit.ROW, 5),
          irit.coerce(irit.mraise(ms1, 1, 5), irit.SURFACE_TYPE))

printtest("sraise", irit.sraise(s2, irit.COL, 7),
          irit.coerce(irit.mraise(ms2, 0, 7), irit.SURFACE_TYPE))
printtest("sraise", irit.sraise(s2, irit.ROW, 7),
          irit.coerce(irit.mraise(ms2, 1, 7), irit.SURFACE_TYPE))

printtest("tsraise", irit.traise(t1, irit.COL, 7),
          irit.coerce(irit.mraise(mt1, 0, 7), irit.TRIVAR_TYPE))
printtest("tsraise", irit.traise(t1, irit.ROW, 11),
          irit.coerce(irit.mraise(mt1, 1, 11), irit.TRIVAR_TYPE))
printtest("tsraise", irit.traise(t1, irit.DEPTH, 5),
          irit.coerce(irit.mraise(mt1, 2, 5), irit.TRIVAR_TYPE))
Пример #3
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("ssi1", all)

#
#  2 and 3. Same as 1 but both surfaces are degree raised. How much does it
#  slows down ssi computation!?
#

s1a = irit.sraise(irit.sraise(s1, irit.ROW, 4), irit.COL, 4)
s2a = irit.sraise(irit.sraise(s2, irit.ROW, 4), irit.COL, 4)
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("ssi2", all)

s1b = irit.sraise(irit.sraise(s1a, irit.ROW, 5), irit.COL, 5)
s2b = irit.sraise(irit.sraise(s2a, irit.ROW, 5), irit.COL, 5)
irit.color(s1b, irit.RED)
irit.color(s2b, irit.GREEN)
Пример #4
0
crv2 = crv1 * irit.sc(0.75) * irit.tx(2)
crv3 = crv1 * irit.sc(0.75) * irit.tx(2) * irit.ty(2)
crv4 = crv1 * irit.sc(0.5) * irit.tx((-0.5)) * irit.ty(1.6)
crvs = irit.list(crv1, crv2, crv3, crv4)
irit.view(irit.list(crvs), irit.ON)

tris = raytraptris(crvs, 0.001, (-1e-010))
irit.interact(irit.list(crvs, tris))
irit.save("raytrap4", irit.list(crvs, tris))

# ############################################################################
#
#  This one can take some seconds.
#
srf1 = irit.planesrf((-1), (-1), 1, 1)
srf1 = irit.coerce(irit.sraise(irit.sraise(srf1, irit.ROW, 3), irit.COL, 3),
                   irit.E3)
srf1 = irit.seditpt(srf1, irit.ctlpt(irit.E3, 0, 0, 4), 1, 1) * irit.tz(
    (-2)) * irit.rx(12) * irit.ry(23)
srf1 = irit.sregion(irit.sregion(srf1, irit.ROW, 0.2, 0.8), irit.COL, 0.2, 0.8)

srf2 = srf1 * irit.ry(110) * irit.rx(23)
srf3 = srf1 * irit.ry(230) * irit.rx((-24))
srfs = irit.list(srf1, srf2, srf3)

tris1 = raytraptris3d(srfs, 0.001, 1e-010)

irit.interact(irit.list(srfs, tris1))
irit.save("rytrp3d1", irit.list(srfs, tris1))

# ############################################################################
Пример #5
0
                             irit.ctlpt( irit.E3, 0.3, 1, 0 ), \
                             irit.ctlpt( irit.E3, 0, 2, 1 ) ), irit.list( \
                             irit.ctlpt( irit.E3, 3.1, 0, 0 ), \
                             irit.ctlpt( irit.E3, 3.3, 1, 2 ), \
                             irit.ctlpt( irit.E3, 3, 2, 0 ) ), irit.list( \
                             irit.ctlpt( irit.E3, 4.1, 0, 1 ), \
                             irit.ctlpt( irit.E3, 4.3, 1, 0 ), \
                             irit.ctlpt( irit.E3, 4, 2, 1 ) ) )

cb = irit.cbezier( cbzr )
sb = irit.sbspline( 3, 3, sbsp, irit.list( irit.list( 1, 1, 1, 2, 2, 2 ),\
irit.list( irit.KV_OPEN ) ) )
irit.free( cbzr )
irit.free( sbsp )

tb = irit.tfromsrfs( irit.list( irit.srefine( sb, irit.ROW, 0, irit.list( 0.3, 0.6 ) ), irit.sraise( sb, irit.ROW, 4 ) * irit.tz( 1 ) ), 2, irit.KV_OPEN )
mb = irit.coerce( tb, irit.MULTIVAR_TYPE )

irit.snoc( irit.coord( cb, 1 ), results )
irit.snoc( irit.coord( sb, 0 ), results )
irit.snoc( irit.coord( sb, 1 ), results )
irit.snoc( irit.coord( sb, 8 ), results )
irit.snoc( irit.coord( tb, 0 ), results )
irit.snoc( irit.coord( tb, 3 ), results )
irit.snoc( irit.coord( tb, 47 ), results )
irit.snoc( irit.coord( mb, 1 ), results )
irit.snoc( irit.coord( mb, 15 ), results )
irit.snoc( irit.coord( mb, 37 ), results )

irit.free( cb )
irit.free( sb )
Пример #6
0
                                 irit.ctlpt( irit.E2, 0.5, 0.5 ), \
                                 irit.ctlpt( irit.E2, 0.36, 0.7 ) ), irit.list( irit.KV_OPEN ) )

srf = irit.surfrev(c * irit.rx(90))
irit.free(c)

# #############################################################################
#
#  Spikes like texture
#

srftext1 = irit.ruledsrf( irit.ctlpt( irit.E2, 0, 0 ) + \
                          irit.ctlpt( irit.E2, 0, 1 ), \
                          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)
Пример #7
0
#
import math
import irit
#

#
#  A simple simulation of page flipping.
#
#                                Gershon Elber, March 1994.
#

page1 = irit.ruledsrf( irit.ctlpt( irit.E2, 0, 0 ) + \
                       irit.ctlpt( irit.E2, 1, 0 ), \
                       irit.ctlpt( irit.E2, 0, 1.5 ) + \
                       irit.ctlpt( irit.E2, 1, 1.5 ) )
page1 = irit.sraise(irit.sraise(page1, irit.ROW, 4), irit.COL, 4)
irit.color(page1, irit.GREEN)
irit.viewobj(page1)

page2 = irit.seditpt(irit.coerce(page1, irit.E3),
                     irit.ctlpt(irit.E3, 0.9, 1.35, 0.5), 3, 3)
irit.color(page2, irit.RED)
irit.viewobj(page2)

page3 = irit.srefine(page2, irit.COL, 0, irit.list(0.3, 0.6))
page3 = irit.seditpt(irit.coerce(page3, irit.E3),
                     irit.ctlpt(irit.E3, 0.6, 1.5, 0.4), 5, 3)
page3 = irit.seditpt(irit.coerce(page3, irit.E3),
                     irit.ctlpt(irit.E3, 0.6, 1, 0.4), 5, 2)
page3 = irit.seditpt(irit.coerce(page3, irit.E3),
                     irit.ctlpt(irit.E3, 0.6, 0.5, 0.4), 5, 1)