Ejemplo n.º 1
0
def test_bspline_surface_deriv():
    # Create a surface isntance
    surf = OBJECT_INSTANCE()

    # Set degrees
    surf.degree_u = 3
    surf.degree_v = 3

    # Set control points
    surf.set_ctrlpts(CONTROL_POINTS, 6, 6)

    # Set knot vectors
    surf.knotvector_u = [0.0, 0.0, 0.0, 0.0, 0.33, 0.66, 1.0, 1.0, 1.0, 1.0]
    surf.knotvector_v = [0.0, 0.0, 0.0, 0.0, 0.33, 0.66, 1.0, 1.0, 1.0, 1.0]

    # Take the derivative
    der1 = surf.derivatives(u=0.35, v=0.35, order=2)
    surf.evaluator = evaluators.SurfaceEvaluator2()
    der2 = surf.derivatives(u=0.35, v=0.35, order=2)

    for k in range(0, 3):
        for l in range(0, 3 - k):
            assert abs(der1[k][l][0] - der2[k][l][0]) < GEOMDL_DELTA
            assert abs(der1[k][l][1] - der2[k][l][1]) < GEOMDL_DELTA
            assert abs(der1[k][l][2] - der2[k][l][2]) < GEOMDL_DELTA
Ejemplo n.º 2
0
def test_bspline_surface_deriv(spline_surf):
    der1 = spline_surf.derivatives(u=0.35, v=0.35, order=2)
    spline_surf.evaluator = evaluators.SurfaceEvaluator2()
    der2 = spline_surf.derivatives(u=0.35, v=0.35, order=2)
    for k in range(0, 3):
        for l in range(0, 3 - k):
            assert abs(der1[k][l][0] - der2[k][l][0]) < GEOMDL_DELTA
            assert abs(der1[k][l][1] - der2[k][l][1]) < GEOMDL_DELTA
            assert abs(der1[k][l][2] - der2[k][l][2]) < GEOMDL_DELTA