# # Display of all primitives of the system: # BOX, GBOX, CONE, CYLIN, SPHERE, TORUS # # Created by Gershon Elber, Dec. 88 # save_mat = view_mat; view_mat = view_mat * scale(vector( 0.5, 0.5, 0.5 )); axes15 = axes * scale(vector(1.5, 1.5, 1.5)); # # Create primitive as approximated integral polynomial surfaces. # save_prim_rat_srfs = iritstate( "PrimRatSrfs", off ); Cyls = list( cylin(vector(-0.8, 0.0, 0.0), vector(-0.5, 0.3, 0.3), 0.3, 0), cylin(vector( 0.8, 0.0, 0.0), vector( 0.8, 0.0, 0.0), 0.3, 1), cylin(vector( 0.0,-0.8, 0.0), vector( 0.1,-0.5, 0.2), 0.3, 3), cylin(vector( 0.0, 0.8, 0.0), vector( 0.0, 0.8, 0.0), 0.3, 2), cylin(vector( 0.0, 0.0,-0.8), vector( 0.4, 0.2,-0.5), 0.3, 3), cylin(vector( 0.0, 0.0, 0.8), vector( 0.0, 0.0, 0.8), 0.3, 1) ); color( Cyls, red ); Cones = list( cone(vector(-0.5, 0.0, 0.0), vector(-0.5, 0.0, 0.0), 0.5, 0), cone(vector( 0.5, 0.0, 0.0), vector( 0.5, 0.0, 0.0), 0.5, 1), cone(vector( 0.0,-0.5, 0.0), vector( 0.0,-0.5, 0.0), 0.5, 1), cone(vector( 0.0, 0.5, 0.0), vector( 0.0, 0.5, 0.0), 0.5, 0), cone(vector( 0.0, 0.0,-0.5), vector( 0.0, 0.0,-0.5), 0.5, 1), cone(vector( 0.0, 0.0, 0.5), vector( 0.0, 0.0, 0.5), 0.5, 1) ); color( Cones, red ); Spr = sphere(vector( 0.0, 0.0, 0.0), 0.5); color( Spr, red ); Trs = torus(vector( 0.0, 0.0, 0.0), vector( 0.1, 0.2, 1.0), 0.5, 0.2); color( Trs, red ); # # Create primitive as exact rational surfaces. # save_prim_srfs = iritstate( "PrimSrfs", on ); interact(list(view_mat, axes15, Cones, cone(vector(-0.5, 0.0, 0.0), vector(-0.5, 0.0, 0.0), 0.5, 0), cone(vector( 0.5, 0.0, 0.0), vector( 0.5, 0.0, 0.0), 0.5, 1), cone(vector( 0.0,-0.5, 0.0), vector( 0.0,-0.5, 0.0), 0.5, 3), cone(vector( 0.0, 0.5, 0.0), vector( 0.0, 0.5, 0.0), 0.5, 2), cone(vector( 0.0, 0.0,-0.5), vector( 0.0, 0.0,-0.5), 0.5, 3), cone(vector( 0.0, 0.0, 0.5), vector( 0.0, 0.0, 0.5), 0.5, 1))); interact(list(view_mat, axes15, Cyls, cylin(vector(-0.8, 0.0, 0.0), vector(-0.5, 0.3, 0.3), 0.3, 0), cylin(vector( 0.8, 0.0, 0.0), vector( 0.8, 0.0, 0.0), 0.3, 1), cylin(vector( 0.0,-0.8, 0.0), vector( 0.1,-0.5, 0.2), 0.3, 1), cylin(vector( 0.0, 0.8, 0.0), vector( 0.0, 0.8, 0.0), 0.3, 0), cylin(vector( 0.0, 0.0,-0.8), vector( 0.4, 0.2,-0.5), 0.3, 1), cylin(vector( 0.0, 0.0, 0.8), vector( 0.0, 0.0, 0.8), 0.3, 1))); interact(list(view_mat, axes15, Spr, sphere(vector( 0.0, 0.0, 0.0), 0.5))); save( "primsrf2", list( Cones, Cyls, sphere( vector( 0.0, 0.0, 0.0 ), 0.5 ), cone(vector( 0.0,-0.5, 0.0), vector( 0.0,-0.5, 0.0), 0.5, 3), cone(vector( 0.0, 0.0,-0.5), vector( 0.0, 0.0,-0.5), 0.5, 3), cylin(vector( 0.8, 0.0, 0.0), vector( 0.8, 0.0, 0.0), 0.3, 1), cylin(vector( 0.0, 0.8, 0.0), vector( 0.0, 0.8, 0.0), 0.3, 0) ) ); interact(list(view_mat, axes15, Trs, torus(vector( 0.0, 0.0, 0.0), vector( 0.1, 0.2, 1.0), 0.5, 0.2))); save( "primsrf3", list( view_mat, axes15, Trs, torus( vector( 0.0, 0.0, 0.0 ), vector( 0.1, 0.2, 1.0 ), 0.5, 0.2 ) ) ); ############################################################################# dummy = iritstate( "PrimRatSrfs", save_prim_rat_srfs ); dummy = iritstate( "PrimSrfs", save_prim_srfs ); free( save_prim_rat_srfs ); free( save_prim_srfs ); free( axes15 ); free( Cyls ); free( Cones ); free( Spr ); free( Trs ); view_mat = save_mat;