Пример #1
0
irit.save( "ffptdst5", irit.list( e3pts, s1 ) )

pts = irit.ffptdist( s1, 1, 1000 )
e3pts = irit.nil(  )
i = 1
while ( i <= irit.SizeOf( pts ) ):
    prmpt = irit.nth( pts, i )
    pt = irit.seval( s1, irit.FetchRealObject(irit.coord( prmpt, 0 )), irit.FetchRealObject(irit.coord( prmpt, 1 ) ))
    irit.snoc( pt, e3pts )
    i = i + 1
irit.interact( irit.list( e3pts, s1 ) )

irit.save( "ffptdst6", irit.list( e3pts, s1 ) )

s2 = irit.surfrev( irit.ctlpt( irit.E3, 0, 0, 0 ) + \
                   irit.ctlpt( irit.E3, 0.5, 0, 0 ) + \
                   irit.ctlpt( irit.E3, 0, 0, 1 ) )
irit.color( s2, irit.MAGENTA )

pts = irit.ffptdist( s2, 0, 1000 )
e3pts = irit.nil(  )
i = 1
while ( i <= irit.SizeOf( pts ) ):
    prmpt = irit.nth( pts, i )
    pt = irit.seval( s2, irit.FetchRealObject(irit.coord( prmpt, 0 )), irit.FetchRealObject(irit.coord( prmpt, 1 ) ))
    irit.snoc( pt, e3pts )
    i = i + 1
irit.interact( irit.list( e3pts, s2 ) )

irit.save( "ffptdst7", irit.list( e3pts, s2 ) )
Пример #2
0
#
#  Surface of revolution of freeform curves.
#

gcross = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0.3, 0, 0 ), \
                                      irit.ctlpt( irit.E3, 0.3, 0, 0.05 ), \
                                      irit.ctlpt( irit.E3, 0.1, 0, 0.05 ), \
                                      irit.ctlpt( irit.E3, 0.1, 0, 0.4 ), \
                                      irit.ctlpt( irit.E3, 0.5, 0, 0.4 ), \
                                      irit.ctlpt( irit.E3, 0.6, 0, 0.8 ) ), irit.list( 0, 0, 0, 1, 2, 3,\
4, 4, 4 ) )
irit.color(gcross, irit.GREEN)
irit.adwidth(gcross, 5)

glass1 = irit.surfrev(gcross)
irit.interact(irit.list(gcross, irit.GetAxes(), glass1))

glass2 = irit.surfrev2(gcross, 45, 180)
irit.interact(irit.list(gcross, irit.GetAxes(), glass2))

glass3 = irit.surfrevaxs(gcross, (1, 0, 1))
irit.interact(irit.list(gcross, irit.GetAxes(), glass3))

glass4 = irit.surfrevax2(gcross, 45, 315, (1, 0, 0))
irit.interact(irit.list(gcross, irit.GetAxes(), glass4))

irit.free(gcross)

irit.save( "surfrev", irit.list( t1, t2, t3, t4, glass1, glass2,\
glass3, glass4 ) )
Пример #3
0
irit.free(arc8)
irit.free(arc9)

cross1 = (prof1 + prof4 * irit.tx(60))
cross2 = (prof1 + prof2 * irit.tx(50) + prof4 * irit.tx(80))

irit.free(prof1)
irit.free(prof1a)
irit.free(prof2)
irit.free(prof2a)
irit.free(prof3)
irit.free(prof3a)
irit.free(prof4)
irit.free(prof4a)

leg1 = irit.surfrev(cross1 * irit.ry((-90)))
leg2 = irit.surfrev(cross2 * irit.ry((-90)))
irit.free(cross1)
irit.free(cross2)

legs = irit.list(leg1, leg1 * irit.tx(80), leg2 * irit.trans((0, 190, 0)),
                 leg2 * irit.trans((80, 190, 0)))
irit.attrib(legs, "rgb", irit.GenStrObject("244,164,96"))
irit.free(leg1)
irit.free(leg2)

