217 lines
5.7 KiB
Groff
217 lines
5.7 KiB
Groff
.TH "QwtSplineCubic" 3 "Sun Jul 18 2021" "Version 6.2.0" "Qwt User's Guide" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
QwtSplineCubic \- A cubic spline\&.
|
|
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.PP
|
|
\fC#include <qwt_spline_cubic\&.h>\fP
|
|
.PP
|
|
Inherits \fBQwtSplineC2\fP\&.
|
|
.SS "Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "\fBQwtSplineCubic\fP ()"
|
|
.br
|
|
.RI "Constructor The default setting is a non closing natural spline with no parametrization\&. "
|
|
.ti -1c
|
|
.RI "virtual \fB~QwtSplineCubic\fP ()"
|
|
.br
|
|
.RI "Destructor\&. "
|
|
.ti -1c
|
|
.RI "virtual uint \fBlocality\fP () const override"
|
|
.br
|
|
.ti -1c
|
|
.RI "virtual QPainterPath \fBpainterPath\fP (const QPolygonF &) const override"
|
|
.br
|
|
.RI "Interpolate a curve with Bezier curves\&. "
|
|
.ti -1c
|
|
.RI "virtual \fBQVector\fP< QLineF > \fBbezierControlLines\fP (const QPolygonF &points) const override"
|
|
.br
|
|
.RI "Interpolate a curve with Bezier curves\&. "
|
|
.ti -1c
|
|
.RI "virtual \fBQVector\fP< \fBQwtSplinePolynomial\fP > \fBpolynomials\fP (const QPolygonF &) const override"
|
|
.br
|
|
.RI "Calculate the interpolating polynomials for a non parametric spline\&. "
|
|
.ti -1c
|
|
.RI "virtual \fBQVector\fP< double > \fBslopes\fP (const QPolygonF &) const override"
|
|
.br
|
|
.RI "Find the first derivative at the control points\&. "
|
|
.ti -1c
|
|
.RI "virtual \fBQVector\fP< double > \fBcurvatures\fP (const QPolygonF &) const override"
|
|
.br
|
|
.RI "Find the second derivative at the control points\&. "
|
|
.in -1c
|
|
.SS "Additional Inherited Members"
|
|
.SH "Detailed Description"
|
|
.PP
|
|
A cubic spline\&.
|
|
|
|
A cubic spline is a spline with C2 continuity at all control points\&. It is a non local spline, what means that all polynomials are changing when one control point has changed\&.
|
|
.PP
|
|
The implementation is based on the fact, that the continuity condition means an equation with 3 unknowns for 3 adjacent points\&. The equation system can be resolved by defining start/end conditions, that allow substituting of one of the unknowns for the start/end equations\&.
|
|
.PP
|
|
Resolving the equation system is a 2 pass algorithm, requiring more CPU costs than all other implemented type of splines\&.
|
|
.PP
|
|
Definition at line 33 of file qwt_spline_cubic\&.h\&.
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "\fBQVector\fP< QLineF > QwtSplineCubic::bezierControlLines (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP"
|
|
|
|
.PP
|
|
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\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIpoints\fP Control points
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
Control points of the interpolating Bezier curves
|
|
.RE
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
The implementation simply calls \fBQwtSplineC1::bezierControlLines()\fP
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
Reimplemented from \fBQwtSplineC2\fP\&.
|
|
.PP
|
|
Definition at line 1149 of file qwt_spline_cubic\&.cpp\&.
|
|
.SS "\fBQVector\fP< double > QwtSplineCubic::curvatures (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP"
|
|
|
|
.PP
|
|
Find the second derivative at the control points\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIpoints\fP Control nodes of the spline
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
Vector with the values of the 2nd derivate at the control points
|
|
.RE
|
|
.PP
|
|
\fBSee also\fP
|
|
.RS 4
|
|
\fBslopes()\fP
|
|
.RE
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
The x coordinates need to be increasing or decreasing
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
Implements \fBQwtSplineC2\fP\&.
|
|
.PP
|
|
Definition at line 1078 of file qwt_spline_cubic\&.cpp\&.
|
|
.SS "uint QwtSplineCubic::locality () const\fC [override]\fP, \fC [virtual]\fP"
|
|
A cubic spline is non local, where changing one point has em effect on all polynomials\&.
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
0
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
Reimplemented from \fBQwtSpline\fP\&.
|
|
.PP
|
|
Definition at line 989 of file qwt_spline_cubic\&.cpp\&.
|
|
.SS "QPainterPath QwtSplineCubic::painterPath (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP"
|
|
|
|
.PP
|
|
Interpolate a curve with Bezier curves\&. Interpolates a polygon piecewise with cubic Bezier curves and returns them as QPainterPath\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIpoints\fP Control points
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
Painter path, that can be rendered by QPainter
|
|
.RE
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
The implementation simply calls \fBQwtSplineC1::painterPath()\fP
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
Reimplemented from \fBQwtSplineC2\fP\&.
|
|
.PP
|
|
Definition at line 1130 of file qwt_spline_cubic\&.cpp\&.
|
|
.SS "\fBQVector\fP< \fBQwtSplinePolynomial\fP > QwtSplineCubic::polynomials (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP"
|
|
|
|
.PP
|
|
Calculate the interpolating polynomials for a non parametric spline\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIpoints\fP Control points
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
Interpolating polynomials
|
|
.RE
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
The x coordinates need to be increasing or decreasing
|
|
.PP
|
|
The implementation simply calls \fBQwtSplineC2::polynomials()\fP, but is intended to be replaced by a one pass calculation some day\&.
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
Reimplemented from \fBQwtSplineC2\fP\&.
|
|
.PP
|
|
Definition at line 1167 of file qwt_spline_cubic\&.cpp\&.
|
|
.SS "\fBQVector\fP< double > QwtSplineCubic::slopes (const QPolygonF & points) const\fC [override]\fP, \fC [virtual]\fP"
|
|
|
|
.PP
|
|
Find the first derivative at the control points\&. In opposite to the implementation \fBQwtSplineC2::slopes\fP the first derivates are calculated directly, without calculating the second derivates first\&.
|
|
.PP
|
|
\fBParameters\fP
|
|
.RS 4
|
|
\fIpoints\fP Control nodes of the spline
|
|
.RE
|
|
.PP
|
|
\fBReturns\fP
|
|
.RS 4
|
|
Vector with the values of the 2nd derivate at the control points
|
|
.RE
|
|
.PP
|
|
\fBSee also\fP
|
|
.RS 4
|
|
\fBcurvatures()\fP, \fBQwtSplinePolynomial::fromCurvatures()\fP
|
|
.RE
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
The x coordinates need to be increasing or decreasing
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
Reimplemented from \fBQwtSplineC2\fP\&.
|
|
.PP
|
|
Definition at line 1006 of file qwt_spline_cubic\&.cpp\&.
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for Qwt User's Guide from the source code\&.
|