4 个版本
0.1.3 | 2021年10月24日 |
---|---|
0.1.2 | 2020年4月29日 |
0.1.1 | 2020年4月24日 |
0.1.0 | 2020年4月16日 |
#1047 in 解析器实现
每月 22 次下载
79KB
1.5K SLoC
beziercurve-wkt
beziercurve-wkt
关于
这个库的存在是因为PostGis(当前版本12.0)不支持贝塞尔曲线。然而,在表中保持数据仍然非常有用。有时还需要具有贝塞尔曲线的易读格式。因此,而不是将数据保存在二进制格式中,数据以字符串格式保存,并且此库为此提供了序列化/反序列化器。
贝塞尔曲线的字符串格式看起来像这样
BEZIERCURVE((0.0 1.0, 2.0 1.0), (2.0 1.0, 46.0 20.0, 0.0 0.0), (0.0 0.0, 40.0, 47.0, 50.0 30.0, 2.0 1.0))
解析器查看点并根据其长度确定点的类型
(x1 y1, x2 y2) -> Line from p1 to p2
(x1 y1, x2 y2, x3 y3) -> Quadratic bezier curve from p1 to p3 with control point p2
(x1 y1, x2 y2, x3 y3, x4 y4) -> Cubic bezier curve from p1 to p4 with control points p2 and p3
在每个"项目" / 部分“上重复点的目的是在必要时并行构造BezierCurve。
除了序列化/反序列化之外,此库还包含以下工具
- 计算曲线的边界框(对于使用四叉树计算曲线交集是必要的)
- 计算曲线-曲线和曲线-线之间的交点
- 计算交点的角度(例如,用于在曲线上放置文本)
- 裁剪曲线
许可证
MIT
许可证:MIT
依赖关系
~34–475KB