home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / gfx / 3d / irit / scripts / cube2.irt < prev    next >
Encoding:
Text File  |  1994-12-30  |  2.4 KB  |  88 lines

  1. #
  2. # A test of intersection of two cubes. Assumes double precision floating point.
  3. #
  4. #                Gershon Elber, April 94.
  5. #
  6.  
  7. length = 1;
  8.  
  9. angle = 10;
  10. b1 = box( vector( -length / 2, -length / 2, -length / 2 ),
  11.       length, length, length );
  12. b2 = box( vector( 0, -length / 2, -length / 2 ),
  13.       length, length, length ) * rotx( angle );
  14. attrib( b1, "width", 0.0001 );
  15. attrib( b2, "width", 0.0001 );
  16. b12a = b1 * b2;
  17. attrib( b12a, "width", 0.01 );
  18. interact( b12a );
  19.  
  20. angle = 1;
  21. b1 = box( vector( -length / 2, -length / 2, -length / 2 ),
  22.       length, length, length );
  23. b2 = box( vector( 0, -length / 2, -length / 2 ),
  24.       length, length, length ) * rotx( angle );
  25. attrib( b1, "width", 0.0001 );
  26. attrib( b2, "width", 0.0001 );
  27. b12b = b1 * b2;
  28. attrib( b12b, "width", 0.01 );
  29. interact( b12b );
  30.  
  31. angle = 0.1;
  32. b1 = box( vector( -length / 2, -length / 2, -length / 2 ),
  33.       length, length, length );
  34. b2 = box( vector( 0, -length / 2, -length / 2 ),
  35.       length, length, length ) * rotx( angle );
  36. attrib( b1, "width", 0.0001 );
  37. attrib( b2, "width", 0.0001 );
  38. b12c = b1 * b2;
  39. attrib( b12c, "width", 0.01 );
  40. interact( b12c );
  41.  
  42. angle = 0.01;
  43. b1 = box( vector( -length / 2, -length / 2, -length / 2 ),
  44.       length, length, length );
  45. b2 = box( vector( 0, -length / 2, -length / 2 ),
  46.       length, length, length ) * rotx( angle );
  47. attrib( b1, "width", 0.0001 );
  48. attrib( b2, "width", 0.0001 );
  49. b12d = b1 * b2;
  50. attrib( b12d, "width", 0.01 );
  51. interact( b12d );
  52.  
  53. angle = 0.001;
  54. b1 = box( vector( -length / 2, -length / 2, -length / 2 ),
  55.       length, length, length );
  56. b2 = box( vector( 0, -length / 2, -length / 2 ),
  57.       length, length, length ) * rotx( angle );
  58. attrib( b1, "width", 0.0001 );
  59. attrib( b2, "width", 0.0001 );
  60. b12e = b1 * b2;
  61. attrib( b12e, "width", 0.01 );
  62. interact( b12e );
  63.  
  64. angle = 0.0001;
  65. b1 = box( vector( -length / 2, -length / 2, -length / 2 ),
  66.       length, length, length );
  67. b2 = box( vector( 0, -length / 2, -length / 2 ),
  68.       length, length, length ) * rotx( angle );
  69. attrib( b1, "width", 0.0001 );
  70. attrib( b2, "width", 0.0001 );
  71. b12f = b1 * b2;
  72. attrib( b12f, "width", 0.01 );
  73. interact( b12f );
  74.  
  75. # This one fails...
  76. # Do no report this "feature". This is quite a difficult test...
  77. #
  78. angle = 0.00001;
  79. b1 = box( vector( -length / 2, -length / 2, -length / 2 ),
  80.       length, length, length );
  81. b2 = box( vector( 0, -length / 2, -length / 2 ),
  82.       length, length, length ) * rotx( angle );
  83. attrib( b1, "width", 0.0001 );
  84. attrib( b2, "width", 0.0001 );
  85. b12g = b1 * b2;
  86. attrib( b12g, "width", 0.01 );
  87. interact( b12g );
  88.