Writing

Generative-Art

r/processing on Reddit: Coding From Scratch - Quadtrees

Our project this week was a quadtree - a neat little structure which lets us efficiently track all of the objects in our game's world. These are particularly useful for collision detection, and any situation where you need to quickly identify all of the objects in a particular region. It's also a re…

Read article →

Langton’s Ant, the rules – Isdinval's Coding Experiments

It was invented by Chris Langton in 1986 and runs on a square lattice of black and white cells.[1] The universality of Langton’s ant was proven in 2000.[2] The idea has been generalized in several different ways, such as turmites which add more colors and more states.

Read article →

Langton's ant - Wikipedia

Emergent order. Finally the ant starts building a recurrent "highway" pattern of 104 steps that repeats indefinitely. All finite initial configurations tested eventually converge to the same repetitive pattern, suggesting that the "highway" is an attractor of Langton's ant, but no one has been ...

Read article →

Domain Coloring

This will be a discretized domain $D_h$ for the function $f$. Every pixel $i$ is identified with a complex number $z_i$ where $f$ is evaluated. Then calculate the phase of the value $f(z)$ and its corresponding color. Finally assign the resulting color to that pixel. This procedure is shown in the a…

Read article →

Maze Generation: Growing Tree algorithm - Buckblog

@qball, the demos are actually written in CoffeeScript, which compiles to Javascript. The CoffeeScript sources are on Github, at https://github.com/jamis/csmazes. The code is all public domain, so you can do with it what you will, but it should be noted that the code is optimized for animating the a…

Read article →

Maze generation algorithm - Wikipedia

This algorithm, also known as the "recursive backtracker" algorithm, is a randomized version of the depth-first search algorithm. Frequently implemented with a stack, this approach is one of the simplest ways to generate a maze using a computer. Consider the space for a maze being a large grid ...

Read article →

Curl Noise Explorations With IlluGen

That alone would only give us vectors ... this case 90°. To ensure the noise is divergence free we then need to use a levels node to inverse our Noise input and you can do this by flipping the remap curve in the node....

Read article →

Procedural Terrain Generation: Diamond-Square

Starting with the four corner values, it finds the midpoint of that square, which generates diamonds. Then, it sets the value of the midpoint of each new diamond. This essentially displaces midpoint values (plus a random amount) the same way 1D midpoint-displacement does.

Read article →

Diamond-square algorithm - Wikipedia

The diamond-square algorithm is a method for generating heightmaps for computer graphics. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landscapes. It is also known as the random midpoint displacemen…

Read article →

Digital Marbling | Amanda Ghassaei

In the process I also created a simple file format for importing marbling combing patterns into my app; this allowed for easier interop with other programs I was using. It might also be interesting to generate velocity fields to apply directly to the fluid simulation; there is no reason you have to …

Read article →

Genetic Images interactive exhibit by Karl Sims, 1993

This interactive installation is an unusual collaboration between humans and machine: the humans supply decisions of visual aesthetics, and the computer supplies the mathematical ability for generating, mating, and mutating complex textures ...

Read article →

Blog - Elementary Cellular Automata

By convention the Wolfram code associates the leading bit with ‘111’ and the final bit with ‘000’. For rule 30 the relationship between the input, rule index and output is as follows: for i in range(8): triplet = np.binary_repr(i, 3) print(f"input:{triplet}, index:{7-i}, output {rule[7-i]}") input:0…

Read article →

Chaikin Curves in Processing · Sighack

Here is another example where you can use deformed polygons (i.e. a regular polygon with some random perturbation in each vertex) as an input to the Chaikin corner-cutting algorithm to produce blob-like shapes: Here is a similar idea to generating blobs as above, but instead overlaying them on top o…

Read article →

How to glitch images using pixel sorting | Datamoshing

To get started download and install ... pixel sorting script to start from, my own pixel sorting scripts are not written for Processing so for the purposes of this tutorial we’ll use a popular script made available by glitch artist Kim Asendorf, the ASDF Pixel Sort....

Read article →

How I Created LowPolygonArt.com

In geometry, the circumscribed circle or circumcircle of a polygon is a circle that passes through all the vertices of the polygon. Consequently, the Delaunay Triangulation allows us to reduce the number of thin and irregular triangles. This short video does a fantastic job of further explaining how…

Read article →

Islamic star patterns from polygons in contact

With this method, any geometric girih can be mapped onto a 3D surface, and under the right conditions, any 2D designs and motifs can also be mapped. We implement the proposed method in Grasshopper for Rhino 8 for Win, controlling the density ...

Read article →

Two algorithms for randomly generating aperiodic tilings

