home *** CD-ROM | disk | FTP | other *** search
/ PC Graphics Unleashed / PC Graphics Unleashed.iso / ch17 / pi / roomfly / camcalc.inc < prev    next >
Encoding:
Text File  |  1994-08-05  |  2.2 KB  |  41 lines

  1. // Polyray include file: CAMCALC.INC
  2. // by Rob McGregor
  3.  
  4. /**************************************************************
  5.   Calculate the values of location vectors for the camera
  6. ***************************************************************/
  7.  
  8. define camPx t3 * (-0.5 * cam_n1x[key]) + t3 * (1.5 * cam_n2x[key]) + t3 * 
  9.              (-1.5 * cam_n3x[key]) + t3 * (0.5 * cam_n4x[key]) + t2 * 
  10.              cam_n1x[key] + t2 * (-2.5 * cam_n2x[key]) + t2 * (2 * cam_n3x[key]) + 
  11.              t2 * (-0.5 * cam_n4x[key]) + t * (-0.5 * cam_n1x[key]) + t * 
  12.              (0.5 * cam_n3x[key]) + cam_n2x[key]
  13.  
  14. define camPy t3 * (-0.5 * cam_n1y[key]) + t3 * (1.5 * cam_n2y[key]) + t3 * 
  15.              (-1.5 * cam_n3y[key]) + t3 * (0.5 * cam_n4y[key]) + t2 * 
  16.              cam_n1y[key] + t2 * (-2.5 * cam_n2y[key]) + t2 * (2 * cam_n3y[key]) + 
  17.              t2 * (-0.5 * cam_n4y[key]) + t * (-0.5 * cam_n1y[key]) + t * 
  18.              (0.5 * cam_n3y[key]) + cam_n2y[key]
  19.  
  20. define camPz t3 * (-0.5 * cam_n1z[key]) + t3 * (1.5 * cam_n2z[key]) + t3 * 
  21.              (-1.5 * cam_n3z[key]) + t3 * (0.5 * cam_n4z[key]) + t2 * 
  22.              cam_n1z[key] + t2 * (-2.5 * cam_n2z[key]) + t2 * (2 * cam_n3z[key]) + 
  23.              t2 * (-0.5 * cam_n4z[key]) + t * (-0.5 * cam_n1z[key]) + t * 
  24.              (0.5 * cam_n3z[key]) + cam_n2z[key]
  25.  
  26. /**************************************************************
  27.   Calculate the values of the "look at" vector for the camera
  28. ***************************************************************/
  29.  
  30. define atPy t3 * (-0.5 * at_n1y[key]) + t3 * (1.5 * at_n2y[key]) + t3 * 
  31.             (-1.5 * at_n3y[key]) + t3 * (0.5 * at_n4y[key]) + t2 * 
  32.             at_n1y[key] + t2 * (-2.5 * at_n2y[key]) + t2 * (2 * at_n3y[key]) + 
  33.             t2 * (-0.5 * at_n4y[key]) + t * (-0.5 * at_n1y[key]) + t * 
  34.             (0.5 * at_n3y[key]) + at_n2y[key]
  35.  
  36. define atPz t3 * (-0.5 * at_n1z[key]) + t3 * (1.5 * at_n2z[key]) + t3 * 
  37.             (-1.5 * at_n3z[key]) + t3 * (0.5 * at_n4z[key]) + t2 * 
  38.             at_n1z[key] + t2 * (-2.5 * at_n2z[key]) + t2 * (2 * at_n3z[key]) + 
  39.             t2 * (-0.5 * at_n4z[key]) + t * (-0.5 * at_n1z[key]) + t * 
  40.             (0.5 * at_n3z[key]) + at_n2z[key]
  41.