> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor/ks.reactor.ksperlinnoise.md).

# Class ksPerlinNoise

Namespace: [KS.Reactor](/reactor/api-reference/ks.reactor.md)\
Assembly: KSCommon.dll

Adaption of the the perlin noise code found at <http://adrianb.io/2014/08/09/perlinnoise.html>

```csharp
public static class ksPerlinNoise
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [ksPerlinNoise](/reactor/api-reference/ks.reactor/ks.reactor.ksperlinnoise.md)

#### Inherited Members

[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Methods

### GetValue(double, double, double, double) <a href="#ks_reactor_ksperlinnoise_getvalue_system_double_system_double_system_double_system_double" id="ks_reactor_ksperlinnoise_getvalue_system_double_system_double_system_double_system_double"></a>

Calculate a Perlin noise value at a coordinate

```csharp
public static double GetValue(double x, double y, double z, double range = 1)
```

#### Parameters

`x` [double](https://learn.microsoft.com/dotnet/api/system.double)

`y` [double](https://learn.microsoft.com/dotnet/api/system.double)

`z` [double](https://learn.microsoft.com/dotnet/api/system.double)

`range` [double](https://learn.microsoft.com/dotnet/api/system.double)

#### Returns

[double](https://learn.microsoft.com/dotnet/api/system.double)

Perlin noise value.

### GetValue(double, double, double, int, double, double) <a href="#ks_reactor_ksperlinnoise_getvalue_system_double_system_double_system_double_system_int32_system_doub" id="ks_reactor_ksperlinnoise_getvalue_system_double_system_double_system_double_system_int32_system_doub"></a>

Generate a Perlin noise value by adding mulitple values over multiple passes at different frequencies.

```csharp
public static double GetValue(double x, double y, double z, int octaves, double persistence, double range = 1)
```

#### Parameters

`x` [double](https://learn.microsoft.com/dotnet/api/system.double)

`y` [double](https://learn.microsoft.com/dotnet/api/system.double)

`z` [double](https://learn.microsoft.com/dotnet/api/system.double)

`octaves` [int](https://learn.microsoft.com/dotnet/api/system.int32)

Number of passes to combine

`persistence` [double](https://learn.microsoft.com/dotnet/api/system.double)

The amount a noise pass is scaled by in each pass. Scaling is applied repreatedly in each pass.

`range` [double](https://learn.microsoft.com/dotnet/api/system.double)

#### Returns

[double](https://learn.microsoft.com/dotnet/api/system.double)

Perline noise value.
