A wrote a genetic algorithm that generates a tree like structure. This structure can be turned into a mesh using convolution surfaces.
Given a list of control points, the GA tries to optimize 3 things:
- Minimize the distance from each point to the closest branch.
- Minimize the sum of the length of each branch segment.
- Minimize the angle between adjacent branches (avoid sharp turns).
The results are very interesting:
I also tried printing the result. It took a lot of support material, but I think the result is pretty good (I had not yet cleaned all of the support material when I took the photo).