def testQuaternionBSpline():
    t,qa = geodesicQuaternionPath()
    yield checkQuaternionSpline, QuaternionBSpline, t, qa
    for i in range(10):
        validity = randomValidity(t)
        qb = invalidate(qa, validity)
        yield checkQuaternionSpline, PartialInputQuaternionBSpline, t, qb
Ejemplo n.º 2
0
def testVectorSpline():
    for order in (1, 3, 5):
        for i in range(10):
            x = randomTimeSequence()
            y = randomPositionSequence(x)
            yield checkVectorSpline, UnivariateVectorSpline, x, y, order
            validity = randomValidity(x)
            yn = invalidate(y, validity)
            yield checkVectorSpline, PartialInputVectorSpline, x, yn, order
def testVectorSpline():
    for order in (1, 3, 5):
        for i in range(10):
            x = randomTimeSequence()
            y = randomPositionSequence(x)
            yield checkVectorSpline, UnivariateVectorSpline, x, y, order
            validity = randomValidity(x)
            yn = invalidate(y, validity)
            yield checkVectorSpline, PartialInputVectorSpline, x, yn, order
Ejemplo n.º 4
0
def testPartialInterpolatingSpline():
    x = np.linspace(0,10,1000)
    x = invalidate(x, randomValidity(x))
    y = x**3
    yp = 3*x**2
    ypp = 6*x

    spline = PartialInputSpline(x,y, order=3)
    valid = np.array(
        np.sum(((x >= spline.validFrom) & (x <= spline.validTo) for spline in
            spline.splines)), dtype=bool)
    assert_almost_equal(spline(x)[valid], y[valid])
    assert_almost_equal(spline(x, 1)[valid], yp[valid])
    assert_almost_equal(spline(x, 2)[valid], ypp[valid])
def testPartialInterpolatingSpline():
    x = np.linspace(0, 10, 1000)
    x = invalidate(x, randomValidity(x))
    y = x**3
    yp = 3 * x**2
    ypp = 6 * x

    spline = PartialInputSpline(x, y, order=3)
    valid = np.array(np.sum(((x >= spline.validFrom) & (x <= spline.validTo)
                             for spline in spline.splines)),
                     dtype=bool)
    assert_almost_equal(spline(x)[valid], y[valid])
    assert_almost_equal(spline(x, 1)[valid], yp[valid])
    assert_almost_equal(spline(x, 2)[valid], ypp[valid])