Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
On generative algorithms (inconvergent.net)
479 points by dave9000 on Sept 20, 2018 | hide | past | favorite | 41 comments


Warning, this series of fantastically written articles on generative art might make you feel very small and sad compared to those who are capable of not only creating but communicating beauty like this.

In other words, I highly recommend you try some generative art yourself and see that at its core, it is not that hard and YOU can do it too!


They feel like a more relatable human if you follow them on Twitter where you can see some of the ideas they're testing out:

@inconvergent: https://twitter.com/inconvergent?s=09

It's easy to forget that art and creativity is an iterative / scientific process when you just see the finished products.


I was thinking that it couldn’t feel so bad, but once I clicked on the link I was definitely in awe and then felt bad...


Any idea on what they used to generate patterns like this?

https://img.inconvergent.net/img/plot/43adc57.jpg


There seems to be two pieces to generating that particular image. The first appears to be just a sphere with lines drawn at random points on its surface. The second piece are the "motion" lines that tend to point away from the sphere's direction of motion.

The first piece seems simple enough. Pick and random point on a sphere, and draw a few lines at random orientations a very small distance from that spot with no correction for persepective.

The second piece, the motion lines, seem to be a bit more complex. But they appear to be done by choosing a random spot on a circle's circumference, choosing an angle at random which is heavily biased towards the tangent line at that point on the circumference. Choosing a magnitude (length) for that motion line. And drawing some dashed lines along that path. Then repeating some new lines along that same path but shifted a random amount perpendicular to the motion line.

[I doubt I explained that second part very well, so don't try to re-read it if you didn't get it.]


If you're asking software-wise, I believe Anders Hoff has his own big suite of Lisp code that he uses for his generative stuff.

Physically, I think he printed that one using an AxiDraw plotter.


From the looks of the repos, they're primarily using Python + Numpy + the Cairo graphics library.


Do you have any recommendations of where to start?


Processing is very popular and easy to pick up for generative art. This youtube channel has some great tutorials and walkthroughs on creating various things with it: https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw

Beyond the basics, it's also quite useful to pick out a piece of art or an effect you like and attempt to recreate it. You'll learn a lot of tricks very quickly that way.


Some amazing stuff here - https://www.contextfreeart.org/

There is also p5.js - https://p5js.org/

Kadenze has some courses that might be of interest - https://www.kadenze.com/, for example this one : https://www.kadenze.com/courses/generative-art-and-computati...


Pick any geometry library in your favorite language and start doing random things.

Create random points, connect them in random ways, create random polygons.

Then start adding constraints like minimum distances, lengths or topological ones like overlap or touch.


Processing, p5.js, Max/MSP (if you want to do audio/video), CFDG (context-free design grammars). CFDG (contextfreeart.org) has a lot of bang for the buck in terms of effort in to quality of output out.


Hmm, no need to feel like that. There are so many wonderful things in the world. Creativity is additive — even if you only do something small, it still matters.


> Creativity is additive — even if you only do something small, it still matters.

This is a wonderful quote, which I'll probably steal. (Is it original to you?) Thank you!


Creativity is additive as far as money's not involved.


When I was a kid (in the 90s), one of the computer periodicals in Poland at the time had a column titled "Mikroprofesor", which run a lot of simple and beutiful algorithms for generative art like these. I loved the images and even tried coding some of them (I think they always came with some pseudocode). I wish there was some online archive of the articles, but unfortunately I couldn't find one (the magazine was named "Enter"; I can't recall the name of the column author however).


Sounds interesting. FWIW, A search for "Magazyn Enter" (the publisher is Lupus?) at archive.org turns up a handful of downloadable cover CDs from 1999. I didn't see any references to Mikroprofesor in the one ISO I checked. Just FYI, if it helps anyone sleuth.


A.K. Dewdney's "Computer Recreations" column in Scientific American in the 1980s also had early examples of algorithmic art - I bet you'd have loved those!


@Anders Hoff, thank you for making your site work just fine with javascript disabled. I really appreciate that.


The father of all of this is William Latham.

https://www.doc.gold.ac.uk/~mas01whl/

(or John Conway, but that's another league)



Hard to define a beginning but "The Algorists" such as Roman Verostko, Frieder Nake, Manfred Mohr are probably a better reference for a starting point http://www.verostko.com/algorist.html

Or possibly Lillian Schwartz's work at Bell Labs http://lillian.com/


The Hyphae image (and the trees) have a result that's very similar to Diffusion Limited Aggregation, but the method of generation is very different.

IMO the Hyphae way is actually less cool than plain DLA. The algorithm had a lot of degrees of freedom that were selected randomly, while DLA has very few degrees of freedom and gives a cooler shape

I guess the point is that sometimes a simpler algorithm can give more interesting results for this kind of thing


DLA is super awesome, but if you're starting from a point, it takes a lot of computation. Or, rather, what we thought of as a lot of computation around 1990. Hoff's version of "Hyphae" is orders of magnitude less computationally demanding.

In a lot of cases, if you're willing to throw a massive amount of computation at a morphogenetic problem, you can get a higher coolness-to-algorithmic-complexity ratio.


About half a decade ago I had added a random blot generation to my now-unmaintained-site https://web.iiit.ac.in/~paresh.verma/. I have spent a few hours generating random blots, and trying to interpret them. Adding more structure to it, with an algorithm should make it more interesting and entertaining.


There's but a fine line between generative algorithms used for the purposes of arts and entertainment

and those used for programming itself.

Formerly referred to as meta-programming

generative programming is the art of writing programs that help generate programs

sort of a way of extending the idea of the tool as in programming tool

beyond its current rather static avatar that consists merely of a rather lifeless IDE


Honestly, given the unreasonable effectiveness of (de-)compression algorithms, and the plethora of "I built a CPU in [insert PCG game here]" articles, I think it's a line of negative width.


strange


These are very beautiful. Very organic, yet strictly mathematical.

Many of these techniques have practical applications in computer graphics; see for example https://www.youtube.com/user/keeroyz/videos


I was fascinated by Jared Tarbell's work and his website some time ago: http://www.complexification.net/gallery/


One of the reasons why I like to follow generative algorithms its extremely unique and wildly diverse at the same time. It is a combination of geometry, design, art & programming that tries to mimic nature.


I wonder if these algorithms have been applied to sound generation....


He does a great job of explaining stuff that seems very hard in a way that is intuitively very implementable.

I've been a fan of his for years and have ported some of his stuff to my own robots...


Awesome work! Any one knows why did the author closed the shop?


Davinci pointed out that a tree’s thickness is constant if you slice it in a semi circle. https://fractalfoundation.org/OFC/leonardotree1.jpg

That is, if you face a tree and draw a circle with your arm, and add up all the thicknesses your fingers intersect, the total will always be the same.

https://www.insidescience.org/news/uncovering-da-vincis-rule...


That second link you gave puts it very well:

> In other words, if a tree’s branches were folded upward and squeezed together, the tree would look like one big trunk with the same thickness from top to bottom.

Absolutely fascinating!


In forestry, they teach that as "pipe model". I am unable to track down how long that observation has been known in forestry, but I found this 1964 paper that attempts to build on the observation (already known in 1964) and build a theory.

https://www.ncbi.nlm.nih.gov/pubmed/29370362

The modern understanding is that the pipe model holds only approximately.


It's kinda nice, how you can take a bunch of metal wires to make a tree trunk, and start separating them and folding them into branches, and separating and folding into smaller branches, and this can give pretty realistic looking trees.

https://diyjoy.com/wp-content/uploads/2016/06/WireTree.jpg

https://www.thisiscolossal.com/2014/10/dense-wire-tree-sculp...

https://www.youtube.com/watch?v=g0tj_ZLpv80


Everyone who liked this should like to read on Generative Adversarial (Neural) Networks, generative models where a pair of neural networks are trained one against the other to learn to generate new images. This has been put to many great purposes, including artistic ones: https://towardsdatascience.com/gangogh-creating-art-with-gan...


No it's a completely different interest and skillet. Not everything can be boiled down to "datascience can fix it!". Especially when all those NNs will just generate art that's a mashup of the training data and won't have any real inspiration. Unexpected results is not inspiration.


Using GANs for art is not necessarily limited to training on a collection of famous artists to replicate their style.

Some artists use them as another tool to process and transform their artwork https://thegradient.pub/playing-a-game-of-ganstruction/

I'm pretty sure that the invention of photography was also greeted with complaints that it lacked "real inspiration" because a photographer "just" had to choose what to take a picture of. But the real inspiration is always in what you choose your art to be, and not whether you create it by applying paint to a canvas.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: