Skip to content

Commit

Permalink
noise: examples
Browse files Browse the repository at this point in the history
  • Loading branch information
PottierLoic committed Jul 23, 2024
1 parent d6d226f commit c8f94bf
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
16 changes: 16 additions & 0 deletions examples/noise_simplex_2d/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Example - plot_bar 📘

This example demonstrates the usage of the V Scientific Library for generating simplex noise.

## Instructions

1. Ensure you have the V compiler installed. You can download it from [here](https://vlang.io).
2. Ensure you have the VSL installed. You can do it following the [installation guide](https://github.com/vlang/vsl?tab=readme-ov-file#-installation)!
3. Navigate to this directory.
4. Run the example using the following command:

```sh
v run main.v
```

Enjoy exploring the capabilities of the V Scientific Library! 😊
38 changes: 38 additions & 0 deletions examples/noise_simplex_2d/main.v
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
module main

import rand
import vsl.noise
import vsl.plot

fn main() {
// Creation of the noise generator.
// Other noise functions and dimensions count are available.
rand.seed([u32(3155200429), u32(3208395956)])
mut generator := noise.Generator.new()
generator.randomize()

mut x := []f64{cap: 1600}
mut y := []f64{cap: 1600}
mut z := []f64{cap: 1600}

for xx in 0 .. 40 {
for yy in 0 .. 40 {
// We need to scale the coordinates to control the frequency of the noise.
val := generator.simplex_2d(0.03 * xx, 0.03 * yy)
x << xx
y << yy
z << val
}
}

mut plt := plot.Plot.new()
plt.heatmap(
x: x
y: y
z: z
)
plt.layout(
title: 'Simplex noise 2d example'
)
plt.show()!
}

0 comments on commit c8f94bf

Please sign in to comment.