|
QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
|
A cubic spline 更多...
#include <qwt_spline_cubic.h>
类 | |
| class | PrivateData |
Public 成员函数 | |
| QwtSplineCubic () | |
| Constructor | |
| ~QwtSplineCubic () override | |
| Destructor | |
| virtual uint | locality () const override |
| Get locality (always 0 - non-local) | |
| virtual QPainterPath | painterPath (const QPolygonF &) const override |
| Get painter path from polygon | |
| virtual QVector< QLineF > | bezierControlLines (const QPolygonF &points) const override |
| Get Bezier control lines | |
| virtual QVector< QwtSplinePolynomial > | polynomials (const QPolygonF &) const override |
| Get polynomials from polygon | |
| virtual QVector< double > | slopes (const QPolygonF &) const override |
| Get slopes at control points | |
| virtual QVector< double > | curvatures (const QPolygonF &) const override |
| Get curvatures at control points | |
Public 成员函数 继承自 QwtSplineC2 | |
| QwtSplineC2 () | |
| Constructor | |
| ~QwtSplineC2 () override | |
| Destructor | |
| virtual QPolygonF | equidistantPolygon (const QPolygonF &, double distance, bool withNodes) const override |
| Find an interpolated polygon with "equidistant" points | |
Public 成员函数 继承自 QwtSplineC1 | |
| QwtSplineC1 () | |
| Constructor | |
| ~QwtSplineC1 () override | |
| Destructor | |
| virtual double | slopeAtBeginning (const QPolygonF &, double slopeNext) const |
| Calculate the slope at the beginning of the spline | |
| virtual double | slopeAtEnd (const QPolygonF &, double slopeBefore) const |
| Calculate the slope at the end of the spline | |
Public 成员函数 继承自 QwtSplineG1 | |
| QwtSplineG1 () | |
| Constructor | |
| ~QwtSplineG1 () override | |
| Destructor | |
Public 成员函数 继承自 QwtSplineInterpolating | |
| QwtSplineInterpolating () | |
| Constructor | |
| ~QwtSplineInterpolating () override | |
| Destructor | |
| virtual QPolygonF | polygon (const QPolygonF &, double tolerance) const override |
| Interpolate a curve by a polygon | |
Public 成员函数 继承自 QwtSpline | |
| QwtSpline () | |
| Constructor | |
| virtual | ~QwtSpline () |
| Destructor | |
| void | setParametrization (int type) |
| Set parametrization by type | |
| void | setParametrization (QwtSplineParametrization *) |
| Set parametrization object | |
| const QwtSplineParametrization * | parametrization () const |
| Get parametrization | |
| void | setBoundaryType (BoundaryType) |
| Set boundary type | |
| BoundaryType | boundaryType () const |
| Get boundary type | |
| void | setBoundaryValue (BoundaryPosition, double value) |
| Set boundary value | |
| double | boundaryValue (BoundaryPosition) const |
| Get boundary value | |
| void | setBoundaryCondition (BoundaryPosition, int condition) |
| Set boundary condition | |
| int | boundaryCondition (BoundaryPosition) const |
| Get boundary condition | |
| void | setBoundaryConditions (int condition, double valueBegin=0.0, double valueEnd=0.0) |
| Set boundary conditions for both ends | |
额外继承的成员函数 | |
Public 类型 继承自 QwtSplineC2 | |
| enum | BoundaryConditionC2 { CubicRunout = LinearRunout + 1 , NotAKnot } |
| Boundary condition that requires C2 continuity 更多... | |
Public 类型 继承自 QwtSpline | |
| enum | BoundaryType { ConditionalBoundaries , PeriodicPolygon , ClosedPolygon } |
| Boundary type specifying the spline at its endpoints 更多... | |
| enum | BoundaryPosition { AtBeginning , AtEnd } |
| position of a boundary condition 更多... | |
| enum | BoundaryCondition { Clamped1 , Clamped2 , Clamped3 , LinearRunout } |
| Boundary condition 更多... | |
A cubic spline
A cubic spline is a spline with C2 continuity at all control points. It is a non local spline, where a modification of one control point affects the whole spline.
The implementation is based on the equation system of the second derivatives M(x) of the control points P(x).
QwtSplineCubic offers several algorithms for finding M(x), that are selected by setBoundaryType().
The default setting is a "natural spline" having M(x0) = M(xn) = 0.
| QwtSplineCubic::QwtSplineCubic | ( | ) |
Constructor
The default setting is a non-closing natural spline with no parametrization.
Destructor
|
overridevirtual |
Get Bezier control lines
Interpolate a curve with Bezier curves
Interpolates a polygon piecewise with cubic Bezier curves and returns the 2 control points of each curve as QLineF.
| [in] | points | Control points |
重载 QwtSplineC2 .
|
overridevirtual |
Get curvatures at control points
Find the second derivative at the control points
| [in] | points | Control nodes of the spline |
实现了 QwtSplineC2.
|
overridevirtual |
Get locality (always 0 - non-local)
Get locality
A cubic spline is non-local, where changing one point has an effect on all polynomials.
重载 QwtSpline .
|
overridevirtual |
Get painter path from polygon
Interpolate a curve with Bezier curves
Interpolates a polygon piecewise with cubic Bezier curves and returns them as QPainterPath.
| [in] | points | Control points |
重载 QwtSplineC2 .
|
overridevirtual |
Get polynomials from polygon
Calculate the interpolating polynomials for a non-parametric spline
| [in] | points | Control points |
重载 QwtSplineC2 .
|
overridevirtual |
Get slopes at control points
Find the first derivative at the control points
In contrast to the QwtSplineC2::slopes implementation, the first derivatives are calculated directly, without calculating the second derivatives first.
| [in] | points | Control nodes of the spline |
重载 QwtSplineC2 .