background preloader

Generative Art

Facebook Twitter

A Return to Machine Learning – Medium. Convolutional Neural Networks On June 16th, 2015 Reddit erupted in a furious debate over this image of a “puppyslug” (originally “dog-slug”), posted anonymously with the title “Image generated by a Convolutional Neural Network”.

A Return to Machine Learning – Medium

Machine learning researchers and hobbyists were quick to argue over whether it could possibly be the work of a neural net as claimed, or if it was some other algorithm, or even somehow handcrafted. The deleted comments littering the thread only added to the mystery of the image’s origins. About a week later a Google Research blog post appeared titled “Inceptionism: Going Deeper into Neural Networks” with other similar images, effectively confirming the origin of the “puppyslug”.

Soon after, Google released code called “Deep Dream” that anyone could use to recreate these images. While Deep Dream may have been the first moment a neural net captured the public’s imagination, they’ve seen plenty of success in everyday life. GitHub Audio. How To JS Animate. RequestAnimationFrame for smart animating. If you’ve never written code to animate inside the browser, you can stop reading :) What is requestAnimationFrame?

requestAnimationFrame for smart animating

In your animation work, you’ve used a timer loop to make changes every few milliseconds. Good for us: browser vendors have decided, “hey, why don’t we just give you an API for that, because we can probably optimize some things for you.” So it’s basic API for use with animation, whether that be DOM-based styling changes, canvas or WebGL.

Why should I use it? The browser can optimize concurrent animations together into a single reflow and repaint cycle, leading to higher fidelity animation. OMG I can brag about having a site with battery-friendly animations? Yeah bro. How should I use this? Note: I am using ‘requestAnimFrame` here because since the spec is still in flux, I don’t want to make a straight polyfill, yet. 2012.01.07: The spec has gotten some fixes and settled down. A robust polyfill I have this polyfill available as a gist as well. Let’s see that in action. JavaScript Animation Basics. How To Create A Simple JavaScript Animation (CLASS HUW161) How To Create A Simple JavaScript Animation (CLASS HUW161)

Animation. Usually, a framework handles the animation for you.

Animation

However, you may wonder how the animation is implemented in pure JavaScript, and what are the possible problems. Understanding the technique is also essential to create complex animations. Even with the help of frameworks. The basics of the animation The JavaScript animation is implemented as gradual changing of DOM element styles or canvas objects.

The whole process is split into pieces, and each piece is called by timer. The pseudocode is: The delay between frames is 10 ms here, which means 100 frames per second. In most JavaScript frameworks it is 10-15 ms by default. If the animation requires many calculations, CPU may get 100% load, and things become sluggish. We’re using setInterval, not recursive setTimeout, because we want a frame once per interval, not *a fixed delay between frames. Example For example, the element is visually moved by changing element.style.left from 0 to 100px. Open the code in new window Click to animate: delay start. HTML5 Canvas. Processing.org. Processing.org. ContextFree.js & Algorithm Ink: Making Art with Javascript.

In honor of the the release of Firefox 3, I’m releasing ContextFree.js today, along with the demo site Algorithm Ink.

ContextFree.js & Algorithm Ink: Making Art with Javascript

ContextFree.js is about drawing striking images—and making art—with minimal amounts of code. An introduction to ContextFree.js & Algorithm Ink Go ahead and play with it on Algorithm Ink. It has goodies like a gallery to see other people’s art, the ability to view the source-code of any piece of art, and the ability to save the art to your desktop with a single right-click (that comes along for free, more on this in a second). It works best in Firefox 3, but should also work in Opera and Safari. The inspiration and kick-in-the-pants motivation for this project came from the always-excellent John Resig (also of Mozilla) finally releasing Processing.js.

ContextFree.js is a port of Context Free Art by Chris Coyne. One of the great things about using open-web standards is that it plays nicely with user expectations.