예제 #1
0
def test_curve():
    s = Symbol('s')
    z = Symbol('z')

    # this curve is independent of the indicated parameter
    c = Curve([2 * s, s**2], (z, 0, 2))

    assert c.parameter == z
    assert c.functions == (2 * s, s**2)
    assert c.arbitrary_point() == Point(2 * s, s**2)
    assert c.arbitrary_point(z) == Point(2 * s, s**2)

    # this is how it is normally used
    c = Curve([2 * s, s**2], (s, 0, 2))

    assert c.parameter == s
    assert c.functions == (2 * s, s**2)
    t = Symbol('t')
    assert c.arbitrary_point() != Point(2 * t, t**
                                        2)  # the t returned as assumptions
    t = Symbol('t',
               real=True)  # now t has the same assumptions so the test passes
    assert c.arbitrary_point() == Point(2 * t, t**2)
    assert c.arbitrary_point(z) == Point(2 * z, z**2)
    assert c.arbitrary_point(c.parameter) == Point(2 * s, s**2)
    assert c.arbitrary_point(None) == Point(2 * s, s**2)
    assert c.plot_interval() == [t, 0, 2]
    assert c.plot_interval(z) == [z, 0, 2]

    raises(ValueError, 'Curve((s), (s, 1, 2))')
    raises(ValueError, 'Curve((x, x * 2), (1, x))')

    raises(ValueError, 'Curve((s, s + t), (s, 1, 2)).arbitrary_point()')
    raises(ValueError, 'Curve((s, s + t), (t, 1, 2)).arbitrary_point(s)')
예제 #2
0
def test_curve():
    s = Symbol('s')
    z = Symbol('z')

    # this curve is independent of the indicated parameter
    c = Curve([2*s, s**2], (z, 0, 2))

    assert c.parameter == z
    assert c.functions == (2*s, s**2)
    assert c.arbitrary_point() == Point(2*s, s**2)
    assert c.arbitrary_point(z) == Point(2*s, s**2)

    # this is how it is normally used
    c = Curve([2*s, s**2], (s, 0, 2))

    assert c.parameter == s
    assert c.functions == (2*s, s**2)
    t = Symbol('t')
    assert c.arbitrary_point() != Point(2*t, t**2) # the t returned as assumptions
    t = Symbol('t', real=True) # now t has the same assumptions so the test passes
    assert c.arbitrary_point() == Point(2*t, t**2)
    assert c.arbitrary_point(z) == Point(2*z, z**2)
    assert c.arbitrary_point(c.parameter) == Point(2*s, s**2)
    assert c.arbitrary_point(None) == Point(2*s, s**2)
    assert c.plot_interval() == [t, 0, 2]
    assert c.plot_interval(z) == [z, 0, 2]

    raises(ValueError, 'Curve((s), (s, 1, 2))')
    raises(ValueError, 'Curve((x, x * 2), (1, x))')

    raises(ValueError, 'Curve((s, s + t), (s, 1, 2)).arbitrary_point()')
    raises(ValueError, 'Curve((s, s + t), (t, 1, 2)).arbitrary_point(s)')
예제 #3
0
파일: test_curve.py 프로젝트: msgoff/sympy
def test_curve():
    x = Symbol("x", real=True)
    s = Symbol("s")
    z = Symbol("z")

    # this curve is independent of the indicated parameter
    c = Curve([2 * s, s ** 2], (z, 0, 2))

    assert c.parameter == z
    assert c.functions == (2 * s, s ** 2)
    assert c.arbitrary_point() == Point(2 * s, s ** 2)
    assert c.arbitrary_point(z) == Point(2 * s, s ** 2)

    # this is how it is normally used
    c = Curve([2 * s, s ** 2], (s, 0, 2))

    assert c.parameter == s
    assert c.functions == (2 * s, s ** 2)
    t = Symbol("t")
    # the t returned as assumptions
    assert c.arbitrary_point() != Point(2 * t, t ** 2)
    t = Symbol("t", real=True)
    # now t has the same assumptions so the test passes
    assert c.arbitrary_point() == Point(2 * t, t ** 2)
    assert c.arbitrary_point(z) == Point(2 * z, z ** 2)
    assert c.arbitrary_point(c.parameter) == Point(2 * s, s ** 2)
    assert c.arbitrary_point(None) == Point(2 * s, s ** 2)
    assert c.plot_interval() == [t, 0, 2]
    assert c.plot_interval(z) == [z, 0, 2]

    assert (
        Curve([x, x], (x, 0, 1))
        .rotate(pi / 2, (1, 2))
        .scale(2, 3)
        .translate(1, 3)
        .arbitrary_point(s)
        == Line((0, 0), (1, 1))
        .rotate(pi / 2, (1, 2))
        .scale(2, 3)
        .translate(1, 3)
        .arbitrary_point(s)
        == Point(-2 * s + 7, 3 * s + 6)
    )

    raises(ValueError, lambda: Curve((s), (s, 1, 2)))
    raises(ValueError, lambda: Curve((x, x * 2), (1, x)))

    raises(ValueError, lambda: Curve((s, s + t), (s, 1, 2)).arbitrary_point())
    raises(ValueError, lambda: Curve((s, s + t), (t, 1, 2)).arbitrary_point(s))
예제 #4
0
def test_curve():
    s = Symbol('s')
    z = Symbol('z')

    # this curve is independent of the indicated parameter
    c = Curve([2*s, s**2], (z, 0, 2))

    assert c.parameter == z
    assert c.functions == (2*s, s**2)
    assert c.arbitrary_point() == Point(2*s, s**2)
    assert c.arbitrary_point(z) == Point(2*s, s**2)

    # this is how it is normally used
    c = Curve([2*s, s**2], (s, 0, 2))

    assert c.parameter == s
    assert c.functions == (2*s, s**2)
    t = Symbol('t')
    assert c.arbitrary_point(
        ) != Point(2*t, t**2)  # the t returned as assumptions
    t = Symbol(
        't', real=True)  # now t has the same assumptions so the test passes
    assert c.arbitrary_point() == Point(2*t, t**2)
    assert c.arbitrary_point(z) == Point(2*z, z**2)
    assert c.arbitrary_point(c.parameter) == Point(2*s, s**2)
    assert c.arbitrary_point(None) == Point(2*s, s**2)
    assert c.plot_interval() == [t, 0, 2]
    assert c.plot_interval(z) == [z, 0, 2]

    assert Curve([x, x], (x, 0, 1)
        ).rotate(pi/2, (1, 2)).scale(2, 3).translate(1, 3).arbitrary_point(s
        ) == \
            Line((0, 0), (1, 1)
        ).rotate(pi/2, (1, 2)).scale(2, 3).translate(1, 3).arbitrary_point(s
        ) == Point(-2*s + 7, 3*s + 6)

    raises(ValueError, lambda: Curve((s), (s, 1, 2)))
    raises(ValueError, lambda: Curve((x, x * 2), (1, x)))

    raises(ValueError, lambda: Curve((s, s + t), (s, 1, 2)).arbitrary_point())
    raises(ValueError, lambda: Curve((s, s + t), (t, 1, 2)).arbitrary_point(s))