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(
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))
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)
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)) # ############################################################################
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 )
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)
# 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)