def extractidparts(obj, id, rgb): retval = irit.nil() i = 0 while (i <= irit.SizeOf(obj) - 1): p = irit.coord(obj, i) if (irit.getattr(p, "id") == irit.GenRealObject(id)): irit.snoc(p, retval) i = i + 1 retval = irit.mergepoly(retval) irit.attrib(retval, "rgb", irit.GenStrObject(rgb)) return retval
def gentriside(pt1, pt2, pt2r, pt1r, n): retval = irit.nil() i = 0 while (i <= n - 1): irit.snoc( gentrisideaux(irit.interppoint(pt1, pt1r, i / n), irit.interppoint(pt2, pt2r, i / n), irit.interppoint(pt2, pt2r, (i + 1) / n), irit.interppoint(pt1, pt1r, (i + 1) / n)), retval) i = i + 1 retval = irit.mergepoly(retval) return retval
def putrgbonvertices(pl, rgb): retval = irit.nil() i = 0 while (i <= irit.SizeOf(pl) - 1): p = irit.coord(pl, i) j = 0 while (j <= irit.SizeOf(p) - 1): a = irit.pattrib(p, j, "rgb", rgb) j = j + 1 irit.snoc(p * irit.tx(0), retval) i = i + 1 retval = irit.mergepoly(retval) return retval
def warpsurface(pls, tv): retval = irit.nil() i = 0 while (i <= irit.SizeOf(pls) - 1): pl = irit.coord(pls, i) v = irit.nil() j = 0 while (j <= irit.SizeOf(pl) - 1): vec = irit.coord(pl, j) x = irit.FetchRealObject(irit.coord(vec, 0)) y = irit.FetchRealObject(irit.coord(vec, 1)) z = irit.FetchRealObject(irit.coord(vec, 2)) vec = irit.coerce(irit.teval(tv, x, y, z), irit.VECTOR_TYPE) irit.snoc(vec, v) j = j + 1 irit.snoc(irit.poly(v, 0), retval) i = i + 1 retval = irit.mergepoly(retval) return retval
def warppoly(pl, tv): retval = irit.GenRealObject(0) i = 0 while (i <= irit.SizeOf(pl) - 1): p = irit.coord(pl, i) vlist = irit.nil() j = 0 while (j <= irit.SizeOf(p) - 1): v = irit.coord(p, j) irit.snoc( irit.coerce( irit.teval(tv, irit.FetchRealObject(irit.coord(v, 0)), irit.FetchRealObject(irit.coord(v, 1)), irit.FetchRealObject(irit.coord(v, 2))), irit.POINT_TYPE), vlist) j = j + 1 if (irit.ThisObject(retval) == irit.NUMERIC_TYPE): retval = irit.poly(vlist, irit.FALSE) else: retval = irit.mergepoly(irit.list(irit.poly(vlist, 0), retval)) i = i + 1 irit.cpattr(retval, pl) return retval
irit.ctlpt( irit.E2, (-0.029 ), 0.29 ) ), irit.list( irit.KV_PERIODIC ) ) * irit.tx( (-0.2 ) ) pocket4b = irit.circle((0, 0, 0), 1) pocket4c = (-irit.circle(((-0.55), 0.15, 0), 0.2)) pocket4 = irit.list(pocket4a, pocket4b, pocket4c) pocket4 = irit.coerce(pocket4, irit.KV_OPEN) irit.color(pocket4, irit.RED) tpath = irit.ncpcktpath( pocket4, (-0.08 ), (-0.1 ), 0.05, 0.5, 0,\ 1 ) irit.attrib(tpath, "ncretractzlevel", irit.GenRealObject(1)) irit.attrib(tpath, "ncmaxxybridgegap", irit.GenRealObject(0.2)) # Polygons with holes -first must be outer loop. pocket4pl = irit.mergepoly( irit.list(irit.cnvrtcrvtopolygon(pocket4b, 150, 0), irit.cnvrtcrvtopolygon(pocket4a, 150, 0), irit.cnvrtcrvtopolygon(pocket4c, 150, 0))) irit.color(pocket4pl, irit.RED) tpath2 = irit.ncpcktpath( pocket4pl, (-0.1 ), (-0.11 ), 0.015, 0.15, 0,\ 1 ) irit.attrib(tpath2, "ncretractzlevel", irit.GenRealObject(1)) irit.attrib(tpath2, "ncmaxxybridgegap", irit.GenRealObject(0.05)) all = irit.list( irit.list(pocket4, tpath) * irit.tx((-1.05)), irit.list(pocket4pl, tpath2) * irit.tx(1.05)) * irit.sc(0.45) irit.interact(all) irit.save("nc_pckt4.itd", irit.list(pocket4, tpath))
v3 = irit.vector((-1), 1, (-1)) v4 = irit.vector((-1), 1, 1) v5 = irit.vector(1, (-1), (-1)) v6 = irit.vector(1, (-1), 1) v7 = irit.vector(1, 1, (-1)) v8 = irit.vector(1, 1, 1) f1 = irit.poly(irit.list(v1, v2, v4, v3), irit.FALSE) f2 = irit.poly(irit.list(v5, v6, v8, v7), irit.FALSE) f3 = irit.poly(irit.list(v1, v2, v6, v5), irit.FALSE) f4 = irit.poly(irit.list(v2, v4, v8, v6), irit.FALSE) f5 = irit.poly(irit.list(v4, v3, v7, v8), irit.FALSE) f6 = irit.poly(irit.list(v3, v1, v5, v7), irit.FALSE) a = irit.pattrib(f6, 0, "authored by", irit.GenStrObject("irit")) cube1 = irit.mergepoly(irit.list(f1, f2, f3, f4, f5, f6)) irit.save("cube1", cube1) irit.interact(cube1) irit.attrib(v1, "normal", makenormal(v1)) irit.attrib(v2, "normal", makenormal(v2)) irit.attrib(v3, "normal", makenormal(v3)) irit.attrib(v4, "normal", makenormal(v4)) irit.attrib(v5, "normal", makenormal(v5)) irit.attrib(v6, "normal", makenormal(v6)) irit.attrib(v7, "normal", makenormal(v7)) irit.attrib(v8, "normal", makenormal(v8)) f1 = irit.poly(irit.list(v1, v2, v4, v3), irit.FALSE) f2 = irit.poly(irit.list(v5, v6, v8, v7), irit.FALSE) f3 = irit.poly(irit.list(v1, v2, v6, v5), irit.FALSE)
g = (math.sqrt(5) + 1) / 2 # The golden ratio q = (g - 1) v1 = (1, 1, 1) v2 = (1, (-1), (-1)) v3 = ((-1), 1, (-1)) v4 = ((-1), (-1), 1) pl1 = irit.poly(irit.list(v1, v3, v2), irit.FALSE) pl2 = irit.poly(irit.list(v1, v4, v3), irit.FALSE) pl3 = irit.poly(irit.list(v1, v2, v4), irit.FALSE) pl4 = irit.poly(irit.list(v2, v3, v4), irit.FALSE) tetra = irit.mergepoly(irit.list(pl1, pl2, pl3, pl4)) v1 = (0, 0, 1) v2 = (1, 0, 0) v3 = (0, 1, 0) v4 = ((-1), 0, 0) v5 = (0, (-1), 0) v6 = (0, 0, (-1)) pl1 = irit.poly(irit.list(v1, v3, v2), irit.FALSE) pl2 = irit.poly(irit.list(v1, v4, v3), irit.FALSE) pl3 = irit.poly(irit.list(v1, v5, v4), irit.FALSE) pl4 = irit.poly(irit.list(v1, v2, v5), irit.FALSE) pl5 = irit.poly(irit.list(v6, v2, v3), irit.FALSE) pl6 = irit.poly(irit.list(v6, v3, v4), irit.FALSE) pl7 = irit.poly(irit.list(v6, v4, v5), irit.FALSE)
all = irit.list(irit.list(om, ppl, de) * m1, c5 * irit.tx((-1)) * irit.ty(0.5)) irit.interact(all) irit.save("cort3map", all) # ############################################################################ ppl = irit.canglemap(c1, 30, 90, 0) * m2 animateorthomatchpts(ppl, c1 * irit.tx((-1)) * irit.ty(0.5), 0.2) ppl = irit.canglemap(c2, 30, 90, 0) * m2 animateorthomatchpts(ppl, c2 * irit.tx((-1)) * irit.ty(0.5), 0.2) animateorthomatchpts( irit.mergepoly(irit.list(irit.coord(ppl, 3), irit.coord(ppl, 4))), c2 * irit.tx((-1)) * irit.ty(0.5), 0.2) irit.save("cort4map", irit.list(ppl, c2 * irit.tx((-1)) * irit.ty(0.5))) ppl = irit.canglemap(c3, 30, 90, 0) * m2 animateorthomatchpts(ppl, c3 * irit.tx((-1)) * irit.ty(0.5), 0.2) ppl = irit.canglemap(c4, 30, 90, 0) * m2 all = irit.list( irit.GetAxes(), unitsquare, c4 * irit.tx((-1)) * irit.ty(0.5), ppl, genanimationorthomatchcrvpts(ppl, c4 * irit.tx((-1)) * irit.ty(0.5), 0.2), genanimationorthomatchprmpts(ppl)) irit.interact(all) irit.save("cort5map", all)