home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 564a.lha / igensurf_v1.0 / examples / super_el.cal < prev    next >
Text File  |  1991-09-27  |  1KB  |  50 lines

  1. {
  2.     super_el.cal: Create a superelipsoid
  3.  
  4.     igensurf -v -s 15 -t 15 -S 100 -e "x_exp=0.1;y_exp=0.1" 
  5.                     super_el.cal | writetddd >super_el.obj
  6.  
  7.     x_scale, y_scale and z_scale is the scale factors for the x, y and 
  8.     z axis, they're set to 1.0 below, but can of course be modified.
  9.  
  10.     x_exp and y_exp controls the roundedness of the surface.
  11.     if they equals 1, you get a sphere. If they're less than 1, the surface
  12.     becomes more box like. If they're greater than 2, the surface becomes
  13.     concave. Set them from the command line with the -e option.
  14.  
  15.  
  16.     Try these values: 
  17.     x_exp = 0.1, y_exp = 0.1  (a die)
  18.     x_exp = 1.0, y_exp = 1.0  (a sphere)
  19.     x_exp = 0.1, y_exp = 1.0  (a barrel)
  20.     x_exp = 0.1, y_exp = 2.9  (I don't know what this one is called!)
  21.     x_exp = 2.9, y_exp = 2.9  (ditto)
  22.     x_exp = 2.9, y_exp = 1.0  A top
  23. }    
  24.  
  25. { x_exp : 2.9; }    { Set these with the -e option instead.      }
  26. { y_exp : 2.9; }
  27.  
  28. step_s  : 15;
  29. step_t  : 15;
  30.  
  31. x_scale    : 1.0;        { Scale factor for the x axis }
  32. y_scale    : 1.0;        { Scale factor for the y axis }
  33. z_scale    : 1.0;        { Scale factor for the z axis }
  34.  
  35. x(u,v) = x_scale * gy(u) * hx(v);    { This is a spherical product }
  36. y(u,v) = y_scale * gx(u);
  37. z(u,v) = z_scale * gy(u) * hy(v);
  38.  
  39. gx(u) = Pow(cos(PI*u), x_exp);
  40. gy(u) = Pow(sin(PI*u), x_exp);
  41.  
  42. hx(v) = Pow(cos(2*PI*v), y_exp);
  43. hy(v) = Pow(sin(2*PI*v), y_exp);
  44.  
  45.     { Be sure that pow can handle negative numbers: }
  46. Pow(x,y) = if (x, x ^ y, -((-x) ^ y) );
  47.  
  48. #scale 100
  49. #phong on
  50.