Definition at line 46 of file IDistribution2DSampler.h.
◆ Distribution2DGaussSampler()
Distribution2DGaussSampler::Distribution2DGaussSampler |
( |
double |
omega_x, |
|
|
double |
omega_y |
|
) |
| |
|
inline |
◆ randomSample()
std::pair< double, double > Distribution2DGaussSampler::randomSample |
( |
| ) |
const |
|
overridevirtual |
Implements IDistribution2DSampler.
Definition at line 147 of file IDistribution2DSampler.cpp.
149 std::random_device rd;
150 std::mt19937 gen(rd());
151 std::uniform_real_distribution<double> uniformDist(0.0, 1.0);
153 double cdf_value_phi = uniformDist(gen);
156 double phi = std::sqrt(-2 * std::log(1 - cdf_value_phi));
157 double alpha =
M_TWOPI * uniformDist(gen);
158 return std::make_pair(
m_omega_x * phi * std::cos(alpha),
m_omega_y * phi * std::sin(alpha));
References m_omega_x, m_omega_y, and M_TWOPI.
◆ m_omega_x
double Distribution2DGaussSampler::m_omega_x |
|
private |
◆ m_omega_y
double Distribution2DGaussSampler::m_omega_y |
|
private |
The documentation for this class was generated from the following files: