LdsGen 1.2.6
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
sphere_n.hpp File Reference

N-dimensional sphere sequence generators (Sphere3, SphereN, SphereWrapper). More...

#include <array>
#include <memory>
#include <mutex>
#include <span>
#include <vector>
#include "lds.hpp"
Include dependency graph for sphere_n.hpp:

Go to the source code of this file.

Classes

class  ldsgen::SphereGen
 Base class for sphere generators. More...
 
class  ldsgen::Sphere3
 3-Sphere sequence generator (standalone, returns std::array). More...
 
class  ldsgen::SphereWrapper
 Wrapper class to make Sphere compatible with SphereGen interface. More...
 
class  ldsgen::SphereN
 N-dimensional sphere sequence generator. More...
 

Namespaces

namespace  ldsgen
 

Functions

std::vector< double > ldsgen::linspace (double start, double stop, unsigned int num)
 Generate evenly spaced numbers over a specified interval.
 
double ldsgen::simple_interp (double x_value, std::span< const double > x_points, std::span< const double > y_points)
 Perform one-dimensional linear interpolation.
 
std::vector< double > ldsgen::get_tp (unsigned int n)
 Compute Tp(n) recurrence for sphere mapping.
 

Variables

constexpr double ldsgen::PI = M_PI
 
constexpr double ldsgen::HALF_PI = M_PI / 2.0
 
constexpr std::size_t ldsgen::TABLE_SIZE = 300
 Number of interpolation points for sphere mapping tables.
 
const std::array< double, TABLE_SIZEldsgen::X
 Precomputed interpolation tables (static storage, no heap)
 
const std::array< double, TABLE_SIZEldsgen::NEG_COSINE
 
const std::array< double, TABLE_SIZEldsgen::SINE
 
const std::array< double, TABLE_SIZEldsgen::F2
 

Detailed Description

N-dimensional sphere sequence generators (Sphere3, SphereN, SphereWrapper).