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

◆ sample_parametric_curve()

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 360 of file GeometryPrimitives.cpp.

363{
364 if (samples < 2) {
365 samples = 2;
366 }
367
368 std::vector<glm::vec3> vertices;
369 vertices.reserve(samples);
370
371 for (size_t i = 0; i < samples; ++i) {
372 float t = static_cast<float>(i) / static_cast<float>(samples - 1);
373 glm::vec3 position = curve(t);
374
375 vertices.push_back(position);
376 }
377
378 return vertices;
379}