Skip to main content

A numpy-based noise generator

Project description

Table of Contents

  1. Vectorized value & gradient noise with NumPy
    1. Install with PIP
    2. Install locally
    3. Examples

Vectorized value & gradient noise with NumPy

Rumore is a lightweight Python library for procedural noise. It provides value noise and gradient noise in 1D/2D/3D plus octave summation of these (fractal Brownian motion, fBm).

The library does not implement Ken Perlin’s original algorithm directly, but its gradient noise produces visually similar results.

Install with PIP

pip install rumore

Install locally

Clone the repo, navigate to the directory and from there

pip install -e .

Examples

Import necessary stuff

from importlib import reload
import matplotlib.pyplot as plt
import numpy as np
import rumore

Generate some 1d gradient noise with different number of octaves

reload(rumore)
x = np.linspace(-10, 10, 200)
plt.figure(figsize=(5,4))
for i in range(1, 8):
    plt.plot(x, rumore.grad_noise(x, octaves=i))
plt.show()

![](1d.png)

Perturb points along a circle with 2d noise

t = np.linspace(0, np.pi*2, 200)
x = np.cos(t)
y = np.sin(t)
r = rumore.grad_noise(x, y)*0.5+0.5
plt.figure(figsize=(4,4))
plt.plot(x*r, y*r)
plt.show()

img

Generate a grid of 2d noise value (a grayscale image)

reload(rumore)
x = np.linspace(0, 5, 300)
y = np.linspace(0, 3, 100)
img = rumore.noise_grid(x, y)
plt.imshow(img)
plt.show()

img

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rumore-0.1.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rumore-0.1.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file rumore-0.1.1.tar.gz.

File metadata

  • Download URL: rumore-0.1.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for rumore-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3acf85cdacec931ee8d66cbf25419c7fd8b1dcc8044bb4da8d98af48b7b30794
MD5 239a518b6a54e95e633ac95453f7db6c
BLAKE2b-256 10e192864dcad15568e682a00266d41c82c453b45a1c9d379407cb32f8ef8169

See more details on using hashes here.

File details

Details for the file rumore-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: rumore-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.8

File hashes

Hashes for rumore-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e8160e98b3fda65286258f01be99d3bb027ec5a2f3b224a65db83ba77b28dcf
MD5 0cfe12ac0d09d6580d21b82158cc5bc9
BLAKE2b-256 095039c451d1baa2e6d98110a35bfcca1707480e88b5661bfa09634154ddc635

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page