Landscapes out of my mind

Landscapes out of my mind

In this work, the third in the series of landscapes, I tried to achieve greater realism without abandoning those elements, also characteristic of the other works, which lead out of reality such as the shapes of the ground and trees and the choice of palettes.

Lands and Clouds are rendered using a mix of simplex noise and FBM (Fractional Brownian Motion), trees are generated with space colonization algorithm an placed using Poisson Disk Sampling distribution. The distribution density is driven by the land heightmap.

Developed with three.js using WebGLRenderer.
Rendering is faster with chrome browser.

[s] to save a png at 2048×1536, 1536×2048, 2048×2048 (4/3, 3/4, 4/4 aspect ratio)
[d] to save a png at 4096×3072, 3072×4096, 4096×4096 (4/3, 3/4, 4/4 aspect ratio)

Features:
“Palette”: 14 colormaps
“Aspect Ratio”: 4/3, 3/4, 4/4
“View Point”: Far, Medium, Near, Above
“Sky Type”: FBM, Gradient1, Gradient2
“Sky Color”: LightSkyBlue, Gray, Blue [10% probability]
“Bark Color”: Brown, GrayBrown, Gray
“Bare Trees”: True, False

Created by Andrea Belloni, fxhash: anbello, twitter: @Waterflowing0. Licensed under CC BY-NC-SA 4.0, see LICENSE.txt for more information.

https://www.fxhash.xyz/generative/slug/landscapes-out-of-my-mind

Landscapes in my mind

Landscapes in my mind

In this work I tried to convey the idea of a landscape (many landscapes) with hills, trees, grass, bushes, skies and clouds. As is normal on fxhash I have accomplished all this by writing the code that generates the elements in a scene.
While writing the code to obtain these landscapes I did not try to reproduce landscapes seen in reality or in photography, rather I followed from time to time ideas of landscapes that came to my mind as a sort of lucid dream. I hope I managed to convey this idea of a landscape that is halfway between reality and fantasy.

Lands and Clouds are rendered using a mix of simplex noise and FBM (Fractional Brownian Motion), trees are generated with recursive functions an placed using Poisson Disk Sampling distribution. The distribution density could be homogeneous (land heightmap drive the density) or biased to have more density towards the top, bottom, left or right of the land.

Developed with p5.js using WEBGL renderer.
Rendering is faster with chrome browser.

Features:
“LandPalette”: 20 colormaps
“TreePalette”: 20 colormaps
“Light”: Morning, Evening, Night
“SkyColor”: Blue, Azure, Turquoise, Gray, VioletRed
“Haze”: True, False
“Rainbow”: True, False
“Grayscale”: True, False
“TreeDensity”: Homogeneous, Top, Bottom, Left, Right

Created by Andrea Belloni, fxhash: anbello, twitter: @Waterflowing0. Licensed under CC BY-NC-SA 4.0, see LICENSE.txt for more information.

Boids

Boids

Boids is a Generative Token that represent the flocking of birds over a landscape. The name ‘Boids’ comes from a famous computer animation / simulation program.

The landscape is rendered as a surface using a kind of warped noise as height map. A noise of the same kind is used as texture for the sky.

The boids are disposed along the flow lines obtained from the noise gradient. This gives the sensation that the Boids follow the undulations of the landscape.

It is possible to save a 1600×1600 png with key ‘s’.

If the token has the feature EsterEgg = True then other keys are activated:

  • ‘2’ to visualize the 2D version of the token (then ‘s’ to save the png of 2D version)
  • ‘3’ to visualize the 3D version of the token (then ‘s’ to save the png of 3D version)

Sources of variations are:

  • Noise warping control parameters generating different grade of complexity and different shape an the landscape and Boids flock (combined on a single number on the features).
  • 21 color mapping for landscape and Boids.
  • Two method of surface rendering for the landscape, wireframe and blocks.
  • Two possible resolution for surface rendering.

Features:
Palette: color palette name (21 different palettes)
SurfaceRendering: surface can be rendered as wireframe or as a grid of blocks
SurfaceResolution: both wireframe and blocks can be at different resolution (Low, High)
NoiseControl: noise control parameter (0 – 15)
Border: the border can be in solid color or negative color (Solid, Negative)
EsterEgg: with 20% of probability a 2D version of the same token can be visualized and saved

https://www.fxhash.xyz/generative/11369

Boids 2D

Everything flows

The Generative Token is obtained in two stages: in the first stage warped noise is generated using the method explained by Inigo Quilez (see Licence.txt for reference); in the second stage, using Sobel method for edge detection, the noise gradient orientation is used to generate flow lines.

The first stage generate an image colored using the values of warped noise.
The second stage generate another image using gradient orientations both for shapes (the flow lines) and for coloring.
The two images are blended together to obtain the final result.

In both stages the color-maps are generated using a sinusoidal function of the gradient orientation angle with a random phases. There are 52 possible combinations of random phases.
Some palette used in the second stage are re-mixed using simplex noise with 20% of probability.

The user can save a 1200×1200 png with ‘s’.

Sources of variations are:

  • Four noise warping control parameters generating different grade of complexity and different shape (combined on a single number on the features)
  • 38 generated color mapping for warped noise
  • 38 generated color mapping for flow lines
  • Blending of the two intermediate images

