Project: Visualizing Julia and Mandelbrot Sets

Click to see gallery of full-sized images…

Click to see gallery of full-sized images…

Introduction

With my introduction to fractals from my fractal geometry and L-Systems projects, it was only natural that the next fractal I would implement would be the Mandelbrot Set. Producing static images representing the Mandelbrot and its Julia Sets was simple enough, but I wanted to do more than z→z^2 + c… and none of the complex number libraries I found for C# (my main language at the time) had all of the functions I wanted to use. As such, I developed my own (unoptimized) Complex class that can perform all of the evaluable functions that my PlotEquation plugin can do, but now with complex values. I spent much of my free time exploring new fractals upon its completion (especially after converting the project to OpenGL), many of which are shown in this post’s gallery. In addition, a more expansive gallery showing my fractal animations can be found here. I’ve since added the ability to project fractals onto the Riemann Sphere, which can be further explored here.

 

Gallery

The Classic Mandelbrot Set

The Classic Mandelbrot Set

The Largest “Minibrot”

The Largest “Minibrot”

The Largest Minibrot’s Largest Minibrot

The Largest Minibrot’s Largest Minibrot

Classic Mandelbrot; Center at (-1.34033, -0.0623171)

Classic Mandelbrot; Center at (-1.34033, -0.0623171)

Classic Mandelbrot; Center at (-0.751693, 0.0339021)

Classic Mandelbrot; Center at (-0.751693, 0.0339021)

Classic Mandelbrot; Center at (-0.750594, 0.0315353)

Classic Mandelbrot; Center at (-0.750594, 0.0315353)

Classic Mandelbrot; Center at (0.270929, 0.00535877)

Classic Mandelbrot; Center at (0.270929, 0.00535877)

Classic Julia at (0.288814, 0); Bailout: 4

Classic Julia at (0.288814, 0); Bailout: 4

Classic Julia at (-0.749217, -0.148962); Center at (-1.46603, -0.0617793)

Classic Julia at (-0.749217, -0.148962); Center at (-1.46603, -0.0617793)

Julia+%28-0.754228%2C+-0.219068%29%2C+bailout+-+1.036059-min.jpg
Julia+%28-0.754228%2C+-0.219068%29%2C+bailout+-+1.036059+%282%29-min.jpg
Julia (-0.754228, -0.219068), bailout - 1.036059 (4)-min.JPG
Julia+%28-0.754228%2C+-0.219068%29%2C+bailout+-+1.036059+%285%29-min.jpg

Classic Julia at (-0.754228, -0.219068); Bailout: 1.036059

Julia+%28-0.679692%2C+-0.383843%29%2C+bailout+-+1.036059-min.jpg
Classic Julia at (-0.679692, -0.383843); Bailout: 1.036059

Classic Julia at (-0.679692, -0.383843); Bailout: 1.036059

Julia (-0.774184, -0.113006), bailout - 0.872308-min.JPG
Julia+%28-0.774184%2C+-0.113006%29%2C+bailout+-+0.956096-min.jpg
Julia+%28-0.774184%2C+-0.113006%29%2C+bailout+-+0.989352-min.jpg
Julia+%28-0.774184%2C+-0.113006%29%2C+bailout+-+1.03797-min.jpg
Julia+%28-0.774184%2C+-0.113006%29%2C+bailout+-+1.20985-min.jpg
Classic Julia at (-0.774184, -0.113006); Bailouts (top to bottom): 0.87, 0.96, 0.99, 1.04, 1.21

Classic Julia at (-0.774184, -0.113006); Bailouts (top to bottom): 0.87, 0.96, 0.99, 1.04, 1.21

Classic Julia at (-0.666273, 0.422525); Bailout: 0.935198

Classic Julia at (-0.666273, 0.422525); Bailout: 0.935198

Classic Julia at (0.785388, 0.00404554); Bailout: 0.82252

Classic Julia at (0.785388, 0.00404554); Bailout: 0.82252

Classic Mandelbar

Classic Mandelbar

Julia+%280.238389%2C+0%29%2C+bailout+-+1.21023-min.jpg
Julia+%280.238389%2C+0%29%2C+bailout+-+1.21023%2C+conjugate-min.jpg

Julia at (0.238389, 0); Bailout: 1.21023; Classic (left), Conjugate (right)

