P2.js:中文手册
链接:https://github.com/schteppe/p2.js/wiki/Chinese-wiki
Clipper.js:中文手册
链接:https://www.cnblogs.com
Clipper.js下载地址:https://sourceforge.net/projects/jsclipper/files/latest/download
使用Javascript Clipper库,您可以通过多种方式修改路径(多边形和折线)的几何形状。
详细文档说明: https://www.cnblogs.com/zhigu/p/11928492.html
Clipper库中文文档详解
简介
Clipper Library(以下简称为Clipper库或ClipperLib或Clipper)提供了对线段和多边形的裁剪(Clipping)以及偏置(offseting)的功能
和其他的裁剪库相比,Clipper具有以下特征:
1. 它能够接受各类多边形输入,包含自交的多边形
2. 它支持多种填充规则(奇偶填充、非零填充、正填充、负填充)
3. 它相较于其他库效率极高
4. 它数值稳定(鲁棒性强),鲁棒性:https://baike.baidu.com/item/%E9%B2%81%E6%A3%92%E6%80%A7/832302?fr=aladdin
5. 它支持多边形和线段的偏置
6. 它对于商用以及免费软件来说都是免费的
术语:
裁剪(Clipping):通常是指在二维平面把一个图形在指定的矩形框以外的部分去除掉。在更广义的角度,指定的裁剪范围不一定是一个矩形,可以是各种各样的多边形,甚至是多个多边形;同样的,我们一般裁剪指的是形态学上的“求交”,在Clipper库中裁剪可以实现4中布尔运算(求交、求和、求异、求异或);
路径(Path):是指一系列的有序的点的集合,用来定义一个轮廓(Contour),这个轮廓既可以是代指一条线/开放路径(line/open path),也可以代指一个多边形/闭合轮廓(polygon/ closed path)
线(Line):与Polyline同义,代指一个具有两个点或以上点的开放路径
轮廓(Contour):与路径同义
孔洞/内轮廓(Hole):代指一个多边形内部表示该部分不属于该多边形的闭合区域:一个“内轮廓(Hole Polygon)”就是一个代指孔的外围点集的封闭路径
多边形填充规则(Polygon Filling Rule):即在一系列的闭合路径中,来定义哪些属于“内部”,哪些属于“外部”