⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spline.h

📁 UCOS-2.rar
💻 H
字号:
/****************************************************************************************
* 文件名:SPLINE.H
* 功能:二次参数样条曲线生成程序。头文件
* 作者:黄绍斌
* 日期:2003.09.09
****************************************************************************************/
#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个以上)样条曲线。
* 入口参数

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -