at some point several people asked me whether it was inspired by enso (i didnt know about enso at the time) or whether i was involved in the Arrival visual effects (i was not) because of this higher resolution rendition of the same algorithm https://img.inconvergent.net/generative/78b7266.html
with danger of nitpicking: it's more meta programming that has drawn me to lisp (rather than functional programming). the most recent post on my site describes an aspect of this (datalog for drawings as graphs in common lisp). i figured the distinction is worth pointing out
i find that hard to estimate. a day or less for some. i ported the webby thing to vanilla js in a couple of days. might have been slightly faster if i used p5js. but others might take weeks or even months. depending on how much experience you have spent working with graph structures for example. as with a lot of programming it's not always that hard if you know precisely what you are making (if you have done it before.) related: someone who has not done a lot of generative art might be surprised by how complicated some things are and others aren't. not always obvious from the visual result. edit: i guess maybe you just meant how long it would take me. but the answer is sort of the same.
the most interesting part (as far as i'm concerned. i have some bias here ...) is the stuff about manipulating the graph structure. the concept is described in the readme, and does not rely that heavily on CL knowledge. it's not that the method is new or anything, just that i think it's a neat way to think about it. if you are interested in the code at large, then, yeah .. this isn't a good intro to CL.
there are some references on my website. see the faq and the generative section. there are many ways to start. depends on your previous knowledge and how you prefer to work. the nature of code is a book that might be of interest. Nervous System have written up several of their projects. then there is the work by early generative artists. Vera Molnar, Frieder Nake, Manfred Mohr, Lillian Schwartz, among others. also, see https://github.com/terkelg/awesome-creative-coding/blob/mast...
yeah, i'm going for easy. and also, easily explainable. i like to leave some of the details up to whoever tries it. which is also why i generally don't include code anymore. i guess i could have had more references though.
sphere sampling has the appearance i want. but sampling inside discs with a probability over the disc radius would also work, probably. i didn't try it here.
you get unwanted artefacts in the results if you don't use some randomness. having said that, there might ways of reducing the need for it (which would be more efficient).
Another way to look at it is that you need Pinterest results in google image search in order to help finding content on Pinterest that infringes your copyright.
I'm not sure about how you would efficiently do this. (I'm not experienced with pure functional programming.) cloning the entire structure for every applied function sounds like it will be slow? is that not what you will have to do in practice?
i basically want the alterations to change the data structure, and i want them to do it according to a particular priority eventually. atm there is no priority ordering.
i can already make (almost) arbitrary functions, but you have to register them ahead of time, and they have to follow a particular pattern: http://inconvergent.net/arbitrary-alterations/. this is so that i can control the order in which they are applied, eventually.
not sure if there are any advantages. this is an experiment i'm working on because i find it interesting. separating the data structure from the instructions that attempt to manipulate it has the advantage of making it easier to deal with the state [the state is not changed inside (with-snek ...)]. basically it's a kind of map-reduce. i'm sure you can achieve this in multiple other ways as well.