Plastica

Plastica

In physics plasticity refer to irreversible deformation, in biology plasticity refer to adaptiveness to varying condition i.e. the capacity of the nervous system to modify itself in response to experience.

Plastica is a real time endless generative animation of a periodic surface continuously deformed by noise (FBM) with ray-marching rendering that gives a plastic look and behavior.

The shapes formed by maximum and minimum of the rendered surfaces, even if completely abstract, can be viewed as something halfway between synthetic and organic matter. The variety of the 23 palettes contributes to this synthetic / organic vision.

The rendering is implemented in vanilla Javascript WebGL with GLSL shader. The hash of the blockchain transaction is used to seed the PRNG (Pseudo Random Number generator) giving rise to features variation in the minted pieces.

Requires a WebGL compatible browser and a recent PC with GPU.

Technical specs:

Endless generative animation | HTML, VanillaJS, WebGL (no external libraries) | 11.1 KB | 100% on-chain | 5 features/traits: [Palette (23 palettes); Surface (8 kind of different surfaces); FOV (in arbitrary unit); Angle; Scale]

https://generative.xyz/generative/1003606

Materia Fluida

Materia Fluida

A real time endless generative animation in vanilla Javascript WebGL GLSL.

The GLSL shader generates a warped FBM noise and applies convolution kernels for the Unsharpen and Sobel operators. The Sobel operator provides both the magnitude and direction of the gradient, one is used to highlight edges, the other to achieve a shading effect.

The main parameters for the animation can be chosen with the fx(params) interface.
The minted iterations will differ as the noise generation is seeded via fxrand().

The animation can be rendered in fullscreen at 16/9, 9/16, or 1/1 aspect ratio.

Requires WebGl compatible browsers.

Parameters
———-
Palette
– select palette
Noise Scale
– zoom in the noise field
FBM Octaves
– choose how much octaves in the FBM [4, 5, 6, 7]
Speed
– speed of animation
Warp Kind
– select the warping method [five kind]
Coeff. Noise
– amount of the main noise field
Coeff. Unsharp
– amount of unsharp filter
Coeff. Sobel
– amount of edge highlight
Coeff. Gradient
– amount of shading effect
Grain
– amount of added grain noise

Interactivity
————-
[1] 1080×1080 [2] 1920×1080 [3] 1080×1920
[4] 2160×2160 [5] 3840×2160 [6] 2160×3840
[f] Fullscreen

[z]/[x] => -/+ Contrast
[c]/[v] => -/+ Brightness
[r] => Reset Contrast and Brightness

[s] Save a png in current resolution

https://www.fxhash.xyz/generative/slug/materia-fluida

Materia

Materia

About the previous work (YANF) and during the development of this new one some people told me that it looks like carved in wood or metal or made of silk or felt, that they would like to touch it. From these considerations I decided to call this new work ‘Materia’.

This new abstract work follows the lines of the previous work (YANF) going further in the direction of conveying a material sensation.

Here in contrast to YANF the main field-generating functions are semi-random combinations of transcendental, polynomial and irrational functions instead of noise.

The field generated by the randomly chosen function is perturbed with different kinds of noise at different scales to obtain variety and more natural look at the same time.

The gradient orientation of the field is used to modulate luminosity to give the impression of lights and shadows even if all is drawn with bi-dimensional object (no 3D).

The final step of adding flow lines along the contour, together with previous step for lights and shadows, leads us to the final result which gives us the feeling of a material object that could be touched.

Function names were generated by ChatGPT after reading this description, I don’t know why all those divine, celestial, mystic, …

The palettes used are a subset of the Studio Yorktown Color Town Hall MIT licensed palettes with two exceptions (‘ABBA’ and ‘BAAB’).

Default resolution: 2000×2000

[2] to redraw at double resolution (4000×4000 – it takes four times then default)
[1] to redraw at default resolution
[s] to save a png at current resolution

Sources of variations are:
– 36 palettes
– 32 field generating functions
– 2 phase parameters each with 8 possible values
– 2 types of noise
– 2 values for scale (high, low)
– added noise at fine scale (True, False)
– colors banding (True, False)

Developed with p5.js, FastNoiseLite.js and chroma.js libraries.

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/materia

YANF

YANF

Yet Another Noises and Flows

After three works on landscapes I returned to an abstract work in which I used several kinds of noise fields and a different approach to flow lines.

In this work I use three intermediate images to generate the final image:
– on the first image to each pixels is assigned a color related to the value of the noise field in that point using the main color palette
– on the second image the gradient orientation (angle) of the field is used to assign colors using a secondary palette with the purpose of giving lights and shadows to the final image
– on the third image flow lines are drawn using the direction perpendicular to the gradient, in this way the flows are aligned to the contour lines

After the second and third step the new generated image is blended with the previous giving rise to the final image.

Developed with p5.js

Default resolution: 2400×1600, 1600×2400, 2000×2000 (3/2, 2/3, 1/1 aspect ratio)

[2] to redraw at double resolution (it takes four times then default)
[1] to redraw at default resolution
[s] to save a png at current resolution

Sources of variations are:
– 14 palettes
– 6 kinds of combinations of noise type and fractal type
– 8 kinds of cuts
– 3 kinds of aspect ratio
– 3 border thickness

This Generative Token uses the FastNoiseLite.js and chroma.js libraries.

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/yanf

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