www.pudn.com > ZLG_GUI_spilcd.zip > spline.h, change:2014-10-25,size:2966b


/**************************************************************************************** 
* 文件名:SPLINE.H 
* 功能:二次参数样条曲线生成程序。头文件 
* 作者: 
* 日期: 
****************************************************************************************/ 
#ifndef  SPLINE_H 
#define  SPLINE_H 
 
/* 样条曲线类变量及相关函数 */ 
#define  NPMAX				10			/* 最大特征点个数 */ 
		 
typedef  struct 
{  float	Px[NPMAX];			 
   float	Py[NPMAX]; 
  
   float	Ax[NPMAX];		// 定义指向A、B、C三点的指针 
   float	Ay[NPMAX]; 
   float	Bx[NPMAX]; 
   float	By[NPMAX]; 
   float	Cx[NPMAX]; 
   float	Cy[NPMAX]; 
 
   float	Mat[3][NPMAX]; 
 
   int  	Np; 			// 曲线点个数 
} SPLINE;  
 
 
/**************************************************************************** 
* 名称:SPLINE_Spline() 
* 功能:样条曲线初始化函数,将特征点输入到样条曲线对象中。 
* 入口参数:sl			要操作的样条曲线对象,SPLINE结构 
*		   pt			特征点数据		 
*          np			特征点个数 
* 出口参数:无 
* 说明: 
****************************************************************************/ 
extern  void  SPLINE_SetSpline(SPLINE *sl, PointXY pt[], int np); 
 
 
/**************************************************************************** 
* 名称:SPLINE_Generate() 
* 功能:产生样条曲线图形。产生的各个端点保存到sl的结构内。 
* 入口参数:sl		要操作的样条曲线对象,SPLINE结构 
* 出口参数:无 
* 说明:sl要先使用SPLINE_SetSpline()设置各个特征点。 
****************************************************************************/ 
extern  void  SPLINE_Generate(SPLINE *sl); 
 
 
/**************************************************************************** 
* 名称:SPLINE_GetCurveCount() 
* 功能:取得样条曲线上端点个数值。 
* 入口参数:sl		要操作的样条曲线对象,SPLINE结构 
* 出口参数:返回值即是样条曲线各个端点个数 
* 说明:sl要先使用SPLINE_SetSpline()设置各个特征点。 
****************************************************************************/ 
extern  int  SPLINE_GetCurveCount(SPLINE *sl); 
 
 
/**************************************************************************** 
* 名称:SPLINE_GetCurve() 
* 功能:取出样条曲线上各个端点,以便于使用GUI_Line()函数画出曲线。 
* 入口参数:sl			要操作的样条曲线对象,SPLINE结构 
*          points		用于接收曲线点的缓冲区,PointXY数组 
*          PointCount	用于接收曲线点个数的指针 
* 出口参数:无 
* 说明:接收曲线点由points返回,曲线点个数由PointCount返回; 
*      sl要先使用SPLINE_SetSpline()设置各个特征点。 
****************************************************************************/ 
extern  void  SPLINE_GetCurve(SPLINE *sl, PointXY points[], int *PointCount); 
 
/**************************************************************************** 
* 名称:GUI_Spline() 
* 功能:作出多个特征点(3个以上)样条曲线。 
* 入口参数points		特征点数组 
*          no			特征点的个数 
* 出口参数:无 
****************************************************************************/ 
extern  void  GUI_Spline(PointXY points[], int no, u16 color); 
 
 
#endif