I tried to create an image like the one below as a random background for a website, but after multiple attempts I couldn't find an algorithm that gets the job done.
What should the program do?
It should be able to fill a plane randomly with triangles. These triangles should all be independent, so I don't simply want to draw long lines on the canvas an color the triangles that are created.
Algorithms I've tried so far:
1.
- Make random Points
- Make random Connections with a length below a specific value (This could leed to holes in the triangle net)
- Try to find out what connections make a triangle (I failed here)
2.
- Start with a single triangle
Create a new Point close to an existing connection and add a triangle from there that doesn't cause any intersections. This lead to problems whenever it left a little hole like in this picture:
3.
- Make random points
- Make all possible connections (every point to every other)
- Sort the connections by length
- For every connection starting with the shortest draw if it isn't intersecting with any other drawn line. Otherwise delete the connection.
This was actually my best attemt even if it took the program far to long to get it done with only a few points. This is how the result looked:
I didn't find a way to find out what connections make a triangle and therefor I couldn't color them indipendently...
So hopefully you know a way to create a nice triangle-filled canvas like in the first picture and let me know...