|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API void MayaFlux::Kinesis::central_difference_tangents | ( | std::span< const double > | points, |
| size_t | dim, | ||
| size_t | count, | ||
| std::vector< double > & | tangents | ||
| ) |
Tangents of a sampled curve by finite difference, coordinate-major.
| points | Coordinate-major, dim * count doubles. |
| dim | Coordinate count per sample, at least 1. |
| count | Sample count, at least 2. |
| tangents | Resized to dim * count, coordinate-major. |
For curves whose samples did not come straight from CurveEvaluator's analytic derivative, most importantly after reparameterize_planar has resampled by arc length, which leaves analytic tangents attached to the original parameter values. Uniformly spaced samples make the central difference well conditioned; the endpoints take the one sided difference.
Like the analytic tangents, these are directions and not rates.
Definition at line 334 of file MotionCurves.cpp.
References a, b, count, out, and points.
Referenced by MayaFlux::Nodes::GpuSync::TopologyGeneratorNode::build_interpolated_path(), and MayaFlux::Nodes::GpuSync::PathGeneratorNode::write_curve_segment().
Here is the caller graph for this function: