Experiments with Simplex Noise

For the main part, I use three cases of noise: alpha, beta and gamma. Alpha is regular simplex, beta uses the alpha noise in as an added dimension, gamma uses the beta in an added dimension (stricly speaking, you don't need a new dimension for the beta/gamma effects, but I have deemed it to be prettier that way).

While creating this, I attempted to remove as much repeated code as I possibly could, without hurting efficiency and readability too much. There's probably better ways of doing it, but here I utilize an object called opt as a parameter to modify function behavior. This allows for easy comparisons of combination, which is what is the difference between this document and the previous

α/β/γ with orthograd movement

The orthograd (or gradient-orthogonal) movement is based on a heightmap, where the successor of a point is a slight movement in a direction orthogonal on the gradient for that point. The lineage is fading grayscale, and the comparison is of the alpha, beta and gamma heightmaps

Converged α/β/γ/δ with orthograd movement

An extra "delta" noise added to show the convergence. Instead of piping the previous iteration directly into the next noise dimension, the "converged"-successor averages all previous iterations. After initially becoming more complex, it gradually settles to a more simple state. This property is not displayed in any of the other successor functions.

Compositional α/β/γ, orthograd

By combining two different scales of the noise, it gets a more distorted look. Here it's a weighted average 1:4 between the unscaled noise and the 4x-scaled noise (ie. (noise(x,y) + noise(4x,4y))/5*4). Again, the left to right is alpha, beta, gamma, with grayscale gradient based on the noise-value in the points.

Terrainical α/β/γ, orthograd

Like compositional noise, it's a weighted average of different scales, but this time with two more levels. This gives the resulting noise a terrain-like feel when colored correctly. The weights used are 1, 4, 16 and 64.

Grayscale heightmap of α/β/γ

Each point is colored by its value in the noise spaces. -1 is black, 1 is white

Grayscale heightmap of compositional α/β/γ

Each point is colored by its value in the noise spaces. -1 is black, 1 is white

Grayscale heightmap of terrainical α/β/γ

Each point is colored by its value in the simplex spaces. -1 is black, 1 is white

Why I call it terrainical noise.

Colored like a terrain, with blue on one helf and yellow-green-white on the other.

Comparison of Success

Comparison of successor functions. Left-to-right is gradient, rotational and orthogonal movement. The rows are the three noise spaces, α, β and γ. The successor functions are functions from a point and a given noise space to a new point, it's successor. Gradient follows the noise space gradient, orthogonal goes orthogonal on the gradient, and the rotational moves according to a direction determined by the two offset positions of the point in the noise space.

Convergence of Colorspaces

Using the converging successor to determine the color values. Each color is offset enough from the others that they effecively belong in independent noise spaces.

Comparison of Circles

Comparison of successor functions and noise spaces when initalized from a circle. Left-to-right are the gradient, rotational and orthogonal movements, top-down are the α, β and γ spaces. Up until now, it has been random points in space that gave birth to the lines. Any function for placing points works, and I personally find circles to be one of the better ways.

Comparison of Color from Circles

Same as the above, but with color added from the simplex color space. The color space is continuous, meaning that there's never any sudden jump in color.

Comparison of Gradual Color Longlines from Circles

Same as the above but now with reduced movement precision, making the lines longer and some interesting consqeuences.

Applied color space manipulation

Manipulating the color space. Left column show their row's most characteristic alteration as continuous maps, and the two to the right is similar maps applied. Very small differences, but in some cases the color is notably muted, and others the grid-pattern is more visible.

Comparison of Frames

The gradual transparancy of the lines is lost with the gradient and rotational successors. They are more likely to converge onto paths.

Variable width bands

Insteaded of drawing from one point to the other, it draws a line otrhogonal on the difference, giving it a broad band-like figure.

Rot/Vel/Gra/GrR/OrR/Ort success on alpha

Added three new successor functions: velocity, gradrot and orthorot. Velocity moves away form the point with a velocity determined by two noise values, grad and orthorot is the gradient and orthogonal successor with a rotation determined by the noise space.

Rot/Vel/Gra/GrR/OrR/Ort with bands on alpha

Added three new successor functions: velocity, gradrot and orthorot. Velocity moves away form the point with a velocity determined by two noise values, grad and orthorot is the gradient and orthogonal successor with a rotation determined by the noise space.

alternative success

Added three new successor functions: velocity, gradrot and orthorot. Velocity moves away form the point with a velocity determined by two noise values, grad and orthorot is the gradient and orthogonal successor with a rotation determined by the noise space.