Core 1.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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. More...
 
double Value (const Vector2 &) const
 Compute the Gabor noise at a given point. More...
 
double Cell (int, int, const double &, const double &) const
 Compute the noise in a given cell. More...
 
double Variance () const
 Compute the variance.
 
- Public Member Functions inherited from AnalyticScalarField2
 AnalyticScalarField2 ()
 Create an analytic scalar field defined over the entire plane.
 
virtual Vector2 Gradient (const Vector2 &) const
 Compute the gradient of the field. More...
 
virtual Matrix2 Hessian (const Vector2 &) const
 Compute the hessian at a given point. More...
 
virtual ScalarField2 Sample (const Array2 &) const
 Create a discrete scalar field by sampling a given domain. More...
 
void Curvature (const Vector2 &, double &, double &) const
 Compute the gaussian and mean curvatures. More...
 
virtual Box2 GetBox () const
 Return the bounding box.
 

Protected Member Functions

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

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
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.