3dxml at the bottom.
At the beginning of the year, I made a try on repulsive curves.
this post is the first of a serie to present the tests. my goal is to make a shape that grows like a coral or an orchid flower petal.
In this example, I check the logic to grow a circle on a plane, referring to this paper about organic labyrinths.
fundamentally, the move of a point of the curve is the sum of a brownian motion and effect of repulsion of neighbouring points. to control the tension of the overall curve, I remove some points of the curve from the repulsion group.
My big issue is once I have moved a little all the points, then I got a new curve which is longer than the previous, as it grows. it must be re-tessellated to keep the same behavior, curviness of the curve accross the process... so I got more and more points to take into account and calculation gets slow. my algorithm is not so efficient, but the logic is simple...
here is the logic for entire script
More precisely, this is initial circle
then the loop, from brownian motion which is 10% of the curve tessellation.
then I take all neighbours of each poitns within 150mm radius and I remove the 3 neighbours of each points both side of the curve.
then I make the repulsion and retessellate
after 100 iterations (few mn), it grows like this video
here is the result after 200 iterations