Features:
Grays: 25% of probability to have a grays palette, (True, False)
Color Palette: one of the 38 possible combinations of random phases
Color Mixing: 20% of probabilty to have a re-mixed palette
NoiseControl: noise control parameter, (0 – 15)
Rare: when Grays = True and NoiseControl < 4

https://www.fxhash.xyz/generative/10850

Variations on Tribble Fur

The Generative Token is obtained in two stages: in the first stage warped noise is generated using the method explained by Inigo Quilez (see Licence.txt for reference); in the second stage, using Sobel method for edge detection, the noise gradient orientation is used to generate flow lines for the “Fur”.

The first stage generate an image colored using the values of warped noise.
The second stage generate another image using gradient orientations both for shapes (the fur) and for coloring.
The two images are blended together to obtain the final result.

In both stages color-map can be a precalculated palette or a generated one. There are four precalculated palettes read from files and many more generated with random phases.

The user can save a 1200×1200 png with ‘s’.

Sources of variations are:

– Four noise warping control parameters generating different grade of complexity and different shape
– One flattening control parameter
– Blending of the two intermediate images
– precalculated (four) or generated (many) color mapping for warped noise
– precalculated (four) or generated (many) color mapping for flow furry lines

Features:
– Color Palette: the kind of color palette used in the two stages, (Gen + Gen | Gen + Map | Map + Gen | Map + Map)
– ColorGen: the color scheme for generated palette, can be “Grays” (one) or “Colors” (many)
– ColorMap: the precalculated color palette (the name)
– NoiseControl: noise control parameter, 0 – 15
– FlatControl: flattening control parameter, 1 – 19
– Rare: when “Color Palette” = “Gen + Gen” and “ColorGen” = “Grays”, each event has 25% probability so should be 6.25%

https://www.fxhash.xyz/generative/10667

Zaratan II

As for the first Zaratan, the Generative Token chooses between three primitives (cubes, spheres, triangle stripes) and places it along a new kind of parametric curve with parameters varying with noise() function as source of smooth motion.

New shapes are added layer after layer with new forms and colors.

At any time the user can pause the generation by pressing ‘p’, resume it with ‘r’ and save a 1600×1600 png with ‘s’.

Sources of variations are:
– primitives choice (3)
– initial conditions
– shapes evolution
– colors evolution (only 10% will be bi-chromatic)

https://www.fxhash.xyz/generative/9659

Zaratan

Generative Token on fx(hash) Project #8343

The Generative Token chooses between three primitives (cubes, spheres, triangle stripes) and places it along a parametric curve with parameters varying with noise() function as source of smooth motion.

New shapes are added layer after layer with new forms and colors.

At any time the user can pause the generation by pressing ‘p’, resume it with ‘r’ and save a 1600×1600 png with ‘s’.

Sources of variations are:
– primitives choice (3)
– orientation (0, 90, 180, 270 degrees)
– initial conditions
– shapes evolution
– colors evolution (only 10% will be bi-chromatic)

https://www.fxhash.xyz/generative/8343

Spherical Harmonics Insectarium

Generative Token on fx(hash) Project #7335

Spherical harmonics rendered as a surface using a parametric equation.
Parameters variations with random values (fxrand()) gives rise to various forms resembling living organism (biomorph).
Each minted token contains a unique set of 16 different biomorph disposed on a 4 by 4 grid.

https://www.fxhash.xyz/generative/7335

Cellular Neural Network #2

Cellular Neural Networks or Cellular Nonlinear Networks (CNN) are similar to Cellular Automata (CA): a grid of cells that evolve in time with local interactions with neighbouring cells.

Instead of a finite number of states for each cell (as for the CA) in CNN the cells can assume continuous values given from a chaotic oscillator and the local interactions are due to the coupling of oscillators in neighbouring cells.

With CNN is possible to model a number of physical systems described by Partial Differential Equations: Wave propagation, Heat Diffusion, Chemical Reaction-Diffusion and the likes.

In this case we have a Lorenz chaotic oscillator on each cell coupled with the 8 neighbouring oscillators.

The initial conditions, boundary conditions and coupling constant are chosen in such a way to obtain symmetrical patterns.

Here the CNN is rendered as a surface with a colormap from matplotlib (twilight).

The rendering is by means of a C++ program with openFrameworks toolkit.

https://objkt.com/asset/hicetnunc/639680

Cellular Neural Network #1

Cellular Neural Networks or Cellular Nonlinear Networks (CNN) are similar to Cellular Automata (CA): a grid of cells that evolve in time with local interactions with neighbouring cells.

Instead of a finite number of states for each cell (as for the CA) in CNN the cells can assume continuous values given from a chaotic oscillator and the local interactions are due to the coupling of oscillators in neighbouring cells.

With CNN is possible to model a number of physical systems described by Partial Differential Equations: Wave propagation, Heat Diffusion, Chemical Reaction-Diffusion and the likes.

In this case we have a Lorenz chaotic oscillator on each cell coupled with the 8 neighbouring oscillators.

The initial conditions, boundary conditions and coupling constant are chosen in such a way to obtain symmetrical patterns.

Colormap from matplotlib (flag).

The rendering is by means of a C++ program with openFrameworks toolkit.

https://objkt.com/asset/hicetnunc/609607