home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / RAYTRACE / RT / VECTOR.H < prev   
Text File  |  1991-12-24  |  780b  |  26 lines

  1. /*
  2.  
  3. VECTOR.H  Interface to vector datatype
  4.  
  5. */
  6.  
  7. typedef struct { double    x, y, z; } VECTOR;
  8.  
  9. #ifndef _VECTOR_
  10.  
  11. extern double magnitude(VECTOR p);
  12. extern VECTOR unit_vector(VECTOR p);
  13. extern VECTOR vector_product(VECTOR p, VECTOR q);
  14. extern double scalar_product(VECTOR p, VECTOR q);
  15. extern VECTOR vector_sum(VECTOR p, VECTOR q);
  16. extern VECTOR negate_vector(VECTOR p);
  17. extern VECTOR vector_difference(VECTOR p, VECTOR q);
  18. extern VECTOR scale_vector(VECTOR p, double scalar);
  19. extern VECTOR inv_scale_vector(VECTOR p, double inv_scalar);
  20. extern VECTOR t_along_pq(VECTOR p, VECTOR q, double t);
  21. extern VECTOR rot_x_vector(VECTOR v, double angle);
  22. extern VECTOR rot_y_vector(VECTOR v, double angle);
  23. extern VECTOR rot_z_vector(VECTOR v, double angle);
  24.  
  25. #endif
  26.