def textgeom3daux(ply, wdth, dpth): retval = irit.nil() if (irit.ThisObject(ply) == irit.CURVE_TYPE): retval = irit.extrude((-ply), (0, 0, dpth), 0) if (irit.ThisObject(ply) == irit.POLY_TYPE): retval = irit.extrude( irit.ruledsrf( irit.offset(ply, irit.GenRealObject(-wdth / 2.0), 0, 0), irit.offset(ply, irit.GenRealObject(wdth / 2.0), 0, 0)), (0, 0, dpth), 3) return retval
def cornerunitbars( w, h, legw, legd ): sbar = irit.box( ( legw, 0, 0 ), w - 2 * legw, legd, legw ) lbar = irit.box( ( legd, 0, 0 ), 2 * w - legd - legw, legd, legw ) arcbar1 = irit.arc( ( w, 0, 0 ), ( w, w, 0 ), ( 2 * w, w, 0 ) ) arcbar2 = irit.offset( arcbar1, (-legd ), 0.1, 0 ) arcbar = irit.list( irit.extrude( arcbar1 + (-arcbar2 ) + irit.ctlpt( irit.E3, w, 0, 0 ), ( 0, 0, legw ), 0 ), irit.ruledsrf( arcbar1, arcbar2 ), irit.ruledsrf( arcbar1, arcbar2 ) * irit.tz( legw ) ) barframe = irit.list( arcbar, sbar, sbar * irit.tx( w ) * irit.rz( 90 ) * irit.tx( 2 * w ), lbar * irit.rz( 90 ) * irit.tx( legd ), lbar * irit.tx( legw - legd ) * irit.ty( 2 * w - legd ) ) retval = irit.list( barframe * irit.tz( 0.1 ), barframe * irit.tz( h - 0.1 ) ) irit.attrprop( retval, "ptexture", woodtext ) irit.attrprop( retval, "rgb", woodclr ) return retval
def cornerunitshelf( w, h, legw, legd ): prof1 = ( irit.ctlpt( irit.E3, legd, legd, 0 ) + \ irit.ctlpt( irit.E3, legd, 2 * w - legd, 0 ) + \ irit.ctlpt( irit.E3, 2 * w - legd, 2 * w - legd, 0 ) ) prof2 = ( \ irit.ctlpt( irit.E3, legd, legd, 0 ) + irit.arc( ( w - legd, legd, 0 ), ( w, w, 0 ), ( 2 * w - legd, w - legd, 0 ) ) + \ irit.ctlpt( irit.E3, 2 * w - legd, 2 * w - legd, 0 ) ) shelfframe = irit.list( irit.extrude( prof1 + (-prof2 ), ( 0, 0, 0.03 ), 0 ), irit.ruledsrf( prof1, prof2 ), irit.ruledsrf( prof1, prof2 ) * irit.tz( 0.03 ) ) irit.attrib( shelfframe, "ptexture", woodtext ) irit.attrib( shelfframe, "rgb", woodclr ) retval = irit.list( shelfframe ) * irit.tz( h ) return retval
def marbleshelfunit( w, h ): prof1 = ( irit.ctlpt( irit.E3, 2 * w, 0, 0 ) + irit.cbspline( 3, irit.list( \ irit.ctlpt( irit.E3, 2 * w, w, 0 ), \ irit.ctlpt( irit.E3, 2 * w, 2 * w, 0 ), \ irit.ctlpt( irit.E3, w, 2 * w, 0 ) ), irit.list( irit.KV_OPEN ) ) + \ irit.ctlpt( irit.E3, 0, 2 * w, 0 ) ) prof2 = ( \ irit.ctlpt( irit.E3, 0, 2 * w, 0 ) + \ irit.ctlpt( irit.E3, 0, 0, 0 ) + \ irit.ctlpt( irit.E3, 2 * w, 0, 0 ) ) retval = irit.list( irit.extrude( prof1 + prof2, ( 0, 0, 0.025 ), 0 ), irit.ruledsrf( prof1, (-prof2 ) ), irit.ruledsrf( prof1, (-prof2 ) ) * irit.tz( 0.025 ) ) * irit.tz( h ) irit.attrprop( retval, "ptexture", marbletext ) irit.attrprop( retval, "rgb", marbleclr ) return retval
def cornerunitwalls( w, h, legw, legd ): lwall = irit.box( ( legd, 0, 0.2 ), 2 * w - 2 * legd, 0.002, h - 0.3 ) irit.attrib( lwall, "ptexture", woodtext ) irit.attrib( lwall, "rgb", woodclr ) swall = irit.box( ( legd, 0, 0.2 ), w - 2 * legd, 0.002, h - 0.3 ) irit.attrib( swall, "transp", irit.GenRealObject(0.3 )) arcbar1 = irit.arc( ( w, 0, 0 ), ( w, w, 0 ), ( 2 * w, w, 0 ) ) arcbar2 = irit.offset( arcbar1, irit.GenRealObject(-0.03 ), 0.1, 0 ) arcbar = irit.list( irit.extrude( arcbar1 + (-arcbar2 ) + irit.ctlpt( irit.E3, w, 0, 0 ), ( 0, 0, 0.03 ), 0 ), irit.ruledsrf( arcbar1, arcbar2 ), irit.ruledsrf( arcbar1, arcbar2 ) * irit.tz( 0.03 ) ) rdoorframe = irit.list( irit.box( ( w, 0, 0.2 ), 0.03, 0.03, h - 0.3 ),\ irit.box( ( 2 * w - 0.03, w - 0.03, 0.2 ), 0.03, 0.03, h - 0.3 ),\ arcbar * irit.tz( 0.2 ), arcbar * irit.tz( h - 0.1 - 0.03 ) ) irit.attrib( rdoorframe, "ptexture", woodtext ) irit.attrib( rdoorframe, "rgb", woodclr ) rdoorglass = irit.extrude( irit.offset( arcbar1, irit.GenRealObject(-0.02 ), 0.1, 0 ) + (-irit.offset( arcbar1, irit.GenRealObject(-0.03 ), 0.1, 0 ) ) + \ irit.ctlpt( irit.E3, w - 0.02, 0, 0 ), ( 0, 0, h - 0.3 - 0.04 ), 0 ) * irit.tz( 0.22 ) irit.attrib( rdoorglass, "transp", irit.GenRealObject(0.3 )) rdoor = irit.list( rdoorframe, rdoorglass ) rot_z = ( \ irit.ctlpt( irit.E1, 0 ) + \ irit.ctlpt( irit.E1, 130 ) ) irit.attrib( rdoor, "animation", irit.list( irit.tx( (-w ) ), rot_z, irit.tx( w ) ) ) retval = irit.list( lwall * irit.ty( 2 * w ), swall * irit.rz( 90 ) * irit.tx( 2 * w ) * irit.ty( w ), lwall * irit.rz( 90 ), swall, rdoor ) return retval
# # An object that has three projections of a cross, circle and a square. # w = 0.4 cross = ( irit.ctlpt( irit.E3, 1, 0, 0 ) + \ irit.ctlpt( irit.E3, 1, w, 0 ) + \ irit.ctlpt( irit.E3, w, w, 0 ) + \ irit.ctlpt( irit.E3, w, 1, 0 ) + \ irit.ctlpt( irit.E3, 0, 1, 0 ) ) cross = (cross + cross * irit.rz(90) + cross * irit.rz(180) + cross * irit.rz(270)) s1 = irit.extrude(cross * irit.tz((-2)), (0, 0, 4), 0) irit.free(cross) s2 = irit.extrude(irit.circle((0, 0, 0), 0.999) * irit.tz((-2)), (0, 0, 4), 0) * irit.rx(90) s = s1 * s2 irit.free(s1) irit.free(s2) irit.view(irit.list(irit.GetAxes(), s), irit.ON) irit.save("crosplug", s) irit.pause() irit.free(s)
ruled = irit.ruledsrf(circ * irit.rotx(20), circ * irit.rotx((-20)) * irit.tz(1)) printtest("ruled", irit.isgeom(ruled, irit.GEOM_RULED_SRF, 1e-010), 2) printtest("ruled", irit.isgeom(ruled, irit.GEOM_EXTRUSION, 1e-010), 0) irit.free(circ) # # Extrusion examples. # printtest("extrusion", irit.isgeom(ruled, irit.GEOM_EXTRUSION, 1e-010), 0) crv = irit.cbezier( irit.list( irit.ctlpt( irit.E2, 0, 0 ), \ irit.ctlpt( irit.E2, 1, 0 ), \ irit.ctlpt( irit.E2, 1, 1 ) ) ) extr = irit.extrude(crv, (0, 0, 1), 0) printtest("extrusion", irit.isgeom(extr, irit.GEOM_EXTRUSION, 1e-010), 2) extr = irit.extrude(crv, (1, 1, 1), 0) printtest("extrusion", irit.isgeom(extr, irit.GEOM_EXTRUSION, 1e-010), 2) printtest("extrusion", irit.isgeom(extr, irit.GEOM_EXTRUSION, 1e-010), 2) printtest("extrusion", irit.isgeom(irit.sreverse(extr), irit.GEOM_EXTRUSION, 1e-010), 1) crv = irit.circle((0, 0, 0), 0.25) extr = irit.extrude(crv, (0.1, 0.2, 1), 0) printtest("extrusion", irit.isgeom(extr, irit.GEOM_EXTRUSION, 1e-010), 2) irit.free(crv) #
i = irit.SizeOf(t3) - 1 while (i >= 0): irit.snoc(irit.coord(t3, i), techlist) i = i + (-1) tech = irit.poly(techlist, irit.FALSE) irit.free(t1) irit.free(t2) irit.free(t3) irit.free(techlist) # Make solids out of the profiles: vec = (0, 0, 0.1) c1psolid = irit.extrude(c1p, vec, 3) c2psolid = irit.extrude(c2p, vec, 3) c3psolid = irit.extrude(c3p, vec, 3) techsolid = irit.extrude(tech, vec, 3) irit.free(c1p) irit.free(c2p) irit.free(c3p) irit.free(tech) all = irit.list(c1psolid, c2psolid, c3psolid, techsolid) * irit.sc(3) * irit.tx((-1)) * irit.ty((-1)) irit.view(all, irit.ON) irit.pause() irit.save("cslogo", all)
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) c2 = putrgbonvertices(c2, irit.GenStrObject("255,0,255")) c3 = putrgbonvertices(c3, irit.GenStrObject("255,128,128")) irit.view(irit.list(c2, c3), irit.OFF) m3 = (m2 - c2 - c3) irit.free(m2) irit.free(c2) irit.free(c3) final = irit.convex(m3) irit.free(m3)
rot_y = irit.cbezier( irit.list( irit.ctlpt( irit.E1, 0 ), \ irit.ctlpt( irit.E1, (-80 ) ) ) ) trns = irit.trans(((-7.75), 0, (-7.45))) irit.attrib(stopper, "animation", irit.list(trns, rot_y, trns ^ (-1))) irit.free(rot_y) irit.free(trns) # # Top round. # topround = irit.poly( lj8samplecurve( irit.cbezier( irit.list( irit.ctlpt( irit.E3, 0, (-0.7 ), 7.5 ), \ irit.ctlpt( irit.E3, 0, 2.5, 8 ), \ irit.ctlpt( irit.E3, 0, 5.7, 7.5 ) ) ), 10 ) + irit.list( ( 0, 5.7, 7.2 ), ( 0, 5.2, 7.2 ), irit.point( 0, 4.9, 6.8 ), irit.point( 0, 4.9, 6 ), irit.point( 0, 0.1, 6 ), irit.point( 0, 0.1, 6.3 ), irit.point( 0, (-0.2 ), 6.3 ), irit.point( 0, (-0.7 ), 7.1 ) ), 0 ) topround = irit.extrude(topround, (2, 0, 0), 3) * irit.tx(0.001) irit.SetResolution(4) screen = irit.con2((0, 0, 0), (0, 0, (-0.15)), 0.3, 0.2, 3) * irit.rz(45) topround = (topround - screen * irit.rx(5.5) * irit.sx(3) * irit.tx(1) * irit.tz(7.65)) irit.SetResolution(20) screen = irit.ruledsrf( irit.ctlpt( irit.E3, 0.1414, 0.1414, (-0.14 ) ) + \ irit.ctlpt( irit.E3, (-0.1414 ), 0.1414, (-0.14 ) ), \ irit.ctlpt( irit.E3, 0.1414, (-0.1414 ), (-0.14 ) ) + \ irit.ctlpt( irit.E3, (-0.1414 ), (-0.1414 ), (-0.14 ) ) ) * irit.rx( 5.5 ) * irit.sx( 3 ) * irit.tx( 1 ) * irit.tz( 7.65 ) irit.attrib(screen, "rgb", irit.GenStrObject("20,100,20")) tmpbody = irit.box((1, 0.75, 6.5), 2, 3.5, 0.15) z = 7.2 while (z <= 7.5):
def outlinechar(char): ochar = irit.offset(char, irit.GenRealObject(-0.02), 0, 0) retval = (irit.extrude(char, (0, 0, 1), 3) - irit.extrude(ochar, (0, 0, 1.2), 3) * irit.tz((-0.1))) return retval
i1outline = outlinechar(i) * irit.rx(90) r2outline = outlinechar(r) * irit.trans((0.4, 0, 0)) * irit.rx(90) i3outline = outlinechar(i) * irit.trans((0.8, 0, 0)) * irit.rx(90) t4outline = outlinechar(t) * irit.trans((1.2, 0, 0)) * irit.rx(90) irit.free(i) irit.free(r) irit.free(t) irit.SetViewMatrix(irit.GetViewMatrix() * irit.trans(((-0.8), 0, 0))) irit.view(irit.list(irit.GetViewMatrix(), i1, r2, i3, t4), irit.ON) ext_dir = (0, (-1), 0) i1x = irit.extrude(i1, ext_dir, 3) r2x = irit.extrude(r2, ext_dir, 3) i3x = irit.extrude(i3, ext_dir, 3) t4x = irit.extrude(t4, ext_dir, 3) irit.free(i1) irit.free(r2) irit.free(i3) irit.free(t4) s1 = i1x ^ r2x ^ i3x ^ t4x final = irit.convex(s1) irit.free(s1) irit.interact(final) irit.free(final) s2 = i1outline ^ r2outline ^ i3outline ^ t4outline
def shearbox(shearx, sheary, x, y, z): pl = irit.poly( irit.list(((-x), (-y), (-z)), ((-x), y, (-z)), irit.point(x, y, (-z)), irit.point(x, (-y), (-z))), irit.FALSE) retval = irit.extrude(pl, (shearx, sheary, 2 * z), 3) return retval
# ############################################################################ # # Let the Genie come out of the teapot... # teapot = teapotorig * irit.sc( 0.2 ) * irit.sx( (-1 ) ) * irit.rx( 90 ) * irit.rz( 180 ) s = irit.planesrf( (-1 ), (-1 ), 1, 1 ) * irit.sc( 1.7 ) discs = irit.list( s * irit.sc( 0.01 ) * irit.sx( 2 ) * irit.tx( 0.58 ) * irit.tz( 0.42 ), s * irit.sc( 0.01 ) * irit.sx( 2 ) * irit.tx( 0.62 ) * irit.tz( 0.46 ), s * irit.sc( 0.05 ) * irit.sx( 1.5 ) * irit.tx( 0.65 ) * irit.tz( 0.55 ), s * irit.sc( 0.07 ) * irit.sx( 1.5 ) * irit.tx( 0.7 ) * irit.tz( 0.7 ), s * irit.sc( 0.09 ) * irit.sx( 1.5 ) * irit.tx( 0.65 ) * irit.tz( 0.85 ), s * irit.sc( 0.08 ) * irit.sx( 1.5 ) * irit.tx( 0.7 ) * irit.tz( 1 ), s * irit.sc( 0.07 ) * irit.tx( 0.7 ) * irit.tz( 1.1 ) ) tv = irit.tfromsrfs( discs, 3, irit.KV_OPEN ) # Create a refined cylinder to warp out of the teapot... c = irit.creparam( irit.pcircle( ( 0.5, 0.5, 0.001 ), 0.45 ), 0, 1 ) srf = irit.extrude( c, ( 0, 0, 0.99 ), 0 ) srf = irit.srefine( irit.srefine( srf, irit.COL, 0, irit.list( 0.1, 0.2, 0.3, 0.4, 0.6, 0.7,\ 0.8, 0.9 ) ), irit.ROW, 0, irit.list( 0.1, 0.2, 0.3, 0.4, 0.5, 0.6,\ 0.7, 0.8, 0.9 ) ) warpedsrf = warpsurface( (-srf ), tv ) irit.attrib( warpedsrf, "ptexture", irit.GenStrObject("g.gif" )) irit.view( irit.list( teapot, warpedsrf ), irit.ON ) irit.save( "warp3trv", all ) irit.pause() # ############################################################################ irit.SetViewMatrix( save_mat2)
irit.attrib( carouselbase, "reflect", irit.GenRealObject(0.9 )) carousel = irit.list( carouselbase, carouselrods * irit.trans( ( 0, 0, 0.3 ) ) ) irit.free( carouselbase ) irit.free( carouselrods ) # # A swing # swingsiderod = irit.sweepsrf( irit.circle( ( 0, 0, 0 ), 0.01 ), irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0.2, 0, (-0.05 ) ), \ irit.ctlpt( irit.E3, 0.1, 0, 0.95 ), \ irit.ctlpt( irit.E3, 0.05, 0, 1 ), \ irit.ctlpt( irit.E3, (-0.05 ), 0, 1 ), \ irit.ctlpt( irit.E3, (-0.1 ), 0, 0.95 ), \ irit.ctlpt( irit.E3, (-0.2 ), 0, (-0.05 ) ) ), irit.list( irit.KV_OPEN ) ), irit.GenRealObject(0 )) swingframe = irit.list( swingsiderod * irit.trans( ( 0, (-1 ), 0 ) ), swingsiderod * irit.trans( ( 0, 1, 0 ) ), irit.extrude( irit.circle( ( 0, 0, 0 ), 0.01 ), ( 0, 0, 2 ), 0 ) * irit.rotx( (-90 ) ) * irit.trans( ( 0, (-1 ), 1 ) ) ) irit.color( swingframe, irit.RED ) irit.attrib( swingframe, "reflect", irit.GenRealObject(0.5 )) irit.free( swingsiderod ) swingchairrods = irit.list( irit.extrude( irit.circle( ( 0, 0, 0 ), 0.02 ), ( 0, 0, 0.03 ), 0 ) * irit.rotx( (-90 ) ) * irit.trans( ( 0, (-0.015 ), 1 ) ), irit.extrude( irit.circle( ( 0, 0, 0.2 ), 0.01 ), ( 0, 0, 0.8 ), 0 ), (-irit.extrude( irit.circle( ( 0, 0, 0.2 ), 0.007 ), ( 0, 0, (-0.07 ) ), 0 ) ) * irit.roty( 90 ) * irit.trans( ( (-0.2 ), 0, 0.27 ) ) ) swingchair1rods = irit.list( swingchairrods * irit.trans( ( 0, (-0.07 ), 0 ) ), swingchairrods * irit.trans( ( 0, 0.07, 0 ) ) ) irit.color( swingchair1rods, irit.GREEN ) irit.attrib( swingchair1rods, "reflect", irit.GenRealObject(0.9 )) swingchair1 = irit.list( swingchair1rods, chair * irit.scale( ( 0.25, 0.28, 0.25 ) ) * irit.trans( ( (-0.07 ), 0, 0.05 ) ) ) irit.free( swingchair1rods ) swingchair2rods = irit.list( swingchairrods * irit.trans( ( 0, 0.53, 0 ) ), swingchairrods * irit.trans( ( 0, 0.67, 0 ) ) ) irit.color( swingchair2rods, irit.YELLOW ) irit.attrib( swingchair2rods, "reflect", irit.GenRealObject(0.9 )) swingchair2 = irit.list( swingchair2rods, chair * irit.scale( ( 0.25, 0.28, 0.25 ) ) * irit.trans( ( (-0.07 ), 0.6, 0.05 ) ) )
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)) irit.free(crosssec) b3 = (c1 + ext1 + b2) irit.free(c1) irit.free(ext1) irit.free(b2) irit.view(b3, irit.ON) # # Time to do the final hole in the big cylinder. Note we couldnt do it before # as E1 would have penetrate it... # irit.SetResolution(16) c3 = irit.cylin((0, 0, (-0.1)), (0, 0, 0.9), 0.165, 3)
isos1 = irit.getisocurves(trs, 5, 5) irit.color(isos1, irit.RED) irit.interact(irit.list(isos1, trs)) isos2 = irit.getisocurves(trs, 11, 11) irit.color(isos2, irit.RED) irit.interact(irit.list(isos2, trs)) irit.save("macros4", irit.list(trs, isos1, isos2)) irit.free(isos1) irit.free(isos2) irit.free(trs) circ = irit.circle((0, 0, 0), 1) cyl = irit.extrude(circ, (0, 0, 1), 3) irit.interact(irit.list(cyl, circ)) circply = irit.cnvrtcrvtopolygon(circ, 25, 0) cyl = irit.extrude(circply, (0, 0, 1), 3) irit.interact(irit.list(cyl, circply, circ)) irit.save("macros5", irit.list(cyl, circply, circ)) irit.free(circ) irit.free(circply) irit.free(cyl) cross = (irit.arc((0.2, 0, 0), (0.2, 0.2, 0), (0, 0.2, 0)) + irit.arc( (0, 0.4, 0), (0.1, 0.4, 0), (0.1, 0.5, 0)) + irit.arc( (0.8, 0.5, 0), (0.8, 0.3, 0), (1, 0.3, 0)) + irit.arc(
s1 = irit.boolone(irit.pcircle((0, 0, 0), 1)) s2 = irit.boolone(irit.pcircle((0, 0, 1), 0.5)) irit.color(s1, irit.RED) irit.attrib(s1, "adwidth", irit.GenRealObject(3)) irit.color(s2, irit.RED) irit.attrib(s2, "adwidth", irit.GenRealObject(3)) tv1 = irit.ruledtv(s1, s2) irit.interact(irit.list(tv1, s1, s2)) # # Constructing via Extrusion # tv2 = irit.extrude(s1, (0, 1, 0.5), 0) tv3 = irit.extrude(s2, (0, 0.2, (-0.4)), 0) irit.interact(irit.list(tv2, tv3, s1, s2)) irit.save("trivar11", irit.list(tv1, tv2, tv3)) irit.free(s1) irit.free(s2) # # Constructs a trivariate from a list of surfaces. # s1 = irit.sbezier( irit.list( irit.list( irit.ctlpt( irit.E3, (-0.5 ), (-0.5 ), 0 ), \ irit.ctlpt( irit.E3, (-0.5 ), 0.5, 0 ) ), irit.list( \ irit.ctlpt( irit.E3, 0.5, (-0.5 ), 0 ), \
irit.ctlpt( irit.E3, (-2 ), 0, 15 ), \ irit.ctlpt( irit.E3, (-13 ), 0, 15 ), \ irit.ctlpt( irit.E3, (-13 ), 0, 5 ), \ irit.ctlpt( irit.E3, (-5 ), 0, 0 ), \ irit.ctlpt( irit.E3, 0, 0, (-10 ) ) ), irit.list( irit.KV_OPEN ) ) ) * irit.sc( 0.5 ) * irit.trans( ( 40, 1, 65 ) ) # # We generate some colinear vertices here: # back = ( irit.extrude( \ irit.poly( \ irit.cnvrtpolytoptlist( \ irit.cnvrtcrvtopolygon( backcross, 50, 0 ) \ ) + \ backcrosspts, 0 \ ), \ ( 0, 2, 0 ), \ 3 \ ) - \ irit.extrude( \ irit.cnvrtcrvtopolygon( heartcross, 50, 0 ), \ ( 0, (-2 ), 0 ), \ 3 \ ) \ ) * irit.ty( 189 ) irit.attrib(back, "rgb", irit.GenStrObject("244,164,96")) irit.free(backcrosspts) irit.free(heartcross) irit.free(backcross)
# import math import irit # # # The Logo of the Technion # # Gershon Elber, March 1998 # save_res = irit.GetResolution() tech1 = irit.poly( irit.list( ( 0, (-0.35 ), 0 ), ( 0.58, 0.8, 0 ), ( (-0.58 ), 0.8, 0 ), ( 0, (-0.35 ), 0 ) ), irit.FALSE ) tech1clip = irit.extrude( tech1, ( 0, 0, 1 ), 3 ) * irit.tz( (-0.5 ) ) * irit.ty( (-0.06 ) ) angle = 360/16.0 angle_log = 4 irit.SetResolution( 16) c = irit.cylin( ( 0.6, 0, (-0.1 ) ), ( 0, 0, 0.3 ), 0.1, 3 ) i = 1 while ( i <= angle_log ): c = c ^ ( c * irit.rotz( angle ) ) angle = angle * 2 i = i + 1 irit.SetResolution( 64) w = irit.cylin( ( 0, 0, 0 ), ( 0, 0, 0.12 ), 0.6, 3 ) wheel = ( w * irit.rz( 360/32.0 ) - c - tech1clip - irit.cylin( ( 0, 0, (-0.2 ) ), ( 0, 0, 0.5 ), 0.35, 3 ) )