コード例 #1
0
ファイル: solid7.py プロジェクト: AlessandroScrem/irit-sm_V11
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
コード例 #2
0
ファイル: escher.py プロジェクト: AlessandroScrem/irit-sm_V11
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
コード例 #3
0
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
コード例 #4
0
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
コード例 #5
0
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
コード例 #6
0
                                        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))
コード例 #7
0
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)
コード例 #8
0
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)
コード例 #9
0
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)