Vector.h
上传用户:lhwx1029
上传日期:2013-03-07
资源大小:1173k
文件大小:2k
- #if !defined(_VECTOR_)
- #define _VECTOR_
- /** 3DGPL *************************************************
- * () *
- * Header for operations on vectors used by the ray *
- * tracer. *
- * *
- * Files: *
- * vector.c Operations on vectors. *
- * *
- * (c) 1995-98 Sergei Savchenko, (savs@cs.mcgill.ca) *
- **********************************************************/
- //三维矢量,呵呵
- #define V_LNG_VECTOR 3 /* X Y Z */
- //零矢量
- float *V_zero(float *vec);
- //矢量的赋值
- float *V_vector_coordinates(float *vector,float x,float y,float z);
- //矢量的计算(from & to)
- float *V_vector_points(float *vector,float *from,float *to);
- //to what?设置矢量V Set
- float *V_set(float *what,float *to);
- //矢量倍增
- float *V_multiply(float *result,float *vector,float m);
- //两个向量的积
- float V_scalar_product(float *a,float *b);
- //这个是什么计算???不记得了
- float* V_vector_product(float *product,float *a,float *b);
- //矢量和
- float *V_sum(float *sm,float *a,float *b);
- //矢量差
- float *V_difference(float *differ,float *a,float *b);
- //矢量单位化
- float *V_unit_vector(float *vector,float *from,float *to);
- //计算一个平面等式的系数
- float *V_plane(float *plane,float *normal,float *origine);
- //检查点是否在平面上
- float V_vertex_on_plane(float *plane,float *vertex);
- /**********************************************************/
- #endif