资源简介
一个关于BSpline,三次拟合两点之间的曲线代码源码,里面有相关的程序接口
代码片段和文件信息
#include “stdafx.h“
#include
#include
using namespace std;
/*
mousePoint 为鼠标点击的点的数组
linePoint 为计算后拟合曲线上的点,只要以这些点来画线就可以绘制出曲线
controlPoint 为计算后得到的理论控制点数组
*/
void B3Line( vector< POINT >& mousePoint vector< POINT >& linePoint vector< POINT >& controlPoint )
{
const int nPointCount = 5; // 在每一段曲线上要拟合出的点数,可以为10
const int nMaxmousePtCount = 300; // 能够处理的鼠标点数为这个变理值减1
const int nMaxSiShu = nMaxmousePtCount + 5;
double d[nMaxSiShu] = { 0 };
double sishu[nMaxSiShu][nMaxSiShu] = { 0 }; // 用来保存方程系数和对应行的右值
double x[nMaxSiShu] = { 0 }; // 用来保存鼠标点的x坐标
double y[nMaxSiShu] = { 0 }; // 用来保存鼠标点的y坐标
double q0x = 0.0 q0y = 0.0qnx = 0.0 qny = 0.0;
int ik;
int nCtrlPtCount = mousePoint.size(); // 实际控制点数
if ( nCtrlPtC
- 上一篇:MFC资源包多语言支持
- 下一篇:利用GMP大数包和素性判定法产生大素数
评论
共有 条评论