Julia+%280.401752%2C+0.49146%29%2C+bailout+-+2-min.jpg
Julia+%280.401752%2C+0.49146%29%2C+bailout+-+2%2C+conjugate-min.jpg

Julia at (0.401752, 0.49146); Bailout: 4; Classic (left), Conjugate (right)

Mandelbrot%2C+power+-+3-min.jpg
Mandelbrot%2C+power+-+3%2C+conjugate-min.jpg

Power 3 Mandelbrot; Classic (left), Conjugate (right)

Power 4 Julia at (0.514949, 0.607646); Bailout: 0.931158

Power 4 Julia at (0.514949, 0.607646);
Bailout: 0.931158

Power 6 Julia at (0.394578, -0.660751)

Power 6 Julia at (0.394578, -0.660751)

Power 1.5 Julia at (-0.192375, 0)

Power 1.5 Julia at (-0.192375, 0)

Power 1.5 Julia at (-0.196925, 0)

Power 1.5 Julia at (-0.196925, 0)

Julia (-0.435178, 0), power - 3.3-min.JPG
Power 3.3 Julia at (-0.435178, 0)

Power 3.3 Julia at (-0.435178, 0)

Julia+%28-1.13538%2C+0%29%2C+power+-+6-min.jpg
Power 6 Julia at (-1.13538, 0)

Power 6 Julia at (-1.13538, 0)

Power 4.5 Julia at (-0.758389, 0)

Power 4.5 Julia at (-0.758389, 0)

Power 2.4Julia at (0.318606, 0)

Power 2.4 Julia at (0.318606, 0)

Julia%2B%2528-0.70806%252C%2B0%2529%252C%2Bpower%2B-%2B2.4-min.jpg
Julia+%28-0.694209%2C+0%29%2C+power+-+2.4-min.jpg

Power 2.4 Julia Sets at (-0.70806, 0) and (-0.694209, 0)

Power 2.1 Julia at (-1.33178, 0)

Power 2.1 Julia at (-1.33178, 0)

Classic Lambda Set

Classic Lambda Set

Classic Lambda; C-Power; -0.2

Classic Lambda; C-Power; -0.2

Classic Lambda; C Power; -2

Classic Lambda; C-Power; -2

Classic Lambda Set; Conjugate

Classic Lambda Set; Conjugate

Classic Lambda; C-Power; 0.5

Classic Lambda; C-Power; 0.5

Power -2 Lambda Julia at (-0.386444, 0.683748); Bailout: 50

Power -2 Lambda Julia at (-0.386444, 0.683748); Bailout: 50

Power -2 Lambda Julia at (-0.0537139, 0.377589); Bailout: 100

Power -2 Lambda Julia at (-0.0537139, 0.377589); Bailout: 100

Power -2 Lambda Julia at (0.435366, -0.764313); Bailout: 600

Power -2 Lambda Julia at (0.435366, -0.764313); Bailout: 600

Power -2 Lambda Julia at (-0.0105572, 0.21994); Bailout: 600

Power -2 Lambda Julia at (-0.0105572, 0.21994); Bailout: 600

Power -2 Lambda Julia at (-0.201475, 0.21994); Bailout: 600

Power -2 Lambda Julia at (-0.201475, 0.21994); Bailout: 600

Power -2 Lambda Julia at (-0.127805, 0.219452); Bailout: 600

Power -2 Lambda Julia at (-0.127805, 0.219452); Bailout: 600

Mandelbrot%2C+fold+count+-+1-min.jpg
Mandelbrot, fold count - 1 (2)-min.JPG

Classic Perpendicular Burning Ship

Mandelbrot, fold count - 2-min.JPG
Mandelbrot, fold count - 2 (2)-min.JPG
Mandelbrot, fold count - 2 (3)-min.JPG
Classic Burning Ship

Classic Burning Ship

Mandelbrot%2C+power+-+3%2C+fold+count+-+2-min.jpg
Mandelbrot, power - 3, fold count - 2 (2)-min.JPG
Power 3 Burning Ship

Power 3 Burning Ship

1-Fold Burning Ship; Offset by (0, 1.5)

1-Fold Burning Ship; Offset by (0, 1.5)

2-Fold Burning Ship; Angle: 45, Offset by (0, 2.5)

2-Fold Burning Ship; Angle: 45, Offset by (0, 2.5)

6-Fold Burning Ship; Angle: 75, Offset by (0, 5)

6-Fold Burning Ship; Angle: 75, Offset by (0, 5)

6-Fold Power 4 Burning Ship; Angle: 75, Offset by (0, 5)

6-Fold Power 4 Burning Ship; Angle: 75, Offset by (0, 5)

1-Fold Burning Ship Julia at (0, 1.5); Offset by (0, 1.5)

1-Fold Burning Ship Julia at (0, 1.5); Offset by (0, 1.5)

1-Fold Burning Ship Julia at (-1, 1.5); Offset by (0, 1.5)

1-Fold Burning Ship Julia at (-1, 1.5); Offset by (0, 1.5)

1-Fold Burning Ship Julia at (-0.769118, 1.67031); Offset by (0, 1.5)

1-Fold Burning Ship Julia at (-0.769118, 1.67031); Offset by (0, 1.5)

1-Fold Power 1.5 Burning Ship Julia at (-0.196925, 0); Offset by (0, 1.5)

1-Fold Power 1.5 Burning Ship Julia at (-0.196925, 0); Offset by (0, 1.5)

Julia+%280%2C5%29%2C+power+-+2%2C+fold+count+-+6%2C+fold+angle+-+75%2C+fold+offset+-+%280%2C5%29-min.jpg
Julia+%281%2C5%29%2C+power+-+2%2C+fold+count+-+6%2C+fold+angle+-+75%2C+fold+offset+-+%280%2C5%29-min.jpg

6-Fold Power 2 Burning Ship Julia at (0, 5) and (-1, 5); Angle: 75, Offset by (0, 5)

1-Fold Power -2 Lambda Burning Ship Julia at (-1.17228, 0.992439); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (-1.17228, 0.992439); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (0, 1.5); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (0, 1.5); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (0.83983, 0.982559); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (0.83983, 0.982559); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (0.976915, 0.663971); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (0.976915, 0.663971); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (0.83983, 0.982559); Offset by (0, 15)

1-Fold Power -2 Lambda Burning Ship Julia at (0.83983, 0.982559); Offset by (0, 15)

Happy Accidents

Power -1, Fake Power 8, Radius 1.2 - Exterior-min.jpg
Power 2, Fake Power 8, Radius 4 - Exterior-min.jpg
Power -1, Fake Power 8, Radius 1.2 - Domain_Exterior-min.jpg
Power 2, Fake Power 8, Radius 4 - Domain_Exterior-min.jpg
Attempt at 10-Fold Burning Ship

Attempt at 10-Fold Burning Ship

Attempt at 2-Fold Burning Ship

Attempt at 2-Fold Burning Ship

Attempt at 1-Fold Burning Ship Julia at (-0.747417, 0.187026); Angle: 169.948

Attempt at 1-Fold Burning Ship Julia at (-0.747417, 0.187026); Angle: 169.948

Attempt at 2-Fold Lambda Burning Ship; Angle: 135

Attempt at 2-Fold Lambda Burning Ship; Angle: 135

Mandelbrot (bad unrotate), c_power - -1, fold angle - 114.628, fold count - 2 (3)-min.JPG
Mandelbrot (bad unrotate), c_power - -1, fold angle - 114.628, fold count - 2-min.JPG
Attempta at 5-Fold Burning Ship; C-Power: -1, Angle: 114.628

Attempts at 5-Fold Burning Ship; C-Power: -1, Angle: 114.628

Attempt at 2-Fold Burning Ship; Angle: 36

Attempt at 2-Fold Burning Ship; Angle: 36

Attempt at 2-Fold Burning Ship; Angle: 36

Attempt at 2-Fold Burning Ship; Angle: 36

Attempt at 5-Fold Burning Ship; Angle: 36, fold count - 5-min

Attempt at 5-Fold Burning Ship; Angle: 36

Attempt at 5-Fold Burning Ship; Angle: 75.1526, fold count - 5-min

Attempt at 5-Fold Burning Ship; Angle: 75.1526

Attempt at 2-Fold Burning Ship; Angle: 45

Attempt at 2-Fold Burning Ship; Angle: 45

Previous
Previous

Project: Projecting Fractals onto the Riemann Sphere

Next
Next

Project: Exploring L-Systems