首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clipper Lib路径的总面积(复数)

Clipper Lib路径的总面积(复数)
EN

Stack Overflow用户
提问于 2018-05-30 21:02:24
回答 1查看 249关注 0票数 0

我已经在谷歌上搜索过了,没有找到任何与我需要的相似的东西。

Clipper Lib提供了一个计算路径面积的函数:

double Area(Path path)

我找不到一种方法来计算复杂多边形(带洞的多边形,等等)的面积。

意思是,我需要创建类似下面这样的东西:

double Area(Paths paths, PolyFillType FillType = PolyFillType.pftEvenOdd)

有没有人能教教我怎么做?提前谢谢你

PS:我不能简单地计算面积的总和,因为这个复杂的多边形可能有洞。

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 00:00:12

看起来Clipper.Area()返回的空洞是一个负的面积值,所以我们可以简单地总结一下所有的内容。

代码语言:javascript
复制
double CalcArea(List<List<IntPoint>> polygon)
{
    List<List<IntPoint>> paths = Clipper.SimplifyPolygons(polygon);
    double totalArea = 0;
    for (int i = 0; i < paths.Count; i++)
        totalArea += Clipper.Area(paths[i]);
    return totalArea;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50605436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档