orbingol / NURBS-Python

Object-oriented pure Python B-Spline and NURBS library
https://onurraufbingol.com/NURBS-Python/
MIT License
640 stars 156 forks source link

basis_function ZeroDivisionError #180

Open Julien-Livet opened 3 days ago

Julien-Livet commented 3 days ago

Describe the bug The bug is a ZeroDivisionError when I evaluate a sample curve at parameter 1.0.

To Reproduce Here is the code that produces the error. from geomdl import NURBS

curve = NURBS.Curve() curve.degree = 2 curve.ctrlpts = [[-2.0, -4.0, 0.0], [-1.0, -4.0, 2.0], [0.0, -4.0, 0.0], [1.0, -4.0, 0.0], [2.0, -4.0, 0.0]] curve.weights = [1, 1, 1, 1, 1] curve.knotvector = [0, 0, 0, 0, 1, 1, 1, 1]

print(curve.evaluate_single(1.0))

Expected Behavior I expect the value [2, -4, 0].

Configuration: