Vector.h
上传用户:lhwx1029
上传日期:2013-03-07
资源大小:1173k
文件大小:2k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. #if !defined(_VECTOR_)
  2. #define _VECTOR_
  3. /** 3DGPL *************************************************
  4.  * ()                                                     *
  5.  * Header for operations on vectors used by the ray       *
  6.  * tracer.                                                *
  7.  *                                                        *
  8.  * Files:                                                 *
  9.  *  vector.c                 Operations on vectors.       *
  10.  *                                                        *
  11.  * (c) 1995-98 Sergei Savchenko, (savs@cs.mcgill.ca)      *
  12. **********************************************************/
  13. //三维矢量,呵呵
  14. #define V_LNG_VECTOR 3                      /* X Y Z */
  15. //零矢量
  16. float *V_zero(float *vec);
  17. //矢量的赋值
  18. float *V_vector_coordinates(float *vector,float x,float y,float z);
  19. //矢量的计算(from & to)
  20. float *V_vector_points(float *vector,float *from,float *to);
  21. //to what?设置矢量V Set
  22. float *V_set(float *what,float *to);
  23. //矢量倍增
  24. float *V_multiply(float *result,float *vector,float m);
  25. //两个向量的积
  26. float V_scalar_product(float *a,float *b);
  27. //这个是什么计算???不记得了
  28. float* V_vector_product(float *product,float *a,float *b);
  29. //矢量和
  30. float *V_sum(float *sm,float *a,float *b);
  31. //矢量差
  32. float *V_difference(float *differ,float *a,float *b);
  33. //矢量单位化
  34. float *V_unit_vector(float *vector,float *from,float *to);
  35. //计算一个平面等式的系数
  36. float *V_plane(float *plane,float *normal,float *origine);
  37. //检查点是否在平面上
  38. float V_vertex_on_plane(float *plane,float *vertex);
  39. /**********************************************************/
  40. #endif