我在.NET / C#中使用Angus Johnson的Clipper库,我想用ClipperOffset类在Polygon上做几个同心偏移。 (http://www.angusj.com/delphi/clipper/documentation/Docs/Units/ClipperLib/Classes/ClipperOffset/_Body.htm)。
我想像袋鼠一样填充我的多边形(来自Angus Johnson的主页)。
我已经写了一个函数来做到这一点,但如果我把它调用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];
}
你知道更有效的方法吗?感谢。