我在 .NET/C# 中使用 Angus Johnson 的 Clipper 库,我想使用 ClipperOffset 类在多边形上做几个同心偏移。(http://www.angusj.com/delphi/clipper/documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/_Body.htm)。
我想像袋鼠一样填充我的多边形(来自安格斯约翰逊的主页)。
我已经编写了一个函数来做到这一点,但是如果我调用它 10 次,它需要大量的计算时间,例如:
static public Polygon doOffset(Polygon p, double offset_nm)
{
// Offset to grow up the forbidden polygon
Polygons solution = new Polygons();
ClipperOffset co = new ClipperOffset();
co.AddPath(p, JoinType.jtRound, EndType.etClosedPolygon);
co.Execute(ref solution, offset_nm);
return solution[0];
}
你知道更有效的方法吗?谢谢。