Poisson sphere tiling for importance sampling.
More...
#include <sampling.h>
|
| SphereTile (const Random &=Random(239)) |
| Empty.
|
|
| SphereTile (const double &, const double &, int, const Random &=Random(239)) |
| Create a poisson sampling in a square domain.
|
|
| ~SphereTile () |
| Empty.
|
|
void | Relaxation (const double &=1.0/4.0) |
| Perform a relaxation step in the Poisson vertex distribution.
|
|
Vector | Vertex (int) const |
| Getter on the i-th sample.
|
|
Sphere | At (int) const |
| Getter on the i-th sample as a sphere.
|
|
const QVector< Vector > | GetSet () const |
| Return the vector containing the samples.
|
|
int | Size () const |
| Return the number of samples.
|
|
Box | GetBox () const |
| Return the box.
|
|
|
static bool | Check (const Vector &, const QVector< Vector > &, double) |
| Performs a poisson sphere check on a set of point and a candidate position.
|
|
|
void | Generate (int) |
| Generate the poisson sampling of the domain.
|
|
|
double | a = 0.0 |
| Size.
|
|
double | r = 0.0 |
| Radius.
|
|
double | e = 0.0 |
| Squared radius with small epsilon tolerance.
|
|
QVector< Vector > | p |
| Array of samples.
|
|
Random | random |
| Random number generator.
|
|
Poisson sphere tiling for importance sampling.
- See also
- DiscTile
◆ SphereTile() [1/2]
Empty.
Initialize a poisson sphere tiling.
- Parameters
-
r | Random number generator. |
◆ SphereTile() [2/2]
SphereTile::SphereTile |
( |
const double & | a, |
|
|
const double & | r, |
|
|
int | n, |
|
|
const Random & | ra = Random(239) ) |
|
explicit |
Create a poisson sampling in a square domain.
- Parameters
-
a | Size of the side of the square. |
r | Radius of the samples. |
n | Maximum number of samples in the dart throwing process. Note that the number of samples will be different. |
ra | Random number generator. |
◆ At()
Sphere SphereTile::At |
( |
int | i | ) |
const |
|
inline |
Getter on the i-th sample as a sphere.
- Parameters
-
◆ Check()
bool SphereTile::Check |
( |
const Vector & | p, |
|
|
const QVector< Vector > & | s, |
|
|
double | r ) |
|
static |
Performs a poisson sphere check on a set of point and a candidate position.
Returns true if the candidate intersects with the distribution, false otherwise.
- Parameters
-
p | Candidate position |
s | Set of point |
r | Poisson sphere radius. |
◆ Generate()
void SphereTile::Generate |
( |
int | n | ) |
|
|
protected |
Generate the poisson sampling of the domain.
- Parameters
-
n | Number of darts thrown on the domain. |
Note that the number of generated samples will be less than n.
◆ Relaxation()
void SphereTile::Relaxation |
( |
const double & | c = 1.0 / 4.0 | ) |
|
Perform a relaxation step in the Poisson vertex distribution.
- Parameters
-
c | Relaxation coefficient, it the fraction of the radius of the Poisson distribution. |
◆ Vertex()
Vector SphereTile::Vertex |
( |
int | i | ) |
const |
|
inline |
Getter on the i-th sample.
- Parameters
-