fitpack
Modern Fortran library for curve and surface fitting with splines
Loading...
Searching...
No Matches
fitpack_parametric_curves::fitpack_closed_curve Type Reference

Closed (periodic) parametric curve fitter. More...

Inheritance diagram for fitpack_parametric_curves::fitpack_closed_curve:
Collaboration diagram for fitpack_parametric_curves::fitpack_closed_curve:

Additional Inherited Members

- Public Member Functions inherited from fitpack_parametric_curves::fitpack_parametric_curve
procedure destroy (this)
 Clean memory.
 
procedure new_points (this, x, u, w)
 Set new points.
 
procedure set_default_parameters (this)
 Compute default parameter values from cumulative chord lengths.
 
procedure new_fit (this, x, u, w, smoothing, order)
 Generate new fit.
 
procedure fit (this, smoothing, order, keep_knots)
 Generate/update fitting curve, with optional smoothing.
 
procedure interpolate (this, order, reset_knots)
 Fit an interpolating parametric spline ( \( s = 0 \)) through the data points.
 
procedure least_squares (this, smoothing, reset_knots)
 Fit a least-squares parametric spline with fixed knots.
 
procedure eval_one (this, u, ierr)
 Evaluate curve at given coordinates.
 
procedure eval_many (this, u, ierr)
 Evaluate the parametric curve at multiple parameter values.
 
generic eval (this, u, ierr)
 Evaluate curve at given coordinates.
 
generic eval (this, u, ierr)
 Evaluate the parametric curve at multiple parameter values.
 
generic dfdx (this, u, order, ierr)
 Evaluate derivative at given coordinates.
 
generic dfdx (this, u, order, ierr)
 Evaluate the k-th derivative at multiple parameter values.
 
generic dfdx_all (this, u, ierr)
 Evaluate all derivatives \( \mathbf{s}^{(j)}(u) \) for \( j = 0, \ldots, k \).
 
procedure comm_size (this)
 Parallel communication interface (size/pack/expand)
 
procedure comm_pack (this, buffer)
 Pack parametric curve data into a communication buffer.
 
procedure comm_expand (this, buffer)
 Expand parametric curve data from a communication buffer.
 
type(fitpack_parametric_curve) function new_from_points (x, u, w, ierr)
 Construct a parametric curve from data points and perform a default fit.
 
- Public Member Functions inherited from fitpack_fitters::fitpack_fitter
procedure, non_overridable mse (this)
 MSE accessor (shared by all types)
 
procedure, non_overridable core_comm_size (this)
 Base field helpers for comm (non-overridable, called by subtypes)
 
procedure, non_overridable core_comm_pack (this, buffer)
 Pack base fields into communication buffer.
 
procedure, non_overridable core_comm_expand (this, buffer)
 Expand base fields from communication buffer.
 
procedure, non_overridable destroy_base (this)
 Base field reset (called by subtype destroy methods)
 
procedure(comm_size_if), deferred comm_size (this)
 Deferred communication interface.
 
procedure(comm_pack_if), deferred comm_pack (this, buffer)
 
procedure(comm_expand_if), deferred comm_expand (this, buffer)
 
- Public Attributes inherited from fitpack_parametric_curves::fitpack_parametric_curve
integer m = 0
 Number of points.
 
integer idim = 0
 Number of dimensions.
 
real(fp_real), dimension(:,:), allocatable x
 The data points.
 
logical has_params = .false.
 Parameter values: one for each point. They may be optional, in which case, they will be internally calculated by fitpack.
 
real(fp_real), dimension(:), allocatable u
 
integer order = 3
 Spline degree.
 
real(fp_realubegin = zero
 Interval boundaries.
 
real(fp_realuend = zero
 
real(fp_real), dimension(:), allocatable sp
 
real(fp_real), dimension(:), allocatable w
 
integer nest = 0
 
real(fp_real), dimension(:,:), allocatable dd
 
integer knots = 0
 
real(fp_real), dimension(:), allocatable t
 
- Public Attributes inherited from fitpack_fitters::fitpack_fitter
integer(fp_flagiopt = IOPT_NEW_SMOOTHING
 Fitting state flag.
 
real(fp_realsmoothing = 1000.0_FP_REAL
 Smoothing parameter.
 
real(fp_realfp = zero
 Weighted sum of squared residuals.
 
real(fp_real), dimension(:), allocatable c
 B-spline coefficients.
 
integer(fp_sizelwrk = 0
 Real workspace and its size.
 
real(fp_real), dimension(:), allocatable wrk
 
integer(fp_sizeliwrk = 0
 Integer workspace and its size.
 
integer(fp_size), dimension(:), allocatable iwrk
 

Detailed Description

Closed (periodic) parametric curve fitter.

Extension of fitpack_parametric_curve for curves that close on themselves, i.e. \( \mathbf{s}(u_1) = \mathbf{s}(u_m) \). Uses the clocur core routine which enforces periodic boundary conditions on the B-spline representation.

See also
Dierckx, Ch. 9, §9.2 (pp. 213–216); clocur

The documentation for this type was generated from the following file: