使用Javascript Clipper库,您可以通过多种方式修改路径(多边形和折线)的几何形状。

特点:

  1. 主要布尔运算:和、相交、差和或。

  2. 用正数或负数抵消路径。

其他功能包括:

  3. 简化多边形,这意味着将自相交的多边形转换为简单的多边形。执行此操作后,将具有自相交部分的面分解为多个简单面。

  4. 计算多边形的面积。

  5. 清洁多边形。合并得太靠近顶点,这会在偏移时导致变形。

  6. 减轻多边形。通过删除不必要的顶点来减少顶点数量。

  7. 计算多边形的Minkowski和和差。

  8. 计算路径的周长。

翻译说明

  这些功能与原始Clipper库中的功能相同,但有以下区别:

    例如,某些PolyTree和PolyNode属性被实现为函数。PolyTree.Total是PolyTree.Total()。

    C#的Int128结构是使用Tom Wu的大整数库JSBN来实现的,这是Javascript中最快的可用大整数库。由于Javascript缺乏64位整数支持,因此与C#版本相比,坐标空间受到的限制更大。

//  原始 (ç#)版本 具有 支持 用于 坐标 空间:
 + - 4611686018427387903  ( SQRT (2 ^ 127  - 1 )/ 2//  而 使用Javascript  版本 具有 支持 用于 坐标 空间:
 + - 4503599627370495  ( SQRT (2 ^ 106  - 1 )/ 2 )

    另外,由于Javascript中没有整数类型,因此必须确保在调用ClipperLib.IntPoint()时,使用Math.round()将参数值舍入为整数。

    ClipperLib.JS对象提供用于计算面积,边界和周长,清理,克隆,缩小顶点(lighten)和exPolygons相关函数的函数。

 

01-04 05:25