simvx.core.noise¶
Noise generation — FastNoiseLite-inspired procedural noise, pure NumPy vectorized.
Supports Perlin, Simplex, Value, and Cellular (Worley) noise with fractal layering (FBM, Ridged, Ping-Pong). All implementations accept and return NumPy arrays with no Python loops over pixels.
Examples: from simvx.core.noise import FastNoiseLite, NoiseType, FractalType
noise = FastNoiseLite(seed=42)
noise.noise_type = NoiseType.SIMPLEX
noise.fractal_type = FractalType.FBM
noise.fractal_octaves = 4
val = noise.get_noise_2d(10.5, 20.3)
image = noise.get_image(512, 512, scale=0.02) # HxW float array in [-1, 1]
Module Contents¶
Classes¶
Noise algorithm selection. |
|
Fractal layering mode. |
|
Procedural noise generator inspired by FastNoiseLite. |
Data¶
API¶
- simvx.core.noise.__all__¶
[‘FastNoiseLite’, ‘NoiseType’, ‘FractalType’]
- class simvx.core.noise.NoiseType¶
Bases:
enum.IntEnumNoise algorithm selection.
Initialization
Initialize self. See help(type(self)) for accurate signature.
- PERLIN¶
0
- SIMPLEX¶
1
- VALUE¶
2
- CELLULAR¶
3
- __abs__()¶
- __add__()¶
- __and__()¶
- __bool__()¶
- __ceil__()¶
- __delattr__()¶
- __dir__()¶
- __divmod__()¶
- __eq__()¶
- __float__()¶
- __floor__()¶
- __floordiv__()¶
- __format__()¶
- __ge__()¶
- __getattribute__()¶
- __getnewargs__()¶
- __getstate__()¶
- __gt__()¶
- __hash__()¶
- __index__()¶
- __int__()¶
- __invert__()¶
- __le__()¶
- __lshift__()¶
- __lt__()¶
- __mod__()¶
- __mul__()¶
- __ne__()¶
- __neg__()¶
- __new__()¶
- __or__()¶
- __pos__()¶
- __pow__()¶
- __radd__()¶
- __rand__()¶
- __rdivmod__()¶
- __reduce__()¶
- __reduce_ex__()¶
- __repr__()¶
- __rfloordiv__()¶
- __rlshift__()¶
- __rmod__()¶
- __rmul__()¶
- __ror__()¶
- __round__()¶
- __rpow__()¶
- __rrshift__()¶
- __rshift__()¶
- __rsub__()¶
- __rtruediv__()¶
- __rxor__()¶
- __setattr__()¶
- __sizeof__()¶
- __str__()¶
- __sub__()¶
- __subclasshook__()¶
- __truediv__()¶
- __trunc__()¶
- __xor__()¶
- as_integer_ratio()¶
- bit_count()¶
- bit_length()¶
- conjugate()¶
- class denominator¶
- class imag¶
- is_integer()¶
- class numerator¶
- class real¶
- to_bytes()¶
- __deepcopy__(memo)¶
- __copy__()¶
- name()¶
- value()¶
- class simvx.core.noise.FractalType¶
Bases:
enum.IntEnumFractal layering mode.
Initialization
Initialize self. See help(type(self)) for accurate signature.
- NONE¶
0
- FBM¶
1
- RIDGED¶
2
- PING_PONG¶
3
- __abs__()¶
- __add__()¶
- __and__()¶
- __bool__()¶
- __ceil__()¶
- __delattr__()¶
- __dir__()¶
- __divmod__()¶
- __eq__()¶
- __float__()¶
- __floor__()¶
- __floordiv__()¶
- __format__()¶
- __ge__()¶
- __getattribute__()¶
- __getnewargs__()¶
- __getstate__()¶
- __gt__()¶
- __hash__()¶
- __index__()¶
- __int__()¶
- __invert__()¶
- __le__()¶
- __lshift__()¶
- __lt__()¶
- __mod__()¶
- __mul__()¶
- __ne__()¶
- __neg__()¶
- __new__()¶
- __or__()¶
- __pos__()¶
- __pow__()¶
- __radd__()¶
- __rand__()¶
- __rdivmod__()¶
- __reduce__()¶
- __reduce_ex__()¶
- __repr__()¶
- __rfloordiv__()¶
- __rlshift__()¶
- __rmod__()¶
- __rmul__()¶
- __ror__()¶
- __round__()¶
- __rpow__()¶
- __rrshift__()¶
- __rshift__()¶
- __rsub__()¶
- __rtruediv__()¶
- __rxor__()¶
- __setattr__()¶
- __sizeof__()¶
- __str__()¶
- __sub__()¶
- __subclasshook__()¶
- __truediv__()¶
- __trunc__()¶
- __xor__()¶
- as_integer_ratio()¶
- bit_count()¶
- bit_length()¶
- conjugate()¶
- class denominator¶
- class imag¶
- is_integer()¶
- class numerator¶
- class real¶
- to_bytes()¶
- __deepcopy__(memo)¶
- __copy__()¶
- name()¶
- value()¶
- class simvx.core.noise.FastNoiseLite(seed: int = 0, noise_type: simvx.core.noise.NoiseType = NoiseType.PERLIN, frequency: float = 0.01)¶
Procedural noise generator inspired by FastNoiseLite.
Pure NumPy implementation — all evaluation is vectorized. Supports Perlin, Simplex, Value, and Cellular noise with optional fractal layering.
Args: seed: Random seed for permutation table generation. noise_type: Base noise algorithm (default PERLIN). frequency: Coordinate multiplier — lower values produce larger features.
Examples: noise = FastNoiseLite(seed=42, noise_type=NoiseType.SIMPLEX) noise.fractal_type = FractalType.FBM noise.fractal_octaves = 5 image = noise.get_image(256, 256, scale=0.05)
Initialization
- property seed: int¶
- get_noise_2d(x: float, y: float) float¶
Evaluate noise at a single 2D point. Returns float in ~[-1, 1].
- get_noise_3d(x: float, y: float, z: float) float¶
Evaluate noise at a single 3D point. Returns float in ~[-1, 1].
- get_noise_2d_array(xs: numpy.ndarray, ys: numpy.ndarray) numpy.ndarray¶
Evaluate noise at arrays of 2D points. Returns array in ~[-1, 1].
- get_noise_3d_array(xs: numpy.ndarray, ys: numpy.ndarray, zs: numpy.ndarray) numpy.ndarray¶
Evaluate noise at arrays of 3D points. Returns array in ~[-1, 1].
- get_image(width: int, height: int, scale: float = 1.0) numpy.ndarray¶
Generate an HxW noise image. Returns float32 array in ~[-1, 1].
Args: width: Image width in pixels. height: Image height in pixels. scale: Coordinate scale multiplier (applied on top of frequency).