Expanding polygons is probably best done expanding each segment towards the direction of its outer normal (the normal towards the OUTSIDE of the polygon) by a given length/distance d.
Neither expanding nor reducing the size of a polygon is a trivial operation, for the moment Clipper.jl can be used as inital implementation before going for a full Julia solution. Look here and here for more details on the implementation in Clipper C++.
Julia packages like LazySets.jl give some mathematical tools to tackle the problem (see Bloating).
In mathematical terms, the problem can be refferred as polygon offsetting and refers to the process of creating parallel curves
This problem can be tackled with Minkowski sum for "dilation" of the polygon and Minkovski erosion or subtraction for the "shrinking" of the polygon.
The next step could be contributing to Meshes.jl for realizing a full Julia solution, eiteher a porting of Clipper2 or a completely new implementation (maybe starting from the mathematical tools given by other libraries like LazySets.jl)
Expanding polygons is probably best done expanding each segment towards the direction of its outer normal (the normal towards the OUTSIDE of the polygon) by a given length/distance
d
.See this link for some reference: https://stackoverflow.com/questions/54033808/how-to-offset-polygon-edges
And this other for more complex scenarios which might be worth considering in the future: https://stackoverflow.com/questions/1109536/an-algorithm-for-inflating-deflating-offsetting-buffering-polygons