Curvo
Curvo is a NURBS curve / surface modeling library for Rust.
Visualization on Bevy
This library enables not only the creation of NURBS curves from control points, knot vectors, and weights associated with each control point, but also supports generating curves that precisely pass through the given control points and creating periodic curves. Additionally, it allows for the construction of NURBS surfaces through operations such as extruding and lofting based on NURBS curves as inputs.
The modeling operations for NURBS surfaces supported by this library currently include the following:
- Extrude
- Loft
- Sweep
- Revolve
The supported features also include finding the closest point on NURBS curves, finding intersections between two NURBS curves, and dividing based on arc length.
Additional features
Usage
use *;
use ;
use FRAC_PI_2;
Dependencies
- nalgebra: this library heavily relies on nalgebra, a linear algebra library, to perform its computations.
References
- The NURBS Book by Piegl and Tiller
Feature development sponsored by VUILD Inc.
The NURBS boolean operations feature in this project was developed at the request of VUILD.
They supported the development as a sponsor by funding the feature's implementation.