JohnnyWu0918 / LNLib

A C++ NURBS Algorithms Library, match the NURBS Book

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

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.

Run LNLib

Please run build.bat first and it will construct solution by CMake.

Features

Basic Elements:

  • UV
  • XYZ
  • XYZW
  • Matrix4d
  • LNObject

NURBS Algorithms:

  • Chapter 1:
    • Basis Function Computation
  • Chapter 1,2,3,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 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:
    • Clamp/UnClamp Nurbs Curve
  • Additional:
    • Curve/Surface Curvature and Normal
    • Curve Split/Merge/Offset

Contributing

Welcome join this project including discussions in Issues and make Pull requests.

Author

LNLib is created by Yuqing Liang (BIMCoder Liang).

License

The source code is published under GNU General Public License v3.0, the license is available here.

Primary Reference

The NURBS Book 2nd Edition by Les Piegl & Wayne Tiller

About

A C++ NURBS Algorithms Library, match the NURBS Book

License:GNU General Public License v3.0


Languages

Language:C++ 99.2%Language:CMake 0.7%Language:C 0.1%Language:Batchfile 0.0%