home *** CD-ROM | disk | FTP | other *** search
- #
- # Manual construction of layout (prisa) of simple polyhedra.
- #
-
- square = poly( list( vector( 0, 0, 0 ),
- vector( 0, 1, 0 ),
- vector( 1, 1, 0 ),
- vector( 1, 0, 0 ),
- vector( 0, 0, 0 ) ),
- true );
- attrib( square, "width", "0.02" );
- color( square, red );
-
- rectan = poly( list( vector( 0, 0, 0 ),
- vector( 0, 1, 0 ),
- vector( 2, 1, 0 ),
- vector( 2, 0, 0 ),
- vector( 0, 0, 0 ) ),
- true );
- attrib( rectan, "width", "0.02" );
- color( rectan, red );
-
- triang = poly( list( vector( 0, 0, 0 ),
- vector( 0, 1, 0 ),
- vector( 1.5, 0.5, 0 ),
- vector( 0, 0, 0 ) ),
- true );
- attrib( triang, "width", "0.02" );
- color( triang, red );
-
- view_mat = scale( vector( 0.2, 0.2, 0.2 ) );
- cube_prisa = list( square,
- square * trans( vector( 1, 0, 0 ) ),
- square * trans( vector( 2, 0, 0 ) ),
- square * trans( vector( -1, 0, 0 ) ),
- square * trans( vector( 0, 1, 0 ) ),
- square * trans( vector( 0, -1, 0 ) ) );
- interact( list( view_mat, cube_prisa) );
- save( "cubepris", cube_prisa );
-
- box_prisa = list( rectan,
- square * trans( vector( 2, 0, 0 ) ),
- square * trans( vector( -1, 0, 0 ) ),
- rectan * trans( vector( 0, 1, 0 ) ),
- rectan * trans( vector( 0, 2, 0 ) ),
- rectan * trans( vector( 0, -1, 0 ) ) );
- interact( list( view_mat, box_prisa ) );
- save( "box_pris", box_prisa );
-
-
- piram_prisa = list( square,
- triang * trans( vector( 1, 0, 0 ) ),
- triang * rotz( 90 ) * trans( vector( 1, 1, 0 ) ),
- triang * rotz( 180 ) * trans( vector( 0, 1, 0 ) ),
- triang * rotz( 270 ) * trans( vector( 0, 0, 0 ) ) );
- interact( list( view_mat, piram_prisa ) );
- save( "pirapris", piram_prisa );
-