GIS系列专题(2):Clipper/CavalierContours/Shapely计算机图形库之偏移计算,类似刀具补偿

1、Clipper

Clipper库是目前计算机图形领域广为使用的图形处理库,可以用于解决平面二维图形的多边形简化、布尔运算和偏移处理,在CAD、加工路径与3D打印方面都有着比较重要的应用。

https://sourceforge.net/projects/polyclipping/

https://www.angusj.com/clipper2/Docs/Overview.htm

https://www.angusj.com/clipper2/Docs/Units/Clipper.Offset/Classes/ClipperOffset/_Body.htm

https://github.com/AngusJohnson/Clipper2

#include "clipper2/clipper.h"  
...
using namespace Clipper2Lib;
 
int main()
{
  Paths64 subject;
  subject.push_back(MakePath({ 3480,2570, 3640,1480, 
    3620,1480, 3260,2410, 2950,2190, 2580,880, 
    4400,1290, 3700,1960, 3720,2750 }));
  Paths64 solution;
  ClipperOffset offsetter;
  offsetter.AddPaths(subject, JoinType::Round, EndType::Polygon);
  offsetter.Execute(-70, solution);
  solution = SimplifyPaths(solution, 2.5);
   
  //draw solution ...
  DrawPolygons(solution, 0x4000FF00, 0xFF009900);
}

2、CavalierContours

Polygon Clipping and Offsetting - C++, C# and Delphi

rust版本

https://github.com/jbuckmccready/cavalier_contours

c++版本 

https://github.com/jbuckmccready/CavalierContours

qt客户端

https://github.com/jbuckmccready/CavalierContoursDev

web在线测试

https://cavaliercontours.dev/#/pline_offset

3、Shapely

它是计算几何库GEOS的Python包

https://pypi.org/project/Shapely/

https://github.com/Toblerity/Shapely

---

欢迎访问下一篇

GIS系列专题(3):缓冲区算法对比研究(Buffer Algorithm),类似刀具补偿_建几何缓冲区算法-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值