Hacker News new | past | comments | ask | show | jobs | submit login
Weird: Generative Art in Common Lisp (github.com/inconvergent)
267 points by alaq on Dec 13, 2021 | hide | past | favorite | 20 comments



I've been trying to track that top image down for ages. This faux bokeh was a big inspiration for a VR piece I made: https://andybak.net/gossamer

(By "faux" I just mean this isn't simulating optics to any great level of realism)

I knew it was by inconvergent but I didn't think of looking on Github for some reason.

My implementation was actually different - I based mine on the work of Keijiro Takahashi: https://github.com/keijiro/VfxBokeh


in the event that you haven't seen it: https://inconvergent.net/2019/colour-shift/


I hadn't spotted that. That's much more digestible (and this page also: https://inconvergent.net/2019/depth-of-field/ )

How do you feel about the recent explosion of interest in generative art? Rather bizarrely it seems that people seem to think it developed out of crypto/NFTs and are unaware that people were doing it before it became hitched to this dubious trend. Do you think it will become tainted by association or can it actually benefit from all this attention?


That's really beautiful, awesome work and explanation of how it was done!


thank you!


For those inspired by this, they may also like context free art - https://www.contextfreeart.org

For example: https://www.contextfreeart.org/gallery/view.php?id=4223

  startshape lightning 
  
  shape lightning
  
  rule 20 {
      CIRCLE[r -60..60]
      lightning[y -1 s 0.99 r -10..10]
  }
  
  rule 1 {
      CIRCLE[r -60..60]
      lightning[y -1 s 0.5 r -50..-20]
      lightning[y -1 s 0.99 r -10..10]
  }
  
  rule 1 {
      CIRCLE[r -60..60]
      lightning[y -1 s 0.5 r 20..50]
      lightning[y -1 s 0.99 r -10..10]
  }


Beautiful, and in Common Lisp just makes it that much better for me. Thanks for sharing!


As a generative artist I love seeing what other people do. Sadly I am not conversant in CL so its difficult to understand.


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.


I'm curious if you have any thoughts on doing the art stuff full time. I also have a mathematics background, and I have been working towards getting into digital art (not just generative art). While I work in software engineering now, having a more explicitly "creative" job has always seemed interesting to me. It seems there's a place out there for stuff like this, getting to consult with things like movie production and other art installations, for example.


it hasn't seemed realistic for me so far


Awesome! Anyone seen an equivalent in Python?


Nodebox 1 is an amazing Mac only Python library & GUI for visual programming & generative art. https://www.nodebox.net/code/index.php/Home.html

Processing comes in a Python flavor as well, and is cross platform. https://py.processing.org/

BTW, it’s incredibly easy in Python to make generative art in many styles including the ones in this article using only an image output library.


Whoa, NodeBox! Back when I was doing my first big coding project, NodeBox 1's Linguistics library was really helpful for me. (https://www.nodebox.net/code/index.php/Linguistics.html)

> The library bundles WordNet (using Oliver Steele's PyWordNet), NLTK, Damian Conway's pluralisation rules, Bermi Ferrer's singularization rules, Jason Wiener's Brill tagger, several algorithms adopted from Michael Granger's Ruby Linguistics module, John Wiseman's implementation of the Regressive Imagery Dictionary, Charles K. Ogden's list of basic English words, and Peter Norvig's spelling corrector.

It was in college and I was learning to code as I went (I was a humanities/lit major). I was using NLTK and some other libraries, piece-wise, but NodeBox Linguistics bundled libraries I couldn't get working/installing right at the time. (I could not afford a Mac so I was working in a Linux VM. Although its GUI is Mac-only, the NodeBox libraries aren't Mac-only. Just noting that for passers-by.)

NodeBox Linguistics proved to be critical-path to the project. And that project was formative for me, so it gives me the warm-fuzzies to encounter NodeBox again. Thank you for sharing it! I should join the forum...

----

More info about NodeBox 1 libraries:

> Libraries, add-ons and extensions that make complex things like image manipulation, vector drawing and linguistics easy.

https://www.nodebox.net/code/index.php/Library.html

----

I do use Mac these days but cross-platform note:

- NodeBox 1's libraries are not all Mac-only

- NodeBox GL has cross-platform libraries (though its GUI is Mac-only)


Also NodeBox has a successor in PlotDevice: https://plotdevice.io/ (although I have not actually used it myself).



How difficult (verbose?) do you think it is to replicate once of your pieces in p5?


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.


Thanks for the detailed reply. I meant p5.js instead of the python version so thanks for mentioning that as well. And yes, I was asking just out of curiosity how long it would take you(specifically) if you did the same piece in p5.js as well as in your system given your experience in the field.


pretty!




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

Search: