In my latest works I used warped FBM noise as a tools.
Here, in this #tezos4tezos drop, is used directly to generate the token.
The results resemble natural phenomena as turbulence, fluid mixing, erosion.
My works on generative graphics and creative coding
In my latest works I used warped FBM noise as a tools.
Here, in this #tezos4tezos drop, is used directly to generate the token.
The results resemble natural phenomena as turbulence, fluid mixing, erosion.
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:
Sources of variations are:
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
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:
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
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%
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)
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)
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.
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.
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.
Cellular Automata (CA) model for Belousov–Zhabotinsky (BZ) Reaction Diffusion system.
In BZ system non linear chemical oscillators give rise to pattern formation, large scale ordered patterns emerge from chaotic initial conditions.
The CA model gives rise to spiral waves patterns using only local interactions.
The periodic boundary conditions used in the CA gives a natural mapping on a torus.