QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
| Public 成员函数 | 所有成员列表
QwtWeedingCurveFitter类 参考

更多...

#include <qwt_weeding_curve_fitter.h>

类 QwtWeedingCurveFitter 继承关系图:
QwtCurveFitter

class  Line
 
class  PrivateData
 

Public 成员函数

 QwtWeedingCurveFitter (double tolerance=1.0)
 构造函数
 
virtual ~QwtWeedingCurveFitter ()
 析构函数
 
void setTolerance (double)
 设置容差
 
double tolerance () const
 
void setChunkSize (uint)
 限制传递给算法运行的点数
 
uint chunkSize () const
 
virtual QPolygonF fitCurve (const QPolygonF &) const override
 
virtual QPainterPath fitCurvePath (const QPolygonF &) const override
 
- Public 成员函数 继承自 QwtCurveFitter
virtual ~QwtCurveFitter ()
 析构函数
 
Mode mode () const
 获取首选拟合模式
 

额外继承的成员函数

- Public 类型 继承自 QwtCurveFitter
enum  Mode { Polygon , Path }
 
- Protected 成员函数 继承自 QwtCurveFitter
 QwtCurveFitter (Mode mode)
 构造函数
 

详细描述

实现 Douglas 和 Peucker 算法的曲线拟合器

Douglas 和 Peucker 算法的目的是给定由线段组成的"曲线", 找到一条不太相似但点数更少的曲线。该算法基于原始曲线和 平滑曲线之间的最大距离(容差)来定义"太不相似"。

算法的运行时间非线性增长(最坏情况 O( n*n )), 对于巨大的多边形可能非常慢。为了避免性能问题, 可以拆分多边形(setChunkSize())并为这些较小的部分运行算法。 在边界处没有插值的缺点对于大多数用例来说无关紧要。

平滑曲线由定义原始曲线的点的子集组成。

QwtSplineCurveFitter 相反,Douglas 和 Peucker 算法减少 点数。通过根据轴刻度调整容差参数,QwtSplineCurveFitter 可用于实现不同 的细节级别,以加速绘制多点曲线的速度。

构造及析构函数说明

◆ QwtWeedingCurveFitter()

QwtWeedingCurveFitter::QwtWeedingCurveFitter ( double  tolerance = 1.0)
explicit

构造函数

◆ ~QwtWeedingCurveFitter()

QwtWeedingCurveFitter::~QwtWeedingCurveFitter ( )
virtual

析构函数

成员函数说明

◆ chunkSize()

uint QwtWeedingCurveFitter::chunkSize ( ) const

返回
传递给算法运行的点数最大值 - 如果无限制则为 0
参见
setChunkSize()

◆ fitCurve()

QPolygonF QwtWeedingCurveFitter::fitCurve ( const QPolygonF &  points) const
overridevirtual

参数
points数据点序列
返回
曲线点
参见
fitCurvePath()

实现了 QwtCurveFitter.

◆ fitCurvePath()

QPainterPath QwtWeedingCurveFitter::fitCurvePath ( const QPolygonF &  points) const
overridevirtual

参数
points数据点序列
返回
曲线路径
参见
fitCurve()

实现了 QwtCurveFitter.

◆ setChunkSize()

void QwtWeedingCurveFitter::setChunkSize ( uint  numPoints)

限制传递给算法运行的点数

Douglas Peucker 算法的运行时间随点数非线性增长。 对于块大小 > 0,多边形被拆分成块,逐个传递给算法。

参数
numPoints传递给算法的点数最大值
参见
chunkSize()

◆ setTolerance()

void QwtWeedingCurveFitter::setTolerance ( double  tolerance)

设置容差

容差是原始曲线和平滑曲线之间可接受的最大距离。

增加容差将减少结果点的数量。

参数
tolerance容差
参见
tolerance()

◆ tolerance()

double QwtWeedingCurveFitter::tolerance ( ) const

返回
容差
参见
setTolerance()

该类的文档由以下文件生成: