Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Fractal Garden – An Exhibition of Mathematical Beauty (fractal.garden)
168 points by trebeljahr on Oct 9, 2022 | hide | past | favorite | 23 comments



Hi HN,

in September I built this website, which explores some mesmerizing fractals. The idea behind it is to have a beautiful "garden" that instead of being filled with flowers and plants is filled with magnificent mathematical objects. The fractals are all interactive and you can play around with the options, changing colors, iterations, and more.

The whole thing is open source, so if you feel like it and have the time, please contribute to the project. It's tagged for the Hacktoberfest and contributions count toward your Hacktoberfest progress! Here's the link to the GitHub: https://github.com/trebeljahr/fractal-garden

The fractal garden, as such is part of what I am trying to do right now, picking awesome projects I always wanted to do and that are just outside my comfort zone (in terms of skills or knowledge). I then try to build as much of them as I can within a month, before moving on to the next project the next month.

I write summaries of the learnings I had during the projects on https://www.trebeljahr.com/

Let me know what you think and the ideas and feedback you have.

Enjoy your day and take care.

Cheers, Rico


It's very nice and I look forward to adding to to it.

I wonder if you(or someone else) knows of a general tool for exploring L-systems? As you comment, 'all L-systems are related', but I've had a hard time navigating the theoretical literature on this. For several years now I've been looking for a way to examine a tree or other network and extrapolate a structural 'recipe' for it. I'll get this Algorithmic Beauty of Plants book but would love to hear of any resources you know for 'reverse engineering' L-systems from existing tree structures.


I have no idea honestly...

One pointer that might be worth exploring, which is not quite L-Systems but might be related is Fractal Compression. I've read that there are algorithms to compress images into a "closest" IFS – iterated function system.

https://en.wikipedia.org/wiki/Fractal_compression

Maybe one could come up with a way of going from an image via fractal compression to an IFS which could then be used as the basis for an L-system?

Most of the L-Systems that are on this site are from Paul Bourke – http://paulbourke.net/fractals/lsys/

Which is a really awesome resource!


Thanks, these are really great resources and I'm looking forward to exploring them. It's striking to me that so much work was done on this in the 1990s and early 2000s and that the subfield seems to have (mostly) been overlooked since.


also Wikipedia says that this is an open problem. However, with the "citation needed" warning...

https://en.wikipedia.org/wiki/L-system#Open_problems:~:text=....


L systems underpin the incredible Paint Effects of The 3D program Maya. It was used as the basis for the forest in the animation Shrek. It is also mad fun to play with, and very easy to learn.


Hey you! I've read the blog. It's magnificent. I looked at your garden. It's incredible. Love love love. Live, laugh, love. Cheers.


It doesn't seem like you can zoom very far (on Android, at least), which to me undermines quite a lot of the wonder of fractals.


This is sadly true and I whole-heartedly agree with you...

It's because I didn't find a way to construct only parts of the fractals based on the viewport. Many of the fractals you can see in the garden are generated iteration by iteration and generating the next iteration for only the visible part is not a trivial problem to solve... I struggled thinking about a solution for this, but in the end gave up in favor of having more fractals.

For the Mandelbrot Set the above is not the case, but the zoom there is still very limited due to precision issues in WebGl (a float has only limited bits, even for high precision floats) and things get horribly slow if trying to implement arbitrary precision on the GPU.

There are some ideas around "perturbation theory" that can help to get more zoom on the Mandelbrot Set (still not infinite) but I had a very hard time wrapping my head around how to implement that in a shader.

But please, if you have ideas of how to fix this - the project is open source and it would be 100% awesome if it were possible to nicely zoom in/out of all of them.

I opened an issue on the repo: https://github.com/trebeljahr/fractal-garden/issues/22


Back in the 1990's when fractals were a big thing and computers were not very powerful, the go-to tool for exploring fractals was a highly optimized integer engine called `fractint`.

In the final form it supported many types of fractals via a domain-specific language. You can still download the source from https://www.fractint.org/.

Porting this framework to your garden might be worthwhile?


You can allow more zooming on the Mandelbrot Set by increasing maxIterations.

(Note that the colours will change because of the way the code is written. Also, it will require more computation, so it's probably a good idea to only increase maxIterations when zoomed in.)


Really beautiful, thanks for your effort! I am trying to prepare a small presentation inspired by the book `The Computational Beauty of the Nature`for an introductory engineering course and some examples in this website can provide good visual material.

edit: also would appricate to able to zoom in.


The Computational Beauty of Nature is such a cool book!

There is also ABOP - the Algorithmic Beauty of Plants http://algorithmicbotany.org/papers/#abop which has been a huge inspiration for this project.


Really nice job and thanks for the shout out to my book.


This is so nice to randomly come across. Let know if there's something that I can do to help (I am the author of CBofN). You can reach me at <my first name>@<my last name>.org.


If you keep left click pressed, it zooms in.


Thank you for making this, it’s absolutely stunning! I really like the Barnsley Fern. I’m going to be generating it myself in high res and printing it out at Walgreens photo for my wall.


Looks really great! I wish the collection was bigger - looking forward to it growing over time.

Unfortunately I don’t yet have the skills to contribute to this effort. Hopefully following your algorithm descriptions will change that.


Love these. If suggest adding Julia sets and Mandelbulbs.


No 3D fractals?


beautiful work. bookmarked and I'll swing back periodically as it grows.


Needs Burning Ship fractal


this is awesome - one day I will understand the maths behind this :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: