home *** CD-ROM | disk | FTP | other *** search
-
- save_mat = view_mat;
- save_res = resolution;
- resolution = 20;
- 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 ), false );
-
- 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 ), false );
-
- 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 ), false );
-
- free(v1); free(v2); free(v3); free(v4); free(v5); free(v6); free(v7);
- free(v8); free(v9); free(v10); free(v11); free(v12); free(v13);
-
- 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);
-
- ext_dir = vector( -0.5,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);
-
- cone1 = cone(vector(0, 0, 0), vector(-3, 0, 0), 1);
- cylin1 = cylin(vector(0, 0, 0), vector(4, 0, 0), 1);
- cylin2 = cylin(vector(5,0,0),vector(4,0,0),1.5);
- cone2 = CON2( vector(4, 0, 0 ), vector( 1, 0, 0 ), 1, 1.5 );
- coni1 = CON2( vector(9, 1, 0 ), vector( 1, 0, 0 ), 0.3, 0.5 );
- coni2 = CON2( vector(9, 0, 1 ), vector( 1, 0, 0 ), 0.3, 0.5 );
-
- Pt1 = CTLPT( E1, 0.0);
- Pt2 = CTLPT( E1, 2.0);
- Pt3 = CTLPT( E1, 3.0);
- Pt4 = CTLPT( E1,5.0);
- Pt5 = CTLPT( E1,10.0);
- Pt6 = CTLPT( E1,30.0);
- Pt7 = CTLPT(E1,1.0);
- Pt8 = CTLPT(E1,-5.0);
- Pt9 = CTLPT(E1,-10.0);
- Pt10 = CTLPT(E1,-30.0);
- Pt11 = CTLPT(E1,-100.0);
- pt12 = CTLPT(E1,8.0);
- Ept1 = CTLPT(E3,0.0,0.0,0.0);
- Ept2 = CTLPT(E3,8.0,10.0,0.0);
- Ept3 = CTLPT(E3,5.0,17.0,0.0);
-
- ROT_X = CBEZIER( list(Pt1,Pt2,Pt4));
- ROT_XNEG = CBEZIER( list(Pt4,Pt2,Pt1));
- ROT_Z = CBEZIER( list(Pt1,Pt2,Pt2,pt3));
- ROT_X = CREPARAM(ROT_X,0.0, 5.0 );
- ROT_XNEG = CREPARAM(ROT_XNEG,0.0, 5.0 );
- ROT_Z = CREPARAM(ROT_Z,0.0, 5.0 );
- MOV_X = CBEZIER( list(Pt5,Pt3,Pt2));
- MOV_X = CREPARAM(MOV_X,0.0, 2.0 );
- MOV_Z = CBEZIER( list(Pt1,Pt4,Pt5));
- MOV_Z = CREPARAM(MOV_Z,4.0, 5.0 );
- SCL_X = CBEZIER(list(Pt7,Pt2,Pt7));
- SCL_X = CREPARAM(SCL_X,0.0, 5.0 );
- SCL_Y = CBSPLINE( 2,
- list(Pt7,Pt4,Pt7),
- list( KV_OPEN ) );
- SCL_Y = CREPARAM(SCL_Y,0.0, 2.0 );
- SCL = CBEZIER(list(Pt4,Pt12));
- SCL = CREPARAM(SCL,2.0, 5.0 );
- VISIBLE = CBSPLINE( 2,
-
- list(Pt3,Pt5,Pt3,Pt3,Pt3,Pt9,Pt3,Pt9,Pt9,Pt3,Pt3,Pt9,Pt3),
- list( KV_OPEN ) );
- VISIBLE = CREPARAM(VISIBLE,0.0, 2.0 );
- attrib(final,"animation",list(MOV_X,SCL,SCL_Y));
- attrib(final,"texture","marble");
- attrib(final,"rgb","113,230,0");
- free(SCL);
- SCL = CBEZIER(list(Pt7,Pt2));
- SCL = CREPARAM(SCL,0.0, 5.0 );
- free(MOV_X);
- MOV_X = CBSPLINE( 2,list(Pt5,Pt9,pt10),list( KV_OPEN ) );
- MOV_X = CREPARAM(MOV_X,0.0, 5.0 );
- attrib(cone1,"animation",list(ROT_X,MOV_X));
- attrib(cone1,"rgb","150,80,80");
- attrib(cylin1,"animation",list(ROT_X,MOV_X));
- bottom = list(cylin2,cone2);
- attrib(bottom,"animation",list(ROT_X,MOV_X));
- flame = list(coni1,coni2);
- attrib(flame,"animation",list(ROT_X,MOV_X,VISIBLE));
- attrib(cylin1,"rgb","255,50,100");
- free(ROT_X);
- ROT_X = ROT_XNEG;
- attrib(cylin1,"animation",list(ROT_X,MOV_X));
- free(ROT_XNEG);
- attrib(cylin2,"rgb","90,223,233");
- COLOR(cone2,MAGENTA);
- COLOR(flame,RED);
- center = vector(-10,-14,-5);
- resolution = 20;
- sp = SPHERE(vector(-10,-10,10),2);
- COLOR(sp,CYAN);
- attrib(sp,"texture","wood");
- sp2 = SPHERE(center,3);
-
- attrib(sp2,"texture","wood");
- MOV_XYZ = CBEZIER(list(Ept1,Ept2,Ept3));
- MOV_XYZ = CREPARAM(MOV_XYZ,0.0,5.0);
- attrib(sp,"animation",list(SCL_X,SCL_Y,SCL,MOV_XYZ));
- free(MOV_XYZ);
- c1 = circle(center,3.8);
- c2 = circle(center,4.5);
- c3 = circle(center,4.7);
- c4 = circle(center,5.6);
- ring1 = RULEDSRF(c1,c2);
- ring2 = RULEDSRF(c3,c4);
- attrib(sp2,"rgb","175,240,15");
- attrib(ring1,"rgb","175,180,40");
- attrib(ring2,"rgb","255,170,20");
- attrib(ring1,"index","1.4");
- attrib(ring2,"index","1.4");
- attrib(ring1,"reflect","0.5");
- attrib(ring2,"reflect","0.5");
- MOV_XYZ = CBEZIER(list(Ept1,Ept3,Ept2));
- MOV_XYZ = CREPARAM(MOV_XYZ,0.0,5.0);
- free(MOV_X);
-
- sat = list(sp2,ring1,ring2);
- attrib(sat,"animation",list(MOV_XYZ,ROT_Z));
- free(SCL);
- resolution = 30;
- sp3 = SPHERE(vector(0,0,30),15);
- MOV_X = CBEZIER(list(Pt11,Pt10,Pt9));
- MOV_X = CREPARAM(MOV_X,0.0, 5.0 );
- MOV_Z = MOV_X;
- attrib(sp3,"animation",list(ROT_X));
- COLOR(sp3,YELLOW);
- attrib( sp3, "transp", 0.3 );
- attrib( sp3, "texture", "wood" );
-
- P = list(cone1,cylin1,bottom,flame,sp,sp3,sat,final);
- save("rocketman",p);
-
-
- free(Pt1 );
- free(Pt2 );
- free(Pt3 );
- free(Pt4 );
- free(Pt5 );
- free(Pt6 );
- free(Pt7 );
- free(Pt8 );
- free(Pt9 );
- free(Pt10 );
- free(p);
-
- resolution = save_res;
- view_mat = save_mat;
-