資源簡介
一個關于BSpline,三次擬合兩點之間的曲線代碼源碼,里面有相關的程序接口
代碼片段和文件信息
#include?“stdafx.h“
#include?
#include?
using?namespace?std;
/*
mousePoint 為鼠標點擊的點的數組
linePoint 為計算后擬合曲線上的點,只要以這些點來畫線就可以繪制出曲線
controlPoint 為計算后得到的理論控制點數組
*/
void?B3Line(?vector&?mousePoint?vector&?linePoint?vector&?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大數包和素性判定法產生大素數
評論
共有 條評論