Have you ever considered a gun?
Variations of “Pythagoras tree” in space, using Structure Synth.
Check out HD versions in Youtube
Variaciones del “Árbol Pitagórico” en el espacio, usando Structure Synth.
Ver versiones HD en Youtube
I played EarthBound for days on end as a kid. Fond memories. This was my interpretation of the town of Onett from the game.
Here’s what I’ve learned so far about turning your Processing sketches into animated GIFs. There are obviously a couple of different ways to do this but here’s mine (and feel free to correct me or to point out better/simpler ways!).
(1) Let’s start at the end: roughly speaking, the animated GIF should not be bigger than 500x500 pixels, not have more than 30 frames in it and be less than 1 Mb in size. If your animated GIF adheres to these rules then Tumblr will usually accept it without a hitch.
But sometimes my 30-frames aGIFs are less than 1 Mb so I then try to add more frames. And in most cases, as long as I stay around the 1 Mb size, this will work as well. But sometimes it won’t and Tumblr will only display one static frame. Why? I don’t know. After reducing the number of frames it’ll usually work again.
I’ve also successfully uploaded a couple of aGIFs of around 1.2-1.3 Mb in size. But the upload of similarly sized files has failed at other times. Why? Again, I don’t know and simply try to get the aGIF down to 1 Mb then.
(2) As for creating the frames of the aGIF in Processing in the first place, I simply add the ‘saveFrame(“image-####.gif”)’ command to the draw() section of my sketch. Usually inside an if condition like “if (frameCount % 5 == 0 && frameCount < 151) saveFrame(…);”.
Of course that won’t necessarily result in a nice looping animation. But that mainly depends on what kind of animation you’ve created in the first place, of course.
Animations that will result in nicely looping GIFs are often created using the sin function. Let’s say the angle/theta is increased by 0.05 each time: in that case one full loop is made of 125 frames (TWO_PI/0.05). Since Tumblr likes 30 frames best that means that I need to save every 4th frame (125/30) in order to get a nice looping animation as the result so I will write something like this: if (frameCount % 4 == 0 && frameCount < 121) saveFrame(“image-####.gif”);
Once I have those 30 GIFs I use GIFSICLE (or www.gifmaker.me) to stitch them together. If the result is less than 1 Mb then I might tweak my IF condition in order to then save every 3rd image instead of every 4th image to have a smoother animation while still being under the 1 Mb limit.
And well, that’s it.
[note: for a 100% smooth sin loop animation it’s better to adjust the increment to a value that will result in exactly 120 frames (or any other multiple of the number of frames that you want) - in the above case it would be TWO_PI/120 = 0.0523 instead of simply 0.05]
Thanks for this.