MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ sample_parametric_curve()

MAYAFLUX_API std::vector< glm::vec3 > MayaFlux::Kinesis::sample_parametric_curve ( const std::function< glm::vec3(float)> &  curve,
size_t  samples 
)

Sample parametric curve uniformly in parameter space.

Parameters
curveParametric function: [0,1] → ℝ³
samplesNumber of samples
Returns
Vertices sampled at t_k = k/(N-1) for k ∈ [0, N-1]

Definition at line 371 of file GeometryPrimitives.cpp.

374{
375 if (samples < 2) {
376 samples = 2;
377 }
378
379 std::vector<glm::vec3> vertices;
380 vertices.reserve(samples);
381
382 for (size_t i = 0; i < samples; ++i) {
383 float t = static_cast<float>(i) / static_cast<float>(samples - 1);
384 glm::vec3 position = curve(t);
385
386 vertices.push_back(position);
387 }
388
389 return vertices;
390}