nurbspy.nurbs_surface_bilinear module

nurbspy.nurbs_surface_bilinear module#

class nurbspy.nurbs_surface_bilinear.NurbsSurfaceBilinear(P00, P01, P10, P11)[source]#

Bases: object

Create a NURBS representation of the bilinear patch defined by corners P00, P01, P10, and P11

Create a NURBS representation of the bilinear patch

S(u,v) = (1-v)*[(1-u)*P00 + u*P01] + v*[(1-u)*P10 + u*P11]

Note that a bilinear patch is a ruled surface with segments (P00, P01) and (P10, P11) as generating curves

S(u,v) = (1-v)*C1(u) + v*C2(u) C1(u) = (1-u)*P00 + u*P01 C2(u) = (1-u)*P10 + u*P11

Parameters:
P00, P01, P10, P11ndarrays with shape (ndim,)

Coordinates of the corner points defining the bilinear surface (ndim=3)

Methods

make_nurbs_surface()

Make a NURBS surface representation of the bilinear surface

References

The NURBS book. Chapter 8.2 L. Piegl and W. Tiller Springer, second edition

make_nurbs_surface()[source]#

Make a NURBS surface representation of the bilinear surface