In the previous section, I’ve shown how all three of our aperiodic tiling types (P2, P3, hats) can be generated by repeated subdivision of a starting tile, followed by a final postprocessing step. (In the two Penrose cases, gluing half-tiles back together into whole ones; in the hat case, substituti…

Read article →

Metaballs and Marching Squares - Jamie Wong

The Marching Squares algorithm generates an approximation for a contour line of a two dimensional scalar field. Put in another way, if we have a 2D function, this will find an approximation of a line where all points on the line have the same function value.

Read article →

Lenia - Wikipedia

As a consequence of its continuous, ... generated in Lenia are described as differing from those appearing in other cellular automata, being "geometric, metameric, fuzzy, resilient, adaptive, and rule-generic". Lenia won the 2018 Virtual Creatures Contest at the Genetic and Evolutionary Computation …

Read article →

Supershapes / SuperFormula

One is to use the built-in parametric primitive, doing it this way would result in the highest resolution/quality results unfortunately the rendering times proved to be prohibitive. The approach illustrated below is to write a macro in the PovRay scene language. The macro and an example of it's use …

Read article →

Tutorials

Start from scratch or expand your skills with step-by-step lessons in p5.js.

Read article →

Superformula - Wikipedia

The superformula is a generalization of the superellipse and was proposed by Johan Gielis in 2003. Gielis suggested that the formula can be used to describe many complex shapes and curves that are found in nature. Gielis has filed a patent application related to the synthesis of patterns generated .…

Read article →

BIT-101 [2017-2023] | Coding Curves 05: Harmonographs

But, these devices operate on the principles of physics. And the formulas that control them are known. We can use these formulas to create a virtual harmonograph. We’ll start with a simple, single pendulum version. But first, let’s revisit our Lissajous curve formula:

Read article →

Abelian sandpile model - Wikipedia

In further joint work with Lionel ... the fractal structure of the sandpile on square grids. Another scaling limit, when the relaxations of a perturbation of the maximal stable state converge to a picture defined by tropical curves, is established in works of Nikita Kalinin and Mikhail Shkolnikov. A…

Read article →

Generating Blue Noise w/ Poisson Disk Sampling

It is often used in procedural generation techniques to place objects during terrain generation that require a roughly even distribution across a landscape. This post will go into an implementation of Poisson Disk sampling, a super straightforward blue noise generator that I've been using on ...

Read article →

Art from code V: Iterated function systems – Notes from a data witch

Armed with the fern_transform() function, we can write a fern_chaos() function that implements the chaos game for the Barnsley fern. The arguments to fern_chaos() specify the number of iterations over which the game should be played, and (optionally) a seed to control the state of the random number …

Read article →

Weighted Voronoi Stippling / The Coding Train

Voronoi Diagram colored by areaSketch demonstrating how to map area of a polygon to color. Lloyd's relaxationImplementation of Lloyd's relaxation algorithm. Weighted Stippling - Size and ColorStippling with RGB dots and size tied to brightness. Weighted Stippling - Abstract PatternImplementation of …

Read article →

Michael Fogleman: Physarum Simulation

Inspired by Sage Jenson's article on simulating the Physarum polycephalum slime mold. The algorithm is surprisingly simple, given how complex its outputs appear. That's the magic of generative algorithms! There are several configurable parameters, which are randomized for each run.

Read article →

Modeling Trees with a Space Colonization Algorithm

the proposed method is the space colonization algorithm · (Figure 1b and c), which treats competition for space as the · key factor determining the branching structure of trees. It is · a 3D extension of the algorithm for generating open leaf ve- nation patterns proposed by Runions et al.

Read article →

Circle Packing | Generative Artistry

generative artistry · tutorials • podcast • rss · ➵ · Circle packing is such a fantastic effect, it looks infinitely complex, while also being mathematically beautiful. In this tutorial, we’re going to create a circle packing effect… Interestingly, this is a good example of an effect that isn’t part…

Read article →

Differential Growth: An Exploration

of simulation methods that autonomously generate art which mimics organic growth. Innovators in the · study of the relationship between growth and natural forms were Ernest Haeckel, D’Arcy Thompson, Alan Turing, Greg Turk, and Aristid Lindenmayer [6]. ... Morphogenesis, the process of organ ...

Read article →

Reaction-diffusion models and Turing patterns - Nils

A typical such pattern resembling the puffer fish skin in Figure [header] can be seen in Figure [fishpattern]. The model consists of two chemicals that move through diffusion and react in such a way that one _eats_ the other. ![Figure [fishpattern]: Typical Turing pattern simulated using the ...

Read article →

Getting Creative with Perlin Noise Fields · Sighack

TL;DR: I made twenty five different designs using only Perlin flow fields, a simple generative algorithm. Scroll down to see the results. All Processing code for this article, along with images and animated GIFs, can be found on Github

Read article →

Collecting the Algorithm: Fidenza | Curated

Throughout the decade after, he would pen a number of canonical essays that moved forward thinking in the on-chain generative art movement, including The Importance of Generative Art, The Rise of Long-Form Generative Art, and Flow Fields, a piece that dove into the foundational algorithm that would …

Read article →