aerocaps.geom.nurbs_purepython#

Pure-python implementation of NURBS evaluation (no numpy).

Warning

The functions in this module are purely for comparison purposes and calling of these functions from higher-level functions or methods is discouraged since the much faster rust_nurbs library is available.

Functions

bernstein_poly(n, i, t)

Evaluates the Bernstein polynomial at a single \(t\)-value.

bezier_curve_eval(p, t)

Evaluates a Bézier curve with \(n+1\) control points at a single \(t\)-value according to

bezier_surf_eval(p, u, v)

Evaluates a Bézier surface with \(n+1\) control points in the \(u\)-direction and \(m+1\) control points in the \(v\)-direction at a \((u,v)\) parameter pair according to

bezier_surf_eval_grid(p, nu, nv)

Evaluates a Bézier surface with \(n+1\) control points in the \(u\)-direction and \(m+1\) control points in the \(v\)-direction at \(N_u \times N_v\) points along a linearly-spaced rectangular grid in \((u,v)\)-space according to

bspline_curve_eval(p, k, t)

Evaluates a B-spline curve with \(n+1\) control points at a single \(t\)-value according to

bspline_surf_eval(p, ku, kv, u, v)

Evaluates a B-spline surface with \(n+1\) control points in the \(u\)-direction and \(m+1\) control points in the \(v\)-direction at a \((u,v)\) parameter pair according to

bspline_surf_eval_grid(p, ku, kv, nu, nv)

Evaluates a B-spline surface with \(n+1\) control points in the \(u\)-direction and \(m+1\) control points in the \(v\)-direction at \(N_u \times N_v\) points along a linearly-spaced rectangular grid in \((u,v)\)-space according to

nchoosek(n, k)

Computes the mathematical combination

nurbs_curve_eval(p, w, k, t)

Evaluates a Non-Uniform Rational B-Spline (NURBS) curve with \(n+1\) control points at a single \(t\)-value according to

nurbs_surf_eval(p, w, ku, kv, u, v)

Evaluates a Non-Uniform Rational B-Spline (NURBS) surface with \(n+1\) control points in the \(u\)-direction and \(m+1\) control points in the \(v\)-direction at a \((u,v)\) parameter pair according to

nurbs_surf_eval_grid(p, w, ku, kv, nu, nv)

Evaluates a Non-Uniform Rational B-Spline (NURBS) surface with \(n+1\) control points in the \(u\)-direction and \(m+1\) control points in the \(v\)-direction at \(N_u \times N_v\) points along a linearly-spaced rectangular grid in \((u,v)\)-space according to

rational_bezier_curve_eval(p, w, t)

Evaluates a rational Bézier curve with \(n+1\) control points at a single \(t\)-value according to

rational_bezier_surf_eval(p, w, u, v)

Evaluates a rational Bézier surface with \(n+1\) control points in the \(u\)-direction and \(m+1\) control points in the \(v\)-direction at a \((u,v)\) parameter pair according to

rational_bezier_surf_eval_grid(p, w, nu, nv)

Evaluates a rational Bézier surface with \(n+1\) control points in the \(u\)-direction and \(m+1\) control points in the \(v\)-direction at \(N_u \times N_v\) points along a linearly-spaced rectangular grid in \((u,v)\)-space according to