home *** CD-ROM | disk | FTP | other *** search
- #
- # Extrusion example of the IRIT letters created manually:
- #
- # Created by Gershon Elber, Mar 89
- #
-
- save_mat = view_mat;
- save_res = resolution;
-
- view_mat = view_mat * scale(vector(-1.0, 1.0, 1.0));
-
- v1 = vector( 0.0, 0.0, 0.0); # The I letter
- v2 = vector( 0.3, 0.0, 0.0);
- v3 = vector( 0.3, 0.0, 0.1);
- v4 = vector( 0.2, 0.0, 0.1);
- v5 = vector( 0.2, 0.0, 0.5);
- v6 = vector( 0.3, 0.0, 0.5);
- v7 = vector( 0.3, 0.0, 0.6);
- v8 = vector( 0.0, 0.0, 0.6);
- v9 = vector( 0.0, 0.0, 0.5);
- v10 = vector( 0.1, 0.0, 0.5);
- v11 = vector( 0.1, 0.0, 0.1);
- v12 = vector( 0.0, 0.0, 0.1);
-
- I = poly( list( v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 ) );
- view(list(I), true);
-
-
- v1 = vector( 0.0, 0.0, 0.0); # The R Letter
- v2 = vector( 0.1, 0.0, 0.0);
- v3 = vector( 0.1, 0.0, 0.5);
- v4 = vector( 0.2, 0.0, 0.5);
- v5 = vector( 0.2, 0.0, 0.4);
- v6 = vector( 0.1, 0.0, 0.4);
- v7 = vector( 0.1, 0.0, 0.3);
- v8 = vector( 0.2, 0.0, 0.0);
- v9 = vector( 0.3, 0.0, 0.0);
- v10 = vector( 0.2, 0.0, 0.3);
- v11 = vector( 0.3, 0.0, 0.3);
- v12 = vector( 0.3, 0.0, 0.6);
- v13 = vector( 0.0, 0.0, 0.6);
-
- R = poly( list( v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13 ) );
- view(list(R), true);
-
-
- v1 = vector( 0.1, 0.0, 0.0);
- v2 = vector( 0.1, 0.0, 0.5);
- v3 = vector( 0.0, 0.0, 0.5);
- v4 = vector( 0.0, 0.0, 0.6);
- v5 = vector( 0.3, 0.0, 0.6);
- v6 = vector( 0.3, 0.0, 0.5);
- v7 = vector( 0.2, 0.0, 0.5);
- v8 = vector( 0.2, 0.0, 0.0);
-
- T = poly( list( v1, v2, v3, v4, v5, v6, v7, v8 ) );
- view(list(T), true);
-
-
- I1 = I;
- R2 = R * trans(vector( 0.4, 0.0, 0.0));
- I3 = I * trans(vector( 0.8, 0.0, 0.0));
- T4 = T * trans(vector( 1.2, 0.0, 0.0));
- free(I);
- free(R);
- free(T);
-
- view_mat = view_mat * trans(vector(-0.8, 0.0, 0.0));
-
- view(list(I1, R2, I3, T4), true);
-
- ext_dir = vector( 0.0,-1.0, 0.0);
-
- I1X = extrude(I1, ext_dir);
- R2X = extrude(R2, ext_dir);
- I3X = extrude(I3, ext_dir);
- T4X = extrude(T4, ext_dir);
- free(I1);
- free(R2);
- free(I3);
- free(T4);
-
- S1 = I1X + R2X + I3X + T4X;
- free(I1X);
- free(R2X);
- free(I3X);
- free(T4X);
-
- final = convex(S1);
- free(S1);
- interact(list(final), false);
-
- mdump("solid0", view_mat);
- gdump("solid0", final);
- free(final);
-
- resolution = save_res;
- view_mat = save_mat;
-