Settings

Theme

Weird: Generative Art in Common Lisp

github.com

267 points by alaq 4 years ago · 22 comments

Reader

andybak 4 years ago

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

shagie 4 years ago

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]
  }
podiki 4 years ago

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

coldcode 4 years ago

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

  • inconvergent 4 years ago

    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.

    • bmitc 4 years ago

      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.

marban 4 years ago

Awesome! Anyone seen an equivalent in Python?

  • dahart 4 years ago

    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.

    • hangtwenty 4 years ago

      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)

    • b3morales 4 years ago

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

  • inconvergent 4 years ago
    • stoicjumbotron 4 years ago

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

      • inconvergent 4 years ago

        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.

        • stoicjumbotron 4 years ago

          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.

Epitom3 4 years ago

pretty!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection