![]() |
TinySpline
0.6.0
Spline Library for a Multitude of Programming Languages
|
TinySpline is a small, yet powerful library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. The core of the library is written in ANSI C (C89) with a C++ wrapper for an object-oriented programming model. Based on the C++ wrapper, auto-generated bindings for C#, D, Go, Java, Javascript, Lua, Octave, PHP, Python, R, and Ruby are provided.
MIT License - see the LICENSE file in the source distribution.
Releases can be downloaded from the releases page. In addition, the following package manager are supported:
Conan (C/C++):
https://conan.io/center/tinyspline
NuGet (C#):
Go:
Luarocks (Lua):
Maven (Java):
PyPI (Python):
On macOS, you probably need to change the path to Python in _tinysplinepython.so
via install_name_tool
.
RubyGems (Ruby):
See BUILD.md.
A variety of examples (unit tests) can be found in the [test](test) subdirectory. The [examples](examples) subdirectory contains at least one example for each interface (target language).
The following listing shows a python example:
The resulting image:
[1] is a very good starting point for B-Splines.
[2] explains De Boor's Algorithm and gives some pseudo code.
[3] provides a good overview of NURBS with some mathematical background.
[4] is useful if you want to use NURBS in TinySpline.