LNLib is a C++ NURBS Algorithms Library.
These algorithms are primary referenced from The NURBS Book 2nd Edition.
The APIs are re-designed to make it more friendly to users.
Please run build.bat first to construct C++ solution by CMake.
Basic Elements:
- UV
- XYZ
- XYZW
- Matrix4d
- LNObject
Algorithms in The Nurbs Book:
Chapter | Content |
---|---|
Chapter 1 | Basis Function Computation |
Chapter 1 to 4 | Bezier/B-Spline/NURBS Curve and Surface |
Chapter 5 | Curve and Surface Decomposition Knot Insertion/Refinement/Removal Degree Elevation and Reduction |
Chapter 6 | Curve/Surface Point Inversion Surface Tangent Vector Inversion Curve/Surface Reparameterization Curve Transform and Reverse Surface Swap and Reverse |
Chapter 7 | Create Arc/Conic Curve |
Chapter 8 | Create Bilinear/Cylindrical/Ruled/Revolved/CornerFillet Surface |
Chapter 9 | Global/Local Curve/Surface Interpolation and Approximation |
Chapter 10 | Create Swung/Loft/Sweep/Gordon/Coons Surface |
Chapter 11 | Curve Modification in Control Point Locations or Weight Values |
Chapter 12 | Curve Clamp/UnClamp/IsClamp KnotVector IsUniform Curve IsClosed/IsPeriodic |
Additional Algorithms:
Description | Content |
---|---|
Basic Properties | Curve/Surface Curvature and Normal Curve Split/Segment/Merge/Offset Curve IsLinear/IsArc Curve Approximate Length Surface Approximate Area |
Curve Creation | Create Line/Cubic Hermite |
Tessellation | Curve Tessellation Surface Triangulation |
LNLibViewer based on VTK
Welcome join this project including discussions in Issues and make Pull requests.
LNLib is created by Yuqing Liang (BIMCoder Liang).
- bim.frankliang@foxmail.com
- 微信公众号:BIMCoder
The source code is published under GNU General Public License v3.0, the license is available here.
The NURBS Book 2nd Edition by Les Piegl & Wayne Tiller