def makealpha( a, clr ): aa = ( 2 * a - 1 )/float(a * a) bb = (-irit.sqr( ( 1 - a )/float(a) ) ) alp = irit.quadric( irit.list( aa, bb, 1, 0, 0, 0,\ (-2 ), 0, 0, 1 ) ) alp1 = irit.sregion( irit.sregion( alp, irit.ROW, (-5 ), 0.45 ), irit.COL, 0,\ 200 ) alp1 = irit.smoebius( irit.smoebius( alp1, 0, irit.COL ), 0, irit.ROW ) alp2 = irit.sregion( irit.sregion( alp, irit.ROW, (-5 ), 0.45 ), irit.COL, (-200 ),\ 0 ) alp2 = irit.smoebius( irit.smoebius( alp2, 0, irit.COL ), 0, irit.ROW ) retval = irit.list( alp1, alp2 ) irit.color( retval, clr ) irit.adwidth( retval, 3 ) return retval
def linetancirccircaux(x0, y0, r0, x1, y1, r1): qa = (irit.sqr(y1 - y0) + irit.sqr(x0 - x1)) qb = ((-2) * (y1 - y0) * (y1 * r0 - y0 * r1) - 2 * (x0 - x1) * (x0 * r1 - x1 * r0)) qc = (irit.sqr(y1 * r0 - y0 * r1) + irit.sqr(x0 * r1 - x1 * r0) - irit.sqr(x0 * y1 - x1 * y0)) dsc = (irit.sqr(qb) - 4 * qa * qc) if (dsc < 0): retval = irit.nil() else: retval = irit.list( makelinefromc(((-qb) + math.sqrt(dsc)) / (2.0 * qa), x0, y0, r0, x1, y1, r1), makelinefromc(((-qb) - math.sqrt(dsc)) / (2.0 * qa), x0, y0, r0, x1, y1, r1)) return retval
# n = 10 i = 1 while (i <= n): pt1 = irit.point(irit.random((-0.5), 0.5), irit.random((-0.5), 0.5), 0) pt2 = irit.point(irit.random((-0.5), 0.5), irit.random((-0.5), 0.5), 0) pt3 = irit.point(irit.random((-0.5), 0.5), irit.random((-0.5), 0.5), 0) pl = irit.poly(irit.list(pt1, pt2, pt3), irit.FALSE) irit.color(pl, irit.GREEN) cntr = (pt1 + pt2 + pt3) * irit.sc(1 / 3.0) dpt1 = pt1 - cntr dpt2 = pt2 - cntr dpt3 = pt3 - cntr n00 = (irit.sqr(irit.coord(dpt1, 0)) + irit.sqr(irit.coord(dpt2, 0)) + irit.sqr(irit.coord(dpt3, 0))) / 3.0 n10 = n01 = (irit.coord(dpt1, 0) * irit.coord(dpt1, 1) + irit.coord(dpt2, 0) * irit.coord(dpt2, 1) + irit.coord(dpt3, 0) * irit.coord(dpt3, 1)) / 3.0 n11 = (irit.sqr(irit.coord(dpt1, 1)) + irit.sqr(irit.coord(dpt2, 1)) + irit.sqr(irit.coord(dpt3, 1))) / 3.0 d = n00 * n11 - n01 * n10 m00 = n11 / d m11 = n00 / d m01 = m10 = (-n01) / d a = m00 b = m01 + m10 c = m11 p_nrml = irit.max( irit.max( abs( irit.FetchRealObject(a) ), \ abs( irit.FetchRealObject(b) ) ), \
def distptpt(pt1, pt2): retval = math.sqrt( irit.sqr( irit.FetchRealObject(irit.coord( pt1, 1 )) - \ irit.FetchRealObject(irit.coord( pt2, 1 )) ) + \ irit.sqr( irit.FetchRealObject(irit.coord( pt1, 2 )) - irit.FetchRealObject(irit.coord( pt2, 2 ) )) + \ irit.sqr( irit.FetchRealObject(irit.coord( pt1, 3 )) - irit.FetchRealObject(irit.coord( pt2, 3 )) ) ) return retval
def somemath(x, y): retval = (irit.sqr(x) * factor(y) + irit.sqr(y) * factor(x)) return retval
# # Interact with Axes(), possible in a middle of expression (returns o). # def aint(o): irit.interact(irit.list(o, irit.GetAxes())) retval = o return retval b = irit.box(((-3), (-2), (-1)), 6, 4, 2) t = 3.14 irit.save( "functn1", irit.list( irit.GenRealObject(math.sqrt( irit.sqr( t * 3.14 ) )) , \ irit.GenRealObject(irit.sqr( 2 )), \ irit.GenRealObject(irit.sqr( 2 ) + irit.sqr( 2 )), \ irit.GenRealObject(factor( 3 )), \ irit.GenRealObject(factor( 10 )), \ irit.GenRealObject(factor( 15 )), \ aint( b ), \ aint( irit.cone( ( 0, 0, (-1 ) ), ( 0, 0, 4 ), 2, 1 ) ) ) ) irit.free(b) # # Few parameters. Apply operator to two given operand. Note since operators # are overloaded, we can apply this function to many types. #
str(irit.Fetch3TupleObject(v2)) if (v1 * m != v2 or v2 * (m ^ (-1)) != v1 or v3 != v3 * m): print "errror\n" else: print "ok\n" i = i + 1 irit.save( "macros1", irit.list( irit.min(1, (-5)), irit.min(5, irit.min(10, 15)), irit.min(1, math.sin(45 * math.pi / 180)), irit.max(1, (-5)), irit.max(5, irit.max(10, 15)), irit.max(1, math.sin(45 * math.pi / 180)), irit.sqr(math.sin(45 * math.pi / 180)), irit.sqr((-math.sin(45 * math.pi / 180)) / 2.0), irit.normalizeVec(irit.vector(5, 2, 6)), irit.normalizePt(irit.point(1, (-2), 5)), irit.midpoint(irit.point(0, 1, 15), irit.point(10, 2, (-5))), irit.midpoint(irit.normalizeVec(irit.vector(0, 10, 15)), irit.normalizeVec(irit.vector(10, 2, (-5)))), irit.interppoint(irit.point(0, 1, 15), irit.point(10, 2, (-5)), 0.1), irit.interppoint(irit.vector(0, 1, 15), irit.vector(10, 2, (-5)), 1.1), ed1, ed2, ed3, ed4)) irit.free(ed1) irit.free(ed2) irit.free(ed3) irit.free(ed4)