#bezier #iga #graphics #unit-testing

isogeometric_analysis

Create implementing algorithms related to Isogeometric Analysis. Bezier, B-spline, NURBS, numerical integration and isogeometric approach to PDE approximation.

6 releases

0.3.1 Feb 16, 2022
0.3.0 Feb 7, 2022
0.2.1 Feb 4, 2022
0.1.1 Feb 1, 2022
0.1.0 Jan 31, 2022

#330 in Rendering

LGPL-3.0+

1MB
2.5K SLoC

Isogeometric Analysis

This crate is a working in progress. The idea is that it should contain a trivial implementation of the algorithms involved in the approximation of partial differential equations through an isogeometric approach. The crate includes trivial implementations of Bezier, B-spline and NURBS curves and surfaces, numerical integration and basic linear algebra.

The crate is a work in progress and currently only implements:

  • Bezier curves (direct method and De Casteljau's)
  • Bezier surfaces (direct method and De Casteljau's)
  • Rational Bezier curves
  • Rational Bézier circular arcs and circles

Examples

Examples can be found in the documentation, in the unit tests and in two other crates:

Demo

The library includes procedures to load data for the Utah teapot, teacup and teaspoon: https://github.com/rm-hull/newell-teapot. This is a demo of how patches are computed by the crate and rendered through gnuplot.

teapot teapot teapot

More Info

More info about Isogeometric Analysis and these topics can be downloaded from: https://bugfreeblog.duckdns.org/isogeometric-analysis.

Dependencies

~5–15MB
~172K SLoC