You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the offset only works inward, given that the straight skeleton only works inwards. I think we can add this functionality simply by inverting the angle bisector rays, and trimming the corresponding edges.
In certain concave geometry cases, this will cause self-intersecting edges, but I think this is an edge case we can ignore. If needed to, we can include an option to eliminate self-intersection by using the method we used in the thermal zone component to find all intersections and traverse the outer edge. In the thermal zone component, this is constrained to each edge polygon, whereas in the offset case checking for self-intersection for every edge with every other edge has a O(n^2) time complexity (can be reduced if we used something like a quadtree to store edges).
The text was updated successfully, but these errors were encountered:
Currently the offset only works inward, given that the straight skeleton only works inwards. I think we can add this functionality simply by inverting the angle bisector rays, and trimming the corresponding edges.
In certain concave geometry cases, this will cause self-intersecting edges, but I think this is an edge case we can ignore. If needed to, we can include an option to eliminate self-intersection by using the method we used in the thermal zone component to find all intersections and traverse the outer edge. In the thermal zone component, this is constrained to each edge polygon, whereas in the offset case checking for self-intersection for every edge with every other edge has a O(n^2) time complexity (can be reduced if we used something like a quadtree to store edges).
The text was updated successfully, but these errors were encountered: