Core 1.0
GaborNoise Class Reference

Procedural noise using sparse Gabor convolution. More...

#include <gabornoise.h>

Inheritance diagram for GaborNoise:
AnalyticScalarField2

Public Member Functions

 GaborNoise (const double &, const double &, const double &, const double &, const double &, unsigned int)
 Create Gabor Noise.
 
double Value (const Vector2 &) const
 Compute the Gabor noise at a given point.
 
double Cell (int, int, const double &, const double &) const
 Compute the noise in a given cell.
 
double Variance () const
 Compute the variance.
 
- Public Member Functions inherited from AnalyticScalarField2
 AnalyticScalarField2 (bool=true)
 Constructor.
 
virtual Vector2 Gradient (const Vector2 &) const
 Compute the gradient of the field.
 
virtual Matrix2 Hessian (const Vector2 &) const
 Compute the hessian at a given point.
 
virtual ScalarField2 Sample (const Array2 &) const
 Create a discrete scalar field by sampling a given domain.
 
bool Inside (const double &) const
 Check if the value is considered as inside or outside.
 
void Curvature (const Vector2 &, double &, double &) const
 Compute the gaussian and mean curvatures.
 
virtual Box2 GetBox () const
 Return the bounding box.
 

Protected Member Functions

double Gabor (const double &, const double &) const
 Compute the Gabor Kernel.
 
- Protected Member Functions inherited from AnalyticScalarField2
Matrix Local (const Vector2 &) const
 Compute the local neighborhood in the one-ring aroung a point.
 

Protected Attributes

double K
 Amplitude.
 
double a
 Sigma.
 
double F0
 Frequency.
 
double r
 Kernel radius.
 
double d
 Impulse density.
 
unsigned int o
 Random offset.
 
double s0
 Cosine and sine of pulsation.
 
- Protected Attributes inherited from AnalyticScalarField2
bool sign = true
 Sign convention, used for normal computation.
 
Box2 box = Box2::Infinity
 Domain, set as infinite for base class.
 

Additional Inherited Members

- Static Protected Attributes inherited from AnalyticScalarField2
static const double epsilon = 1e-6
 \epsilon; value for partial derivatives
 

Detailed Description

Procedural noise using sparse Gabor convolution.

From A. Lagae, S. Lefebvre, G. Drettakis and P. Dutre. ACM Transactions on Graphics, 28(3), 2009.

Constructor & Destructor Documentation

◆ GaborNoise()

GaborNoise::GaborNoise ( const double & K,
const double & a,
const double & F_0,
const double & w0,
const double & n,
unsigned int offset )

Create Gabor Noise.

Parameters
KAmplitude.
aSigma.
F_0Frequency.
w0Pulsation.
nNumber of impulses per kernel.
offsetRandom offset.

Member Function Documentation

◆ Cell()

double GaborNoise::Cell ( int i,
int j,
const double & x,
const double & y ) const

Compute the noise in a given cell.

Parameters
i,jInteger coordinates of the cell.
x,yCoordinates of the point in the cell.

◆ Gabor()

double GaborNoise::Gabor ( const double & x,
const double & y ) const
protected

Compute the Gabor Kernel.

Parameters
x,yCoordinates of the point.

◆ Value()

double GaborNoise::Value ( const Vector2 & p) const
virtual

Compute the Gabor noise at a given point.

Parameters
pPoint.

Reimplemented from AnalyticScalarField2.