skel = irit.list( irit.box( ( (-1 ), (-1 ), 25 ), 80, 2, 20 ),\
irit.box( ( (-1 ), (-1 ), 25 ), 2, 190, 20 ),\
irit.box( ( (-1 ), 189, 25 ), 80, 2, 20 ),\
irit.box( ( 79, (-1 ), 25 ), 2, 190, 20 ),\
irit.box( ( (-1 ), 90, 25 ), 80, 2, 20 ) )
Пример #4
0
                                                                                            irit.ctlpt( irit.E3, 10.8, 0, 0.6 ), \
                                                                                            irit.ctlpt( irit.E3, 10.85, 0, 0.6 ), \
                                                                                            irit.ctlpt( irit.E3, 10.9, 0, 0.6 ) ), irit.list( irit.KV_OPEN ) ), irit.cbspline( 3, irit.list( \
                                                                                            irit.ctlpt( irit.E2, 0, 0.01 ), \
                                                                                            irit.ctlpt( irit.E2, 0.01, 1 ), \
                                                                                            irit.ctlpt( irit.E2, 0.5, 1 ), \
                                                                                            irit.ctlpt( irit.E2, 0.7, 1 ), \
                                                                                            irit.ctlpt( irit.E2, 1, 0.01 ) ), irit.list( irit.KV_OPEN ) ), irit.GenIntObject(0), 1 )
if ( do_texture == 1 ):
    irit.attrib( vtailpara, "texture", texture )
irit.attrib( vtailpara, "rgb", irit.GenStrObject(graycolor) )
irit.color( vtailpara, irit.WHITE )

vtailantn = (-irit.surfrev( irit.ctlpt( irit.E3, 0.001, 0, 1 ) + \
                            irit.ctlpt( irit.E3, 0.01, 0, 1 ) + \
                            irit.ctlpt( irit.E3, 0.01, 0, 0.8 ) + \
                            irit.ctlpt( irit.E3, 0.03, 0, 0.7 ) + \
                            irit.ctlpt( irit.E3, 0.03, 0, 0.3 ) + \
                            irit.ctlpt( irit.E3, 0.001, 0, 0 ) ) ) * irit.scale( ( 0.5, 0.5, 0.7 ) ) * irit.roty( (-90 ) ) * irit.trans( ( 10.8, 0, 1.9 ) )
if ( do_texture == 1 ):
    irit.attrib( vtailantn, "texture", texture )
irit.attrib( vtailantn, "rgb", irit.GenStrObject(redcolor) )
irit.color( vtailantn, irit.RED )

vtail = irit.list( vtail1, vtail2, vtailtop, vtailpara, vtailantn )
irit.free( vtail1 )
irit.free( vtail2 )
irit.free( vtailtop )
irit.free( vtailpara )
irit.free( vtailantn )

# 
Пример #5
0
                                         irit.ctlpt( irit.E2, 0.435, 0.06 ), \
                                         irit.ctlpt( irit.E2, 0.44, 0.24 ), \
                                         irit.ctlpt( irit.E2, 0.47, 0.3 ), \
                                         irit.ctlpt( irit.E2, 0.62, 0.29 ), \
                                         irit.ctlpt( irit.E2, 0.648, 0.26 ), \
                                         irit.ctlpt( irit.E2, 0.648, (-0.26 ) ), \
                                         irit.ctlpt( irit.E2, 0.62, (-0.29 ) ), \
                                         irit.ctlpt( irit.E2, 0.47, (-0.3 ) ), \
                                         irit.ctlpt( irit.E2, 0.44, (-0.24 ) ), \
                                         irit.ctlpt( irit.E2, 0.435, (-0.06 ) ), \
                                         irit.ctlpt( irit.E2, 0.4, (-0.052 ) ), \
                                         irit.ctlpt( irit.E2, 0.1, (-0.055 ) ), \
                                         irit.ctlpt( irit.E2, 0.1, (-0.055 ) ) ), irit.list( irit.KV_OPEN ) ) + \
                                         irit.ctlpt( irit.E2, 0.1, 0.055 ) )

base = irit.surfrev((-basesec) * irit.rx(90))
irit.free(basesec)

#
#  Place n blade on the base:
#

n = 30
blades = irit.nil()
i = 1
while (i <= n):
    irit.snoc(blade * irit.rz(360 * i / n), blades)
    i = i + 1
irit.free(blade)

all = irit.list(base, blades)
Пример #6
0
                                         irit.ctlpt( irit.E3, (-0.1 ), 0, 1.1 ), \
                                         irit.ctlpt( irit.E3, (-0.03 ), 0, 1.2 ), \
                                         irit.ctlpt( irit.E3, (-0.03 ), 0, 1.3 ), \
                                         irit.ctlpt( irit.E3, (-0.04 ), 0, 1.31 ), \
                                         irit.ctlpt( irit.E3, (-0.08 ), 0, 1.32 ), \
                                         irit.ctlpt( irit.E3, (-0.09 ), 0, 1.4 ), \
                                         irit.ctlpt( irit.E3, (-0.08 ), 0, 1.5 ) ), irit.list( irit.KV_OPEN ) ) + (-circ ) + irit.cbspline( 3, irit.list( \
                                         irit.ctlpt( irit.E3, (-0.07 ), 0, 2.7 ), \
                                         irit.ctlpt( irit.E3, (-0.07 ), 0, 2.8 ), \
                                         irit.ctlpt( irit.E3, (-0.01 ), 0, 2.9 ), \
                                         irit.ctlpt( irit.E3, (-0.05 ), 0, 2.9 ), \
                                         irit.ctlpt( irit.E3, (-0.05 ), 0, 3 ), \
                                         irit.ctlpt( irit.E3, (-0.001 ), 0, 3 ) ), irit.list( irit.KV_OPEN ) ) )
irit.free(circ)

body = irit.surfrev(bodysec)
irit.free(bodysec)
irit.attrib(body, "transp", irit.GenRealObject(0.95))
irit.color(body, irit.WHITE)

base1sec = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, (-0.08 ), 0, 1.4 ), \
                                        irit.ctlpt( irit.E3, (-0.02 ), 0, 1.4 ), \
                                        irit.ctlpt( irit.E3, (-0.01 ), 0, 1.7 ), \
                                        irit.ctlpt( irit.E3, (-0.01 ), 0, 2 ) ), irit.list( irit.KV_OPEN ) )
base1 = irit.surfrev(base1sec)
irit.free(base1sec)
irit.attrib(base1, "transp", irit.GenRealObject(0.95))
irit.color(base1, irit.WHITE)

niddle1sec = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, (-0.002 ), 0, 1.7 ), \
                                          irit.ctlpt( irit.E3, (-0.002 ), 0, 1.8 ), \
Пример #7
0
v6 = (0.9, 0, (-0.2))
v7 = (0.9, 0, (-0.25))
v8 = (0.6, 0, (-0.25))
v9 = (0.6, 0, (-0.2))
v10 = (0.7, 0, (-0.2))
v11 = (0.7, 0, 0.2)
v12 = (0.6, 0, 0.2)

cross = irit.poly( irit.list( v1, v2, v3, v4, v5, v6,\

v7, v8, v9, v10, v11, v12 ),\
0 )
irit.view(cross, irit.ON)

irit.SetResolution(40)
t1 = irit.surfrev(cross)
irit.free(cross)
irit.interact(t1)

irit.SetResolution(16)
t2 = irit.cylin(((-1), 0, 0), (2, 0, 0), 0.15, 3)
t3 = irit.cylin((0, (-1), 0), (0, 2, 0), 0.15, 3)
irit.view(irit.list(t2, t3), irit.OFF)

s1 = (t1 - t2 - t3)
irit.free(t1)
irit.free(t2)
irit.free(t3)

final = irit.convex(s1)
irit.free(s1)
Пример #8
0
#
#  Layout (prisa) of a sphere - several resolutions/directions.
#
view_mat3d = irit.rotx((-90)) * irit.roty(135) * irit.rotx((-30)) * irit.scale(
    (0.5, 0.5, 0.5))
view_mat2d = irit.scale((0.15, 0.15, 0.15)) * irit.trans((0, (-0.8), 0))

s45 = math.sin(math.pi / 4)

halfcirc = irit.cbspline( 3, irit.list( irit.ctlpt( irit.P3, 1, 0, 0, 1 ), \
                                        irit.ctlpt( irit.P3, s45, (-s45 ), 0, s45 ), \
                                        irit.ctlpt( irit.P3, 1, (-1 ), 0, 0 ), \
                                        irit.ctlpt( irit.P3, s45, (-s45 ), 0, (-s45 ) ), \
                                        irit.ctlpt( irit.P3, 1, 0, 0, (-1 ) ) ), irit.list( 0, 0, 0, 1, 1, 2,\
2, 2 ) )
sp = irit.surfrev(halfcirc)
irit.color(sp, irit.YELLOW)

