Add README.md with some basic information

This commit is contained in:
Chris Hodapp 2020-07-11 16:24:36 -04:00
parent f92b4c136e
commit 3e4804bced

34
README.md Normal file
View File

@ -0,0 +1,34 @@
# curlnoise
A [Quil](http://www.quil.info/) sketch which implements what is
described in [Curl-Noise for Procedural Fluid
Flow](https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph2007-curlnoise.pdf).
Very much a work-in-progress as I am not especially experienced in
Clojure, nor in the mathematics of this paper.
## Usage
This runs in both Clojure via `lein run`, and ClojureScript via `lein
compile` or `lein figwheel`.
Uncomment the `(run-sketch)` and the below should work:
- LightTable - open `core.clj` and press `Ctrl+Shift+Enter` to evaluate the file.
- Emacs - run cider, open `core.clj` and press `C-c C-k` to evaluate the file.
- REPL - run `(require 'quil_perlin.core)`.
## TODO
- Better docs.
- Make things more interactive, e.g. let the user place obstacles.
- Factor out the potential function rather than burying it in
`update-state`.
- Visualize amplitude function & potential function. I have
`draw-field` which `show-fn` enables, but it is rudimentary.
- Figure out reasonable boundary behavior. I'd like to do toroidal,
but I would need to gradually blend the potential function at the
edges for this to work right (otherwise particles are just stuck at
the boundaries due to the discontinuity).
- Use 'real' simplex or OpenSimplex noise implementation that has a
gradient instead of doing it numerically?