I am looking to replicate the effect at the ending of Kaisersrot's demonstration (https://www.youtube.com/watch?v=Zw7_JFHi5hk) where a polygon-based grid is "relaxed" into more orthogonal shapes. At the moment i'm trying to loop through all points and gradually move them to approach all angles to 90 or 180 degrees, but no luck. Any other ideas?
Yeah, this has intruiged me too after Ludger Hovestadt showed a glimpse during his lecture at our school. I wasn't able to come up with a satisfying algorithm, so I'm repeating your question:
Yea, i saw that yesterday and ill probably experiment with it later, but for the moment I'm trying this approach: I noticed most points have 3 connecting lines, so in order to 'relax' the shapes, i'm trying to gradually move each point to the shortest perpendicular intersection with the triangle formed by the 3 connecting lines (see image). Theoretically after several generations it should approach a general solution. However, i also noticed that Kaisersrot's model treats the lots as objects that keep their surface area, or so it seems...
In case anyone's interested, here's my work so far. It seems to work, but it still doesn't account for an outer border and it ends up with more triangles than i'd like. Just scroll through the generations. I'd appreciate any comments on the code or improvements, as i'm new to vb.
Here's a guess at an algorithm:
extract the "road" curve.
Rebuild it to create straighter segments
Reposition all the nodes of the voronoi diagram so that they are the same distance from the "road".