home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / dirs / ttddd_420.lzh / TTDDD / Examples / chain.c < prev    next >
C/C++ Source or Header  |  1990-12-20  |  930b  |  47 lines

  1. /* chain.c - generate chain - Glenn M. Lewis - 2/18/90 */
  2.  
  3. #include <stdio.h>
  4. #include <math.h>
  5.  
  6. #ifndef PI
  7. #define PI 3.14159265
  8. #endif
  9. #define RADIUS 200.0
  10.  
  11. main()
  12. {
  13.     int i;
  14.  
  15.     printf("OBJ Begin\nDESC Begin\nNAME \"AXIS\"\nEND DESC\n\n");
  16.  
  17.     for (i=0; i<360; i+=36) {
  18.         do_up(i);
  19.         do_side(i+18);
  20.     }
  21.  
  22.     printf("TOBJ\nEnd OBJ\n");
  23. }
  24.  
  25. do_up(i)
  26. int i;
  27. {
  28.     double c, s;
  29.     c = cos((double)PI*i/180.0);
  30.     s = sin((double)PI*i/180.0);
  31.     printf("EXTR Begin\nMTRX Trans %0.4lf %0.4lf 0\n", s*RADIUS, -c*RADIUS);
  32.     printf("MTRX Rotate %0.4lf 0 %0.4lf %0.4lf 0 %0.4lf 0 1 0\n", c, s, s, -c);
  33.     printf("LOAD \"VD0:link_xy.tddd\"\nEnd EXTR\n\n");
  34. }
  35.  
  36. do_side(i)
  37. int i;
  38. {
  39.     double c, s;
  40.     c = cos((double)PI*i/180.0);
  41.     s = sin((double)PI*i/180.0);
  42.     printf("EXTR Begin\nMTRX Trans %0.4lf %0.4lf 0\n", s*RADIUS, -c*RADIUS);
  43.     printf("MTRX Rotate %0.4lf %0.4lf 0 %0.4lf %0.4lf 0 0 0 1\n", c, -s, s, c);
  44.     printf("LOAD \"VD0:link_xy.tddd\"\nEnd EXTR\n\n");
  45. }
  46.  
  47.