This three.js demo is part of a collection at http://stemkoski.github.io/Three.js/