home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / IRIT / IRITS.ZIP / SOLID0.IRT < prev    next >
Encoding:
Text File  |  1990-05-05  |  2.2 KB  |  99 lines

  1. #
  2. # Extrusion example of the IRIT letters created manually:
  3. #
  4. #                Created by Gershon Elber,    Mar 89
  5. #
  6.  
  7. save_mat = view_mat;
  8. save_res = resolution;
  9.  
  10. view_mat = view_mat * scale(vector(-1.0, 1.0, 1.0));
  11.  
  12. v1  = vector( 0.0, 0.0, 0.0);                      # The I letter
  13. v2  = vector( 0.3, 0.0, 0.0);
  14. v3  = vector( 0.3, 0.0, 0.1);
  15. v4  = vector( 0.2, 0.0, 0.1);
  16. v5  = vector( 0.2, 0.0, 0.5);
  17. v6  = vector( 0.3, 0.0, 0.5);
  18. v7  = vector( 0.3, 0.0, 0.6);
  19. v8  = vector( 0.0, 0.0, 0.6);
  20. v9  = vector( 0.0, 0.0, 0.5);
  21. v10 = vector( 0.1, 0.0, 0.5);
  22. v11 = vector( 0.1, 0.0, 0.1);
  23. v12 = vector( 0.0, 0.0, 0.1);
  24.  
  25. I = poly( list( v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 ) );
  26. view(list(I), true);
  27.  
  28.  
  29. v1  = vector( 0.0, 0.0, 0.0);                    # The R Letter
  30. v2  = vector( 0.1, 0.0, 0.0);
  31. v3  = vector( 0.1, 0.0, 0.5);
  32. v4  = vector( 0.2, 0.0, 0.5);
  33. v5  = vector( 0.2, 0.0, 0.4);
  34. v6  = vector( 0.1, 0.0, 0.4);
  35. v7  = vector( 0.1, 0.0, 0.3);
  36. v8  = vector( 0.2, 0.0, 0.0);
  37. v9  = vector( 0.3, 0.0, 0.0);
  38. v10 = vector( 0.2, 0.0, 0.3);
  39. v11 = vector( 0.3, 0.0, 0.3);
  40. v12 = vector( 0.3, 0.0, 0.6);
  41. v13 = vector( 0.0, 0.0, 0.6);
  42.  
  43. R = poly( list( v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13 ) );
  44. view(list(R), true);
  45.  
  46.  
  47. v1  = vector( 0.1, 0.0, 0.0);
  48. v2  = vector( 0.1, 0.0, 0.5);
  49. v3  = vector( 0.0, 0.0, 0.5);
  50. v4  = vector( 0.0, 0.0, 0.6);
  51. v5  = vector( 0.3, 0.0, 0.6);
  52. v6  = vector( 0.3, 0.0, 0.5);
  53. v7  = vector( 0.2, 0.0, 0.5);
  54. v8  = vector( 0.2, 0.0, 0.0);
  55.  
  56. T = poly( list( v1, v2, v3, v4, v5, v6, v7, v8 ) );
  57. view(list(T), true);
  58.  
  59.  
  60. I1 = I;
  61. R2 = R * trans(vector( 0.4, 0.0, 0.0));
  62. I3 = I * trans(vector( 0.8, 0.0, 0.0));
  63. T4 = T * trans(vector( 1.2, 0.0, 0.0));
  64. free(I);
  65. free(R);
  66. free(T);
  67.  
  68. view_mat = view_mat * trans(vector(-0.8, 0.0, 0.0));
  69.  
  70. view(list(I1, R2, I3, T4), true);
  71.  
  72. ext_dir = vector( 0.0,-1.0, 0.0);
  73.  
  74. I1X = extrude(I1, ext_dir);
  75. R2X = extrude(R2, ext_dir);
  76. I3X = extrude(I3, ext_dir);
  77. T4X = extrude(T4, ext_dir);
  78. free(I1);
  79. free(R2);
  80. free(I3);
  81. free(T4);
  82.  
  83. S1 = I1X + R2X + I3X + T4X;
  84. free(I1X);
  85. free(R2X);
  86. free(I3X);
  87. free(T4X);
  88.  
  89. final = convex(S1);
  90. free(S1);
  91. interact(list(final), false);
  92.  
  93. mdump("solid0", view_mat);
  94. gdump("solid0", final);
  95. free(final);
  96.  
  97. resolution = save_res;
  98. view_mat = save_mat;
  99.