@thi.ng/geom-splines v2.2.105
This project is part of the @thi.ng/umbrella monorepo.
About
nD cubic & quadratic curve analysis, conversion, interpolation, splitting. This is a support package for @thi.ng/geom.
Current implementations partially based on toxiclibs (Java) and Clojure version of thi.ng/geom.
Status
STABLE - used in production
Search or submit any issues for this package
Related packages
- @thi.ng/geom-subdiv-curve - Freely customizable, iterative nD subdivision curves for open / closed geometries
Installation
yarn add @thi.ng/geom-splines
ES module import:
<script type="module" src="https://cdn.skypack.dev/@thi.ng/geom-splines"></script>
For Node.js REPL:
# with flag only for < v16
node --experimental-repl-await
> const geomSplines = await import("@thi.ng/geom-splines");
Package sizes (gzipped, pre-treeshake): ESM: 2.32 KB
Dependencies
- @thi.ng/api
- @thi.ng/checks
- @thi.ng/geom-api
- @thi.ng/geom-arc
- @thi.ng/geom-resample
- @thi.ng/math
- @thi.ng/vectors
Usage examples
Several demos in this repo's /examples directory are using this package.
A selection:
Screenshot | Description | Live demo | Source |
---|---|---|---|
Polygon to cubic curve conversion & visualization | Demo | Source |
API
Cubic curve conversion from polygons & polylines
Currently, there're two ways to convert a polygon/polyline into a sequence of cubic curve segments. Both modes support customizable curve tightness.
Furthermore, both conversion modes can be instructed to use uniformly scaled control point tangents: In uniform mode, the tangents have a uniform, user defined length, resulting in equidistant control points for each poly vertex. In non-uniform mode, each tangent is scaled by the length of its parent poly edge.
Poly vertices as control points
In this mode the curve always goes through the midpoints each polygon edge, with the original polygon vertices being used to compute control points.
Proportional tangent scale | Uniform tangent scale |
---|---|
Poly vertices as break points
In this mode the curve always goes through the original polygon vertices and additional control points are created via symmetric tangents at each poly vertex. The tangents themselves are computed via the bisector of each vertex corner, taking into the convexity of each poly vertex.
Proportional tangent scale | Uniform tangent scale |
---|---|
Authors
Karsten Schmidt
If this project contributes to an academic publication, please cite it as:
@misc{thing-geom-splines,
title = "@thi.ng/geom-splines",
author = "Karsten Schmidt",
note = "https://thi.ng/geom-splines",
year = 2016
}
License
© 2016 - 2021 Karsten Schmidt // Apache Software License 2.0
3 days ago
5 days ago
8 days ago
17 days ago
20 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
6 months ago
7 months ago
7 months ago
7 months ago
5 months ago
6 months ago
6 months ago
6 months ago
9 months ago
9 months ago
9 months ago
10 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
8 months ago
9 months ago
9 months ago
11 months ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago