home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / gfx / 3d / irit / scripts / solid2h.irt < prev    next >
Encoding:
Text File  |  1994-06-23  |  1.6 KB  |  82 lines

  1. #
  2. # This solid was taken from: Geometric Modeling,
  3. # by Michael E. Mortenson page 441, figure 10.9
  4. # Takes more than 13 minutes on my 12Mhz 286 with copro.
  5. #
  6. #                Created by Gershon Elber,    Apr 90
  7. #
  8.  
  9. time(true);
  10.  
  11. save_mat = view_mat;
  12. view_mat = view_mat * scale(vector( 0.5, 0.5, 0.5 ));
  13. save_res = resolution;
  14.  
  15. #
  16. # Try it with coplanar false for fun.
  17. #
  18. iritstate("coplanar", true);
  19. iritstate("polysort", 0);
  20.  
  21. T1 = BOX(vector( -2.0, -0.35, 0.0 ), 4, 0.7, 0.4 );
  22. resolution = 80;
  23. T2 = CYLIN(vector( 0.0, 0.0, 0.0 ), vector( 0.0, 0.0, 0.4 ), 1.4);
  24. S1 = T1 * T2;
  25. free(T1);
  26. free(T2);
  27. beep();
  28. view(list(view_mat, S1), true);
  29.  
  30. resolution = 40;
  31. T3 = CYLIN(vector( 0.0, 0.0, 0.0 ), vector( 0.0, 0.0, 0.4 ), 0.9);
  32. S2 = S1 + T3;
  33. free(T3);
  34. free(S1);
  35. beep();
  36. view(S2, true);
  37.  
  38. resolution = 80;
  39. T4 = CYLIN(vector( 1.45, -0.5, 1.0 ), vector( 0.0, 1.0, 0.0 ), 0.8);
  40. T5 = CYLIN(vector(-1.45, -0.5, 1.0 ), vector( 0.0, 1.0, 0.0 ), 0.8);
  41. S3 = S2 - T4 - T5;
  42. free(T4);
  43. free(T5);
  44. free(S2);
  45. beep();
  46. view(S3, true);
  47.  
  48. resolution = 20;
  49. T6 = CYLIN(vector( 1.2, 0.0, -0.1), vector( 0.0, 0.0, 0.5), 0.1);
  50. T7 = CYLIN(vector(-1.2, 0.0, -0.1), vector( 0.0, 0.0, 0.5), 0.1);
  51. S4 = S3 - T6 - T7;
  52. free(T6);
  53. free(T7);
  54. beep();
  55. view(S4, true);
  56.  
  57. resolution = 32;
  58. T8 = CYLIN(vector( 0.0, 0.0, -0.2 ), vector( 0.0, 0.0, 0.9 ), 0.3);
  59. T9 = BOX(vector( -0.6, -0.15,-0.1 ), 1.2, 0.3, 0.7 );
  60. S5 = T8 + T9;
  61. free(T8);
  62. free(T9);
  63. beep();
  64. view(S5, false);
  65.  
  66. S6 = S4 - S5;
  67. free(S4);
  68. free(S5);
  69.  
  70. final = convex(S6);
  71. free(S6);
  72.  
  73. time(false); # In Seconds
  74.  
  75. interact(final);
  76.  
  77. save("solid2h", final);
  78. free(final);
  79.  
  80. view_mat = save_mat;
  81. resolution = save_res;
  82.