Fractal Shaders Page



/* (c) 2015 Avi Levy
 *
 * This shader renders a Manhattan surface,
 *      aka the 3d Koch Cube
 *      aka the 3d quadratic Koch surface (Type 1)
 *
 * Motivation:
 *      The Manhattan surface is homeomorphic to
 *      a 2-sphere, yet has a fractal dimension of
 *      log(13)/log(3) = 2.33.
 *
 *      This surface is constructed by gluing together
 *      many small quadrilaterals. More generally, one
 *      may glue together quadrilaterals in a random
 *      manner to produce a random surface. Like the
 *      Manhattan surface, random surfaces are also
 *      homeomorphic to the 2-sphere yet are higher
 *      dimensional: they have dimension 4 almost surely.
 *
 *      Random surfaces constructed in such a manner
 *      have been studied in relation with quantum
 *      gravity. This topic is being studied in:
 *      
 *      Special Topics Course MATH 583 E
 *      University of Washington
 *      Instructors: Steffen Rohde and Brent Werness
 *      Course Webpage:
 *      http://www.math.washington.edu/~bwerness/teaching.html
 *
 * Changelog:
 *      ============ May 6
 *      Complete rewrite of the mapping function.
 *      Performance boost from 3fps to 60fps on
 *      the iteration 2 of the fractal.
 *      Speedup acheived using tesselation and
 *      cubic symmetry.
 *      ============ May 5
 *      Incorporated Brent's observation that this
 *      was not a Manhattan surface due to not
 *      having enough cubies.
 *
 * Shader based on code by inigo quilez - iq/2013
 */

    

/* Modified by Avi Levy (c) 2015
 *
 * This is the famous Sierpinski
 * tetrahedron, to 16 iterations.
 *
 * Instructions:
 *      Click and drag the fractal
 *          - Upwards zooms in
 *          - Left/right rotates
 *
 * 
 * Original by inigo quilez - iq/2013
 */