# Maths.PseudoRandom class

Namespace: [Grasshopper2](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public static class Maths.PseudoRandom
```

Central utilities for creating random engines and random collections.

## Methods

- [CirclesOnDiscFibonacci](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/circlesondiscfibonacci.md): (static) Create a circle packing on the interior of a disc.
- [CirclesOnDiscHexagonal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/circlesondischexagonal.md): (static) Create a hexagonal pattern of circles with radius 1 around the origin.
- [CirclesOnDiscOctagonal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/circlesondiscoctagonal.md): (static) Create an octogonal pattern of circles with varying radii around the origin.
- [CirclesOnDiscSquare](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/circlesondiscsquare.md): (static) Create a hexagonal pattern of circles with radius 1 around the origin.
- [CirclesOnDiscStacked](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/circlesondiscstacked.md): (static) Create a circle packing on the interior of a disc.
- [CirclesOnSphericalPoints](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/circlesonsphericalpoints.md): (static) Place circles on point coordinates assumed to lie on a sphere with origin at (0,0,0).
- [CreateRandomEngine](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/createrandomengine.md): (static) Create a new instance of a specific generator.
- [DilatePointsWithinBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/dilatepointswithinbox.md): (static) Dilates the specified array of 3D points outward from a given origin so that all points remain within the defined box dimensions, and retains only the specified number of points closest to the origin after dilation.
- [DilatePointsWithinCircle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/dilatepointswithincircle.md): (2 overloads, static) Spatially inflate an array of points until all but N are outside a circle.
- [DilatePointsWithinRectangle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/dilatepointswithinrectangle.md): (3 overloads, static) Spatially inflate an array of points until all but N are outside an axis aligned rectangle.
- [DilatePointsWithinSphere](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/dilatepointswithinsphere.md): (static) Dilates a specified number of points within a defined spherical region, scaling their positions relative to a center point.
- [FibonacciHalfSphere](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/fibonaccihalfsphere.md): (static) Generates the coordinates of a Fibonacci point sampling on the upper half of the unit sphere.
- [FibonacciUnitDisc](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/fibonacciunitdisc.md): (static) Generates the coordinates of a Fibonacci point sampling on the unit disc.
- [FibonacciUnitSphere](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/fibonacciunitsphere.md): (static) Generates the coordinates of a Fibonacci point sampling on the unit sphere.
- [FibonacciUnitSquare](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/fibonacciunitsquare.md): (static) Generates the coordinates of a Fibonacci point sampling on the unit square.
- [FormatEngineAlgorithm](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/formatenginealgorithm.md): (static) Create a human-centric string which describes a certain random algorithm.
- [ParseEngineAlgorithm](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/parseenginealgorithm.md): (static) Try and parse a random engine by name.
- [Poisson2D](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/poisson2d.md): (2 overloads, static) Create a two-dimensional Poisson sampling with a variable separation radius. This algorithm relies on slow spatial lookup of neighbouring coordinates since no assumptions can be made regarding the minimum allowed spacing across the entire field. As a result this method probably will not yield the same distribution as the Poisson2D method which takes a constant radius value.
- [Populate1D](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/populate1d.md): (static) Randomly populate a one-dimensional interval. This method works by randomly dividing the longest remaining interval into two until a fixed number of values has been found.
- [RandomIntegers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/randomintegers.md): (4 overloads, static) Generate an enumeration of random, non-negative integers.
- [RandomNumbers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/randomnumbers.md): (4 overloads, static) Generate an enumeration of random, non-negative integers.
- [VanDerCorputUnitCube](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/vandercorputunitcube.md): (static) Create a Van Der Corput distribution within the unit cube.
- [VanDerCorputUnitSquare](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.pseudorandom/vandercorputunitsquare.md): (static) Generates the coordinates of a van der Corput Quasi random point set on the unit square. The distances between adjacent points are more similar than using a strict pseudo-random distribution, not quite as good as a Poisson distribution but very fast. The x coordinates increase steadily from zero to (n-1)/n, whereas the associated y coordinates are spread out using a quasi-mote-carlo pattern.
