void cube(void); void space(void); void roll(void); void main() { tg_openwin(640, 640); tg_init(); tg_view(); tg_pu(); tg_bk(4000.0); tg_draw(); tg_pu(); tg_ml(2750.0); tg_fd(2250.0); tg_mu(2750.0); space(); roll(); } void cube() { int i1; for(i1 = 0; i1 < 4; i1++){ tg_pd(); tg_mr(100.0); tg_md(100.0); tg_ml(100.0); tg_pu(); tg_mu(100.0); tg_mr(100.0); tg_rt(90.0); } } void space() { int c, i1, i2, i3; c = 1; for(i1 = 0; i1 < 5; i1++){ for(i2 = 0; i2 < 5; i2++){ for(i3 = 0; i3 < 5; i3++){ tg_setpc(c); if(c == 7) c = 1; else c++; tg_mr(1000.0); cube(); } tg_ml(5000.0); tg_md(1000.0); } tg_mu(5000.0); tg_bk(1000.0); } } void roll() { int i1; double m; tg_view(); tg_manual(); tg_pu(); tg_home(); tg_dn(90.0); tg_bk(8000.0); tg_rr(30.0); for(i1 = 0; i1 < 72; i1++){ tg_rt(5.0); tg_ml(8000 * 3.14 * 2 / 72); tg_refresh(); } tg_home(); tg_dn(90.0); tg_bk(2000.0); m = 1; for(i1 = 0; i1 < 72; i1++){ tg_setmag(m); m = m - 0.01; tg_rt(5.0); tg_ml(2000 * 3.14 * 2 / 72); tg_refresh(); } for(i1 = 0; i1 < 72; i1++){ tg_setmag(m); m = m + 0.01; tg_rt(5.0); tg_ml(2000 * 3.14 * 2 / 72); tg_refresh(); } }