clipperlib - Clipperlib中开放路径“方向”的含义是什么?
问题描述
关于偏移操作的ClipperLib文档在先决条件中说:
- 闭合路径的方向必须一致,使得外部多边形共享相同的方向,并且任何孔都具有相反的方向(即非零填充)。开放路径必须以封闭的外部多边形为方向。
(强调我的)
开放路径的方向定义是什么?
解决方案
方向的定义仅对封闭路径有意义,这是文档中的错字。
此外,如果输入未排序和定向(即,您要偏移的区域被定义为假设奇偶填充规则的闭合循环的集合,并且不知道哪些循环是孔,哪些是边界),解决方案是执行操作分两步
- 将所有循环的 x-or 计算为布尔运算
- 计算结果的偏移量
这是可能的,因为 clipperlib 操作的结果总是被排序和定向的。
推荐阅读
- python - scipy.optimize.leastq 最小化最小二乘和
- mysql - 如何获取客户首次订单的数量?
- spring - 如何以与 Spring bean 定义相同的顺序获取集合元素
- hadoop - 数据中的不良记录以及将它们写入单独的文件后如何将它们加载到配置单元中
- node.js - 如何在 Synology NAS 上设置 React 项目
- android - 如何使用 Kotlin 在 Android 中保存开关设置
- python - 如何将用破折号“-”分隔的数字与另一个数字相乘?
- java - 迭代时调用数组的长度属性两次或创建一个新变量更快吗?
- vue.js - vuejs如何通过点击跨度来增加每个游戏的收视率?
- javascript - 为什么 vue.js 组件在第一次尝试时不显示获取的数据?