

Show HN: De Jong Attractor visualization - cjlarose
http://cjlarose.com/de-jong/

======
cjlarose
Written in Clojurescript using Om (React) and THREE.js. Code at
[https://github.com/cjlarose/de-jong](https://github.com/cjlarose/de-jong)

~~~
markc
Very cool!

Nice UI touches too, e.g. maintaining js/history and show/hide editors. I
notice the app state is captured in the URL which lets you save a favorite
shape. Neat.

What does the throttling do? And what happens without it?

I'd enjoy reading someday about how you developed this (w/ annotated source)
and your experiences using core.async, Om, figwheel, etc.

Thanks for sharing it!

~~~
cjlarose
Yeah, so the application state is captured in the URL with throttling. The
behavior isn't too different from Underscore/Lodash's throttle function
([https://lodash.com/docs#throttle](https://lodash.com/docs#throttle)).
Basically, you can click and drag the range sliders to update the
visualization pretty rapidly. If I updated the URL with
windows.history.pushState every time the state changed for a single keyframe,
it would overload the history and be a pain to hit the "back" button. So
instead, I throttle calls to pushState so it fires no more than every 500ms.

I think it might be too to do a write-up. I definitely learned a lot doing it!

------
kriro
Pretty awesome. Any specific reason for picking the de Jong attractor (other
than the fact that it's pretty)? I usually see Lorenz attractors in tech demos
so I'm curious :)

~~~
cjlarose
I first found out about the de Jong attractor from a talk recently at the
Clojure West conference.
[https://www.youtube.com/watch?v=vLlbEZt-3j0](https://www.youtube.com/watch?v=vLlbEZt-3j0).
I found a few videos around where people were animating between different
plots of the attractor, but nothing interactive.

------
317070
The website is completely black in Chrome 43.0.2357.65 (64-bit) on Ubuntu.

~~~
cjlarose
Uh oh. I don't have a VM up and ready, but I'll check it out when I do. Thanks
for letting me know!

