HN user

inconvergent

71 karma

https://inconvergent.net

Posts2
Comments28
View on HN
Spurious Splines 4 years ago

i don't disagree, but i also don't think i want to dig into a 6 year old js build right now

Spurious Splines 4 years ago

2016 is accurate. and thank you!

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.

Depth of Field 7 years ago

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...

Depth of Field 7 years ago

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.

Depth of Field 7 years ago

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).

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.

i don't know what a free monad is.

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.

one of the reasons i'm interested in this particular pattern is described further here: http://inconvergent.net/a-method-for-mistakes/.

Thanks a lot. This looks interesting. I'll definitely look into it. I don't think I'm qualified to say whether it is possible at this point, but my guess is that it is very possible!

Thanks. No, I've been using python/cython because I know it well already. I've considered learning a functional language though. So I'd be happy to get suggestions. Eg. I would choose a language that has a decent community as well as some good tools for drawing/pixel manipulation/3d modelling, depending on what's available (honestly I haven't researched it at all yet).

Differential Line 11 years ago

Nope. It might happen. There is no comprehensive system to avoid collisions. (I'm the one who wrote the code)