verpeteren / rust-simd-noise

SIMD noise library for Rust
https://crates.io/crates/simdnoise
252 stars 20 forks source link

Seed period for low dimensional noise #33

Closed lukabavdaz closed 1 year ago

lukabavdaz commented 3 years ago

It seems .with_seed() has the surprisingly low period of 8 for most noise with d <= 2. The below equalities holds true for (at least) all n < 10000 and dim.width < 1000:

gradient_1d.with_seed(n) == -gradient_1d.with_seed(n+8) gradient_2d.with_seed(n) == gradient_2d.with_seed(n+8) fbm_1d.with_seed(n) == -fbm_1d.with_seed(n+8) fbm_2d.with_seed(n) == fbm_2d.with_seed(n+8) ridge_1d.with_seed(n) == ridge_1d.with_seed(n+8) ridge_2d.with_seed(n) == ridge_2d.with_seed(n+8) turbulence_1d.with_seed(n) == turbulence_1d.with_seed(n+8) turbulence_2d.with_seed(n) == turbulence_2d.with_seed(n+8)

I did not find any such periods in cellular2_2d. I haven't spent much time looking at d >= 3 noise, but also there I didn't encounter any obvious periods.

verpeteren commented 1 year ago

I'll close this github issue as duplicate. Please follow https://github.com/verpeteren/rust-simd-noise/issues/42 for updates