资源简介
见http://blog.csdn.net/czjxy881/article/details/21228881
代码片段和文件信息
// Curvefit.cpp: implementation of the CBezierfit class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include
#include “Curvefit.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
static double DistanceError(const double *x const double *y const double *Rawdata int n);
static void Bezier(double u const double *a const double *b
double x4 double y4 double &z double &s);
void CalcBezier(const double *Rawdata int n double *Control)
{
double x[4];
double y[4];
double e1e2 e3;
int Retry;
double x1ax2ay1ay2a;
x[0] = Rawdata[0];
y[0] = Rawdata[1];
x[1] = Rawdata[2];
y[1] = Rawdata[3];
x[2] = Rawdata[n-4];
y[2] = Rawdata[n-3];
x[3] = Rawdata[n-2];
y[3] = Rawdata[n-1];
// seed with linear interpolation...
x[1] += x[1] - x[0];
y[1] += y[1] - y[0];
x[2] += x[2] - x[3];
y[2] += y[2] - y[3];
e1 = DistanceError(x y Rawdata n);
for (Retry = 1; Retry <= 2; Retry++)
{
// TRACE(“Retry %d\n“ Retry);
// TRACE(“ x1 y2 x2 y2 error\n“);
e3 = 0.5;
x1a = x[1];
while (fabs(e3) >= 0.01)
{
x[1] += (x[1] - x[0])*e3;
e2 = DistanceError(x y Rawdata n);
if (e2 == e1)
break;
if (e2 > e1)
{
x[1] = x1a;
e3 /=-3;
}
else
{
e1 = e2;
x1a = x[1];
}
}
e3 = 0.5;
y1a = y[1];
while (fabs(e3) >= 0.01)
{
y[1] += (y[1] - y[0])*e3;
e2 = DistanceError(x y Rawdata n);
if (e2 == e1)
break;
if (e2 > e1)
{
y[1] = y1a;
e3 /=-3;
}
else
{
e1 = e2;
y1a = y[1];
}
}
e3 = 0.5;
x2a = x[2];
while (fabs(e3) >= 0.01)
{
x[2] += (x[2] - x[3])*e3;
e2 = DistanceError(x y Rawdata n);
if (e2 == e1)
break;
if (e2 > e1)
{
x[2] = x2a;
e3 /=-3;
}
else
{
e1 = e2;
x2a = x[2];
}
}
e3 = 0.5;
y2a = y[2];
while (fabs(e3) >= 0.01)
{
y[2] += (y[2] - y[3])*e3;
e2 = DistanceError(x y Rawdata n);
if (e2 == e1)
break;
if (e2 > e1)
{
y[2] = y2a;
e3 /=-3;
}
else
{
e1 = e2;
y2a = y[2];
}
}
} // for
Control[0] = x[1];
Control[1] = y[1];
Control[2] = x[2];
Control[3] = y[2];
}
double DistanceError(const double *x const double *y
const double *Rawdata int n)
{
int i;
double a[4];
double b[4];
double u u1 u2;
double z z1 z2 s s1;
double temp;
double totalerror;
double stepsize;
double x4 y4;
totalerror = 0;
a[3] = (x[3]-x[0]+3*(x[1]-x[2]))/8;
b[3] = (y[3]-y[0]+3*(y[1]-y[2]))/8;
a[2] = (x[3]+x[0]-x[1]-x[2])*3/8;
b[2] = (y[3]+y[0]-y[1]-y[2])*3/8;
a[1] = (x[3]-x[0])/2 -a[3];
b[1] = (y[3]-y[0])/2 -b[3];
a[0] = (x[3]+x[0])/2 -a[2];
b[0] = (y[3]+y[0])/2 -b[2];
stepsize = 2.0/(n);
s = u1 = z1 = s1 = 0;
for (i = 2; i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-03-14 11:36 test\
目录 0 2014-03-14 11:36 test\test\
文件 4373 2001-01-23 21:20 test\test\Curvefit.cpp
文件 504 2000-01-14 15:44 test\test\Curvefit.h
目录 0 2014-03-14 11:36 test\test\Debug\
文件 89804 2011-03-09 16:14 test\test\Debug\testDlg.obj
文件 31261 2014-03-07 11:18 test\test\Digistatic.cpp
文件 6863 2014-03-07 12:41 test\test\Digistatic.h
文件 2966 2002-09-03 13:09 test\test\MemDC.h
文件 36864 2014-03-04 21:09 test\test\PCI9052Dll.dll
文件 286 2014-03-04 21:09 test\test\PCI9052Dll.h
文件 3808 2014-03-04 21:09 test\test\PCI9052Dll.lib
文件 2815 2011-03-09 15:37 test\test\ReadMe.txt
目录 0 2014-03-14 11:36 test\test\Release\
文件 129306 2011-03-09 16:13 test\test\Release\testDlg.obj
文件 2915 2014-03-08 13:11 test\test\Resource.h
文件 1532 2000-01-21 11:35 test\test\Rgbcolor.h
目录 0 2014-03-14 11:36 test\test\res\
文件 45718 2014-03-07 11:07 test\test\res\CrossRoad.bmp
文件 598 2014-03-07 00:06 test\test\res\GreenLight.bmp
文件 8958 2014-03-06 23:36 test\test\res\NSGo.bmp
文件 598 2014-03-07 00:07 test\test\res\RedLight.bmp
文件 1270 2014-03-06 23:36 test\test\res\Stop.bmp
文件 12800 2011-03-09 16:11 test\test\res\Thumbs.db
文件 8958 2014-03-06 23:36 test\test\res\WEGo.bmp
文件 598 2014-03-07 00:08 test\test\res\YellowLight.bmp
文件 1270 2014-03-06 23:31 test\test\res\bitmap2.bmp
文件 566 2014-03-06 23:42 test\test\res\bitmap3.bmp
文件 822 2014-03-07 16:07 test\test\res\test.bmp
文件 4286 2014-03-07 16:08 test\test\res\test.ico
文件 396 2014-03-06 21:41 test\test\res\test.rc2
............此处省略14个文件信息
- 上一篇:VINS论文推倒及代码解析
- 下一篇:雷达测角方法研究
相关资源
- 《微型计算机原理与接口技术第3版》
- 基于verilog的交通灯设计
- 微机原理_简单的电子琴程序设计
- 基于fpga的交通灯verilog
- 数字电路课程设计交通灯报告+能马上
- 微机原理第五版
- 微机原理与接口技术 周明德
- 交通灯控制器
- Pintos 西电操作系统课程设计3 报告+代
- 西安电子科技大学计算机学院微机原
- 交通灯单片机课设
- 简易电子琴微机原理课程设计
- 河北工业大学微机原理与接口实验报
- 西电毕设手册
- 超外差收音机仿真和实物测试报告 西
- 数字时钟微机原理课程设计
- 李继灿主编微机原理课件
- 微机原理与接口技术彭虎版课后习题
- 微机原理清华大学出版社 杨素行编
- 西电编译原理大作业
- 基于51单片机的简易交通灯设计
- [微机原理及接口技术].盛珣华&张凡
- 交通灯设计VHDL
- 西安电子科技大学微机原理实验
- 西电数据挖掘大作业之电影评级数据
- 微机原理抢答器(双数码管)课程设
- 微机课程实验包含22个实验内容。
- 微型计算机原理及应用知识点总结
- VHDL交通灯代码
- 微机原理与接口技术PPT
评论
共有 条评论