Giter Site home page Giter Site logo

chenwenwei-2019 / lnlib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bimcoderliang/lnlib

0.0 0.0 0.0 605 KB

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

License: GNU General Public License v3.0

C++ 99.22% C 0.09% CMake 0.67% Batchfile 0.02%

lnlib's Introduction

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/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:
    • Curve/Surface Curvature and Normal
    • Curve Split/Merge/Offset
    • Curve IsLinear/IsArc
    • Curve Approximate Length
    • Surface Approximate Area
  • Tessellation:
    • Curve Tessellation.

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

lnlib's People

Contributors

bimcoderliang avatar cyanray avatar xnaut avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.