irit.interact(irit.list(view_mat3d, sp))

sp_prisa = irit.prisa(sp, samppercrv, (-0.6), irit.COL, (0, 0.1, 0), 0)
irit.color(sp_prisa, irit.YELLOW)
irit.interact(irit.list(view_mat3d, sp_prisa))

sp_prisa = irit.prisa(sp, samppercrv, 0.6, irit.COL, (0, 0.1, 0), 0)
irit.interact(irit.list(view_mat2d, sp_prisa))

sp_prisa = irit.prisa(sp, samppercrv, (-0.3), irit.COL, (0, 0.1, 0), 0)
irit.color(sp_prisa, irit.YELLOW)
irit.interact(irit.list(view_mat3d, sp_prisa))
Пример #9
0
                                      irit.ctlpt( irit.E3, 0.25, 0, (-0.7 ) ), \
                                      irit.ctlpt( irit.E3, 0.25, 0, (-0.1 ) ), \
                                      irit.ctlpt( irit.E3, 0.2, 0, (-0.05 ) ), \
                                      irit.ctlpt( irit.E3, 0.15, 0, 0 ), \
                                      irit.ctlpt( irit.E3, 0.1, 0, 0.6 ), \
                                      irit.ctlpt( irit.E3, 0.11, 0, 0.61 ), \
                                      irit.ctlpt( irit.E3, 0.12, 0, 0.61 ), \
                                      irit.ctlpt( irit.E3, 0.12, 0, 0.65 ), \
                                      irit.ctlpt( irit.E3, 0.09, 0, 0.65 ), \
                                      irit.ctlpt( irit.E3, 0.07, 0, 0.64 ), \
                                      irit.ctlpt( irit.E3, 0.1, 0, (-0.05 ) ), \
                                      irit.ctlpt( irit.E3, 0.21, 0, (-0.1 ) ), \
                                      irit.ctlpt( irit.E3, 0.21, 0, (-0.64 ) ), \
                                      irit.ctlpt( irit.E3, 0.18, 0, (-0.67 ) ), \
                                      irit.ctlpt( irit.E3, 0, 0, (-0.66 ) ) ), irit.list( irit.KV_OPEN ) )
srf2 = irit.surfrev(bcross)
irit.free(bcross)
irit.color(srf2, irit.GREEN)

#
#  Must make them compatible before doing some morphing.
#
irit.ffcompat(srf1, srf2)

#
#  Since we would like the animation to look as good as possible we need
#  to precompute as much as possible before invoking view to erase old
#  drawing and display new one. That is why we precompute isolines.
#

i = 0
Пример #10
0
t = irit.time( 1 )

save_mat = irit.GetViewMatrix()
irit.SetViewMatrix(  irit.GetViewMatrix() * irit.scale( ( 0.5, 0.5, 0.5 ) ))
save_res = irit.GetResolution()

irit.SetResolution(  12)

t1 = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0.25, 0, 1 ), \
                                  irit.ctlpt( irit.E3, 0.01, 0, 1 ), \
                                  irit.ctlpt( irit.E3, 0.04, 0, 1.1 ), \
                                  irit.ctlpt( irit.E3, 0.04, 0, 1.25 ), \
                                  irit.ctlpt( irit.E3, 0.04, 0, 1.3 ), \
                                  irit.ctlpt( irit.E3, 0.001, 0, 1.3 ) ), irit.list( 0, 0, 0, 1, 2, 3,\
4, 4, 4 ) )
t1 = irit.surfrev( t1 )

t2 = t1 * irit.rotx( 180 )
t = irit.gpolygon( irit.list( t1, t2 ), 1 )
irit.free( t1 )
irit.free( t2 )
irit.interact( irit.list( irit.GetViewMatrix(), t ) )

irit.SetResolution(  20)

t3 = irit.cylin( ( 0, 0, (-2 ) ), ( 0, 0, 4 ), 0.1, 3 )
irit.view( t3, irit.OFF )

s1 = t3 * t
irit.free( t )
irit.free( t3 )
Пример #11
0
#
#  Create the big cylinder ( no hole yet )
#
c1 = irit.cylin((0, 0, 0), (0, 0, 0.7), 0.2, 3)
irit.attrib(c1, "id", irit.GenRealObject(1))

#
#  And the small one ( including the torus & sphere cut
#
c2 = irit.cylin((1, 0, 0.05), (0, 0, 0.4), 0.15, 3)
irit.attrib(c2, "id", irit.GenRealObject(2))
irit.SetResolution(8)

t1 = irit.circpoly((0, 1, 0), (0.151, 0, 0.25), 0.03)
irit.SetResolution(16)
t2 = irit.surfrev(t1) * irit.trans((1, 0, 0))
irit.free(t1)
irit.attrib(t2, "id", irit.GenRealObject(3))

b1 = (c2 - t2)
irit.free(c2)
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)
Пример #12
0
carouselrod1 = irit.list( carouseltube, chairbase * irit.scale( ( 0.35, 0.35, 0.35 ) ) * irit.trans( ( (-0.93 ), 0, 0.03 ) ), chairbase * irit.roty( 90 ) * irit.scale( ( 0.35, 0.35, 0.35 ) ) * irit.trans( ( (-0.98 ), 0, 0.25 ) ), chairbase * irit.scale( ( 0.35, 0.35, 0.35 ) ) * irit.trans( ( (-0.93 ), 0, 0.03 ) ) * irit.rotz( 180 ), chairbase * irit.roty( 90 ) * irit.scale( ( 0.35, 0.35, 0.35 ) ) * irit.trans( ( (-0.98 ), 0, 0.25 ) ) * irit.rotz( 180 ) )
carouselrod2 = carouselrod1 * irit.rotz( 45 )
carouselrod3 = carouselrod1 * irit.rotz( 90 )
carouselrod4 = carouselrod1 * irit.rotz( 135 )
irit.free( carouseltube )

carouselrods = irit.list( carouselrod1, carouselrod2, carouselrod3, carouselrod4 )
irit.free( carouselrod1 )
irit.free( carouselrod2 )
irit.free( carouselrod3 )
irit.free( carouselrod4 )

carouselbase = (-irit.surfrev( irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0.001, 0, 0.5 ), \
                                                            irit.ctlpt( irit.E3, 0.03, 0, 0.5 ), \
                                                            irit.ctlpt( irit.E3, 0.03, 0, 0.35 ), \
                                                            irit.ctlpt( irit.E3, 0.06, 0, 0.2 ), \
                                                            irit.ctlpt( irit.E3, 0.07, 0, 0.06 ), \
                                                            irit.ctlpt( irit.E3, 0.13, 0, 0.015 ), \
                                                            irit.ctlpt( irit.E3, 0.13, 0, 0 ) ), irit.list( irit.KV_OPEN ) ) ) )
irit.color( carouselbase, irit.GREEN )
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 ), \
Пример #13
0
#This is an IRIT script and as such requires both math and irit import:
#
import math
import irit
#

#
#  The Sphericon - See Scientific American, pp 98-99, October 1999.
#
#                                        Gershon Elber, December 1999
#

cone2 = irit.surfrev( irit.ctlpt( irit.E3, 0, 0, (-1 ) ) + \
                      irit.ctlpt( irit.E3, 1, 0, 0 ) + \
                      irit.ctlpt( irit.E3, 0, 0, 1 ) )

cone2half = irit.sregion(cone2, irit.COL, 0, 2)

sphericon = irit.list(cone2half * irit.ry(90), cone2half * irit.rz(180))
irit.view(irit.list(sphericon, irit.GetAxes()), irit.ON)

irit.save("sphercon", sphericon)

irit.free(cone2)
irit.free(cone2half)
irit.free(sphericon)
irit.pause()
Пример #14
0
base = (-irit.sfromcrvs(threads, 3, irit.KV_FLOAT))

irit.attrib(base, "rgb", irit.GenStrObject("200,200,200"))


coverglasscross = irit.cbspline( 3, irit.list( irit.ctlpt( irit.E2, 0, width ), \
                                               irit.ctlpt( irit.E2, (-0.2 ), width + 0.2 ), \
                                               irit.ctlpt( irit.E2, (-0.8 ), width + 0.2 ), \
                                               irit.ctlpt( irit.E2, (-1.4 ), width + 0.5 ), \
                                               irit.ctlpt( irit.E2, (-1.6 ), width + 0.7 ), \
                                               irit.ctlpt( irit.E2, (-2.6 ), width + 1.4 ), \
                                               irit.ctlpt( irit.E2, (-4.9 ), width + 1.2 ), \
                                               irit.ctlpt( irit.E2, (-5.7 ), width ), \
                                               irit.ctlpt( irit.E2, (-5.7 ), 0.001 ) ), irit.list( irit.KV_OPEN ) ) * irit.ry( 90 )
coverglass = irit.surfrev(coverglasscross) * irit.ry((-90))

irit.attrib(coverglass, "rgb", irit.GenStrObject("255,255,255"))
irit.attrib(coverglass, "transp", irit.GenRealObject(0.95))

wireholder = irit.swpcircsrf( irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0, 0, (-2 ) ), \
                                                           irit.ctlpt( irit.E3, 0, 0, 0.8 ), \
                                                           irit.ctlpt( irit.E3, 0, 0, 1.2 ), \
                                                           irit.ctlpt( irit.E3, 0.8, 0, 3 ) ), irit.list( irit.KV_OPEN ) ), 0.02, 1 )
wireholder1 = wireholder * irit.ry((-90)) * irit.tz(0.2)
wireholder2 = wireholder1 * irit.rx(180)
irit.attrib(wireholder1, "rgb", irit.GenStrObject("128,55,55"))
irit.attrib(wireholder2, "rgb", irit.GenStrObject("128,55,55"))

innerglass = irit.surfrev( irit.cbspline( 3, irit.list( irit.ctlpt( irit.E3, 0.3, 0, (-2 ) ), \
                                                        irit.ctlpt( irit.E3, 0.3, 0, 0.3 ), \
Пример #15
0
        ^ irit.coerce(irit.seval(dvs, 0.5, 0.5), irit.VECTOR_TYPE),
        irit.coerce(irit.seval(ns, 0.5, 0.5), irit.VECTOR_TYPE),
        irit.snormal(s, 0.5, 0.5)))

#
#  A (portion of) sphere (rational surface).
#
halfcirc = irit.cbspline( 3, irit.list( irit.ctlpt( irit.P3, 1, 0, 0, 1 ), \
                                        irit.ctlpt( irit.P3, s45, (-s45 ), 0, s45 ), \
                                        irit.ctlpt( irit.P3, 1, (-1 ), 0, 0 ), \
                                        irit.ctlpt( irit.P3, s45, (-s45 ), 0, (-s45 ) ), \
                                        irit.ctlpt( irit.P3, 1, 0, 0, (-1 ) ) ), irit.list( 0, 0, 0, 1, 1, 2,\
2, 2 ) )
irit.color(halfcirc, irit.WHITE)

s = irit.surfrev(halfcirc)
irit.color(s, irit.WHITE)
irit.free(halfcirc)

dus = irit.sderive(s, irit.ROW)
irit.color(dus, irit.GREEN)
dvs = irit.sderive(s, irit.COL)
irit.color(dvs, irit.MAGENTA)
if (display == 1):
    irit.interact(irit.list(irit.GetAxes(), s, dus, dvs))

ns = irit.snrmlsrf(s)
irit.color(ns, irit.GREEN)
if (display == 1):
    irit.interact(irit.list(irit.GetAxes(), s, ns))
Пример #16
0
save_approx_opt = irit.GetPolyApproxOpt()

# #############################################################################
#
#  Create a glass surface
#
c = irit.cbspline( 4, irit.list( irit.ctlpt( irit.E3, 0.357, (-0.48 ), 0 ), \
                                 irit.ctlpt( irit.E2, 0.369, (-0.41 ) ), \
                                 irit.ctlpt( irit.E2, 0.045, (-0.41 ) ), \
                                 irit.ctlpt( irit.E2, 0.05, (-0.22 ) ), \
                                 irit.ctlpt( irit.E2, 0.05, 0.08 ), \
                                 irit.ctlpt( irit.E2, 0.5, 0.1 ), \
                                 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)