Gag*_*gan 6 javascript geometry svg intersection polygon
我有多边形集.在这个集合中,一些是外部多边形,一些可能(或可能不是)是孔.我不知道在这个阶段哪个是多边形孔.我想计算包含所有多边形的最终多边形,包括孔.
我想到了这种方法:
//'SomeLib' that has polygon boolean fucntions
var polygonSet = [poly1,poly2,...polyn];
var union, intersection;
var combinedPoly = SomeLib.XOR(polygonSet[0], polygonSet[1]);
for( var i=2; i<polygonSet.length ; i++) {
combinedPoly = SomeLib.XOR(combinedPoly, polygonSet[i]);
//or if XOR is not available
union = SomeLib.union(combinedPoly, polygonSet[i]);
intersection = SomeLib.intersection(combinedPoly, polygonSet[i]);
combinedPoly = union - intersection;
}
Run Code Online (Sandbox Code Playgroud)
所以我对模块的要求是
我所遇到的图书馆清单以及我理解的一些要点:
在某些情况下,这些函数是重载其他函数的大型库的一部分,或者库与SVG或地理空间环境一起使用,或者许多函数会添加到现有库中.
请根据我的要求建议哪个库适合?是否还有用于多边形布尔函数的javscript模块库?
我已经开始实现Vatti多边形裁剪算法,这里是代码库。但我发现Greiner Hormann多边形裁剪算法要好得多。所以我现在不维护代码了。
我推荐Greiner Hormann在 JavaScript 中实现多边形裁剪或其他布尔运算。
| 归档时间: |
|
| 查看次数: |
1791 次 |
| 最近记录: |