Quaternion Julia Set Shape Optimization
Proceedings of Symposium on Geometry Processing (SGP) 2015

 
Theodore Kim
University of California, Santa Barbara
Media Arts and Technology Program
 



Left to right: (a) The original Bunny. (b) Julia set of the 331-root rational map found by our optimization. (c) Highly intricate surface obtained by translating the roots by 1.41 in the z direction. Click the image to see a high-resolution version.


 
Abstract

We present the first 3D algorithm capable of answering the question: what would a Mandelbrot-like set in the shape of a bunny look like? More concretely, can we find an iterated quaternion rational map whose potential field contains an isocontour with a desired shape? We show that it is possible to answer this question by casting it as a shape optimization that discovers novel, highly complex shapes. The problem can be written as an energy minimization, the optimization can be made practical by using an efficient method for gradient evaluation, and convergence can be accelerated by using a variety of multi-resolution strategies. The resulting shapes are not invariant under common operations such as translation, and instead undergo intricate, non-linear transformations.

       
    Paper, small [PDF, 0.7 MB]
    Paper, large [PDF, 20.8 MB]

    Supplement [PDF, 1.6 MB]

    Video [MOV, 152 MB]
     (Scroll down for YouTube)
    Source Code
   

   
Meshes
   
  Translated Bunny Julia Set

    PLY mesh, 7-zipped [133 MB]
12,105,518 vertices
24,205,321 faces
   
  Translated Frog Julia Set

    PLY mesh, 7-zipped [218 MB]
19,561,628 vertices
39,091,123 faces
   

   
Videos
   
Bunny
    Original Bunny
Bunny Potential
Bunny Monopoles
Julia set after 5000 iterations
Julia set after 7000 iterations
        Julia set under scaling
Different quaternion slices
Julia set under translation
Translated Julia set, rotating
   
Frog
    Original Frog
Frog Potential
Frog Monopoles
Julia set after 1200 iterations
        Julia set after 1379 iterations
Translated Julia set, rotating
Optimization sequence
Optimization sequence, spinning
   
Tooth
    Original Tooth
Tooth Potential
Tooth Monopoles
Julia set
Julia set under scaling
        Different quaternion slices
Julia set under translation
Translated Julia set, rotating
Optimization sequence, single iteration
Optimization sequence, multiple iterations
   
Armadillo
    Original Armadillo
Armadillo Potential
Armadillo Monopoles
        Julia set
Optimization sequence
Optimization sequence, spinning
   
Dragon
    Original Dragon
Dragon Potential
        Dragon Monopoles
Julia set
   


This work was supported by a UCSB Regents Junior Faculty Fellowship, and National Science Foundation CAREER award (IIS-1253948). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation. I acknowledge support from the Center for Scientific Computing from the CNSI, MRL: an NSF MRSEC (DMR-1121053) and Hewlett Packard.