home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2000 January / LCD_01_2000.iso / grafik / cloe / include / quadric.inc < prev    next >
Encoding:
Text File  |  1995-04-27  |  3.0 KB  |  160 lines

  1. /*
  2.  *  Sphere equation
  3.  *
  4.  *    (x-xo)^2 / a^2 + (y-yo)^2 / b^2 + (z-zo)^2 / c^2 = 1
  5.  *
  6.  */
  7. #define Q_Sphere object {
  8.   quadric {value <1 1 1 0 0 0 0 0 0 -1>}
  9. }
  10.  
  11. /*
  12.  *  Ellipsoid equation
  13.  *
  14.  *    x^2 + y^2 + z^2 = 1
  15.  *
  16.  */
  17. #define Q_Ellipsoid object {
  18.   quadric {value <1 1 1 0 0 0 0 0 0 -1>}
  19. }
  20.  
  21. /*
  22.  *  Cylinder equation
  23.  *
  24.  *    y^2 / b^2 + z^2 / c^2 = 1
  25.  *    x^2 / a^2 + z^2 / c^2 = 1
  26.  *    x^2 / a^2 + y^2 / b^2 = 1
  27.  *
  28.  */
  29. #define Q_Cylinder_X object {
  30.   quadric {value <0 1 1 0 0 0 0 0 0 -1>}
  31. }
  32.  
  33. #define Q_Cylinder_Y object {
  34.   quadric {value <1 0 1 0 0 0 0 0 0 -1>}
  35. }
  36.  
  37. #define Q_Cylinder_Z object {
  38.   quadric {value <1 1 0 0 0 0 0 0 0 -1>}
  39. }
  40.  
  41. /*
  42.  *  Cone equation
  43.  *
  44.  *    y^2 / b^2 + z^2 / c^2 = x^2 / a^2
  45.  *    x^2 / a^2 + z^2 / c^2 = y^2 / b^2
  46.  *    x^2 / a^2 + y^2 / b^2 = z^2 / c^2
  47.  *
  48.  */
  49. #define Q_Cone_X object {
  50.   quadric {value <-1 1 1 0 0 0 0 0 0 0>}
  51. }
  52.  
  53. #define Q_Cone_Y object {
  54.   quadric {value <1 -1 1 0 0 0 0 0 0 0>}
  55. }
  56.  
  57. #define Q_Cone_Z object {
  58.   quadric {value <1 1 -1 0 0 0 0 0 0 0>}
  59. }
  60.  
  61. /*
  62.  *  Plane equation
  63.  *
  64.  *    x = 0
  65.  *    y = 0
  66.  *    z = 0
  67.  *
  68.  */
  69. #define Q_Plane_YZ object {
  70.   quadric {value <0 0 0 0 0 0 1 0 0 0>}
  71. }
  72.  
  73. #define Q_Plane_XZ object {
  74.   quadric {value <0 0 0 0 0 0 0 1 0 0>}
  75. }
  76.  
  77. #define Q_Plane_XY object {
  78.   quadric {value <0 0 0 0 0 0 0 0 1 0>}
  79. }
  80.  
  81. /*
  82.  *  (Elliptic) Paraboloid equation
  83.  *
  84.  *    y^2 / b^2 + z^2 / c^2 = x / a
  85.  *    x^2 / a^2 + z^2 / c^2 = y / b
  86.  *    x^2 / a^2 + y^2 / b^2 = z / c
  87.  *
  88.  */
  89. #define Q_Paraboloid_X object {
  90.   quadric {value <0 1 1 0 0 0 -1 0 0 0>}
  91. }
  92.  
  93. #define Q_Paraboloid_Y object {
  94.   quadric {value <1 0 1 0 0 0 0 -1 0 0>}
  95. }
  96.  
  97. #define Q_Paraboloid_Z object {
  98.   quadric {value <1 1 0 0 0 0 0 0 -1 0>}
  99. }
  100.  
  101. /*
  102.  *  (Hyperbolic) Paraboloid equation
  103.  *
  104.  *    x^2 / a^2 - y^2 / b^2 = z / c
  105.  *    y^2 / b^2 - z^2 / c^2 = x / a
  106.  *    z^2 / c^2 - x^2 / a^2 = y / b
  107.  *
  108.  */
  109. #define Q_Hyperbolic_Paraboloid_X object {
  110.   quadric {value <1 -1 0 0 0 0 0 0 -1 0>}
  111. }
  112.  
  113. #define Q_Hyperbolic_Paraboloid_Y object {
  114.   quadric {value <0 1 -1 0 0 0 -1 0 0 0>}
  115. }
  116.  
  117. #define Q_Hyperbolic_Paraboloid_Z object {
  118.   quadric {value <-1 0 1 0 0 0 0 -1 0 0>}
  119. }
  120.  
  121. /*
  122.  *  Hyperboloid 1 equation
  123.  *
  124.  *    y^2 / b^2 + z^2 / c^2 - x^2 / a^2 = 1
  125.  *    x^2 / a^2 + z^2 / c^2 - y^2 / b^2 = 1
  126.  *    x^2 / a^2 + y^2 / b^2 - z^2 / c^2 = 1
  127.  *
  128.  */
  129. #define Q_Hyperboloid_1_X object {
  130.   quadric {value <-1 1 1 0 0 0 0 0 0 -1>}
  131. }
  132.  
  133. #define Q_Hyperboloid_1_Y object {
  134.   quadric {value <1 -1 1 0 0 0 0 0 0 -1>}
  135. }
  136.  
  137. #define Q_Hyperboloid_1_Z object {
  138.   quadric {value <1 1 -1 0 0 0 0 0 0 -1>}
  139. }
  140.  
  141. /*
  142.  *  Hyperboloid 2 equation
  143.  *
  144.  *     x^2 / a^2 - y^2 / b^2 - z^2 / c^2 = 1
  145.  *    -x^2 / a^2 + y^2 / b^2 - z^2 / c^2 = 1
  146.  *    -x^2 / a^2 - y^2 / b^2 + z^2 / c^2 = 1
  147.  *
  148.  */
  149. #define Q_Hyperboloid_2_X object {
  150.   quadric {value <1 -1 -1 0 0 0 0 0 0 -1>}
  151. }
  152.  
  153. #define Q_Hyperboloid_2_Y object {
  154.   quadric {value <-1 1 -1 0 0 0 0 0 0 -1>}
  155. }
  156.  
  157. #define Q_Hyperboloid_2_Z object {
  158.   quadric {value <-1 -1 1 0 0 0 0 0 0 -1>}
  159. }
  160.