背景
Clipper是一个开源的计算几何图形库,支持图形的交,并,补以及亦或(boolean)操作,同时也支持图形的变大/变小(sizing)操作。
The Clipper library performs clipping and offsetting for both lines and polygons. All four boolean clipping operations are supported - intersection, union, difference and exclusive-or. Polygons can be of any shape including self-intersecting polygons.
Clipper 是由Angus Johnson于2010年发布,2022年其再次发布了一个对于Clipper的改进版,这样把2010年的版本叫做Clipper1,现在的版本叫做Clipper2。
一、Clipper2中的术语(terminology)
Clipper2中有一些基本的术语,它们是Clipper2的核心:
1. 裁剪Clipping
clipping最初是指用某个clip window对某个image进行裁剪,只留下clip window内部的部分image,相当于对两个图形求交集。后来clipping(裁剪)泛化为不仅仅是裁剪(intersection), 还包括union, difference, XOR等boolean操作。
2. subject/clip
image 等被裁剪对象叫做subject, clip window等称为clip
3. segment
segment就是线段,由相连的两点(point/vertice)表示
4. Paths
Paths是由一系列segment构成的路径
Open paths是指起点和终点不相连的Paths, 也叫做polylines
Close paths是指起点和终点相连的Paths,通常叫做polygon
subject可能是Open paths, 也可能是closed paths
clip只能是closed paths.
5. Simple polygons
由一条不自交(self-intersect)的Close Paths构成的图形称为简单多边形(simple polygons)
6. Complex polygons
如果Closed paths自相交,或者由多条Paths组成的polygons, 称为复杂多边形(complex polygons)
7. Polygon holes
Polygon内部不被填充的部分成为polygon holes, holes通常是由位于outer polygon contour内部的inner polygon contour 组成。
Clipper2详解:术语、注意事项与几何操作

Clipper2是一个开源的图形库,支持图形的交、并、差、异或操作及大小调整。本文介绍了其核心术语,如裁剪、简单多边形、填充规则、风向数等,并讨论了自相交多边形、精度问题和自相交图形处理的注意事项。此外,还涵盖了偏移操作的关节类型和端点类型选择。
最低0.47元/天 解锁文章
3644

被折叠的 条评论
为什么被折叠?



