예제 #1
0
def test_surface2_and_point1():
    s, _ = utils.real_roots([4, -32, -56, -24, 5])
    _, t = utils.real_roots([4, 8, -16, 44, -11])
    check_point(SURFACE2, 1, s, t)
예제 #2
0
def test_surface3_and_point1():
    (s, ) = utils.real_roots([2, -5, 15, -3])
    (t, ) = utils.real_roots([14, -61, 74, -15])
    check_point(SURFACE3, 1, s, t)
예제 #3
0
def test_surface4_and_point2():
    (s, ) = utils.real_roots([64, 101, 34, -5])
    (t, ) = utils.real_roots([128, -192, 91, -8])
    check_point(SURFACE4, 2, s, t)
예제 #4
0
)
# F4 = sympy.Matrix([[2 * (s + 2 * t) * (1 - t), 2 * t * (s + 1)]])
TRIANGLE4 = bezier.Triangle.from_nodes(
    np.asfortranarray([[0.0, 1.0, 2.0, 2.0, 2.0, 0.0],
                       [0.0, 0.0, 0.0, 1.0, 2.0, 2.0]]),
    copy=False,
)
TRIANGLES = {
    1: TRIANGLE1,
    2: TRIANGLE2,
    3: TRIANGLE3,
    4: TRIANGLE4,
}
POINTS = np.asfortranarray([[0.0, 0.25, 0.59375, 0.265625, 1.25],
                            [0.0, 0.25, 0.25, 0.73046875, 1.25]])
S_VAL1, _ = utils.real_roots([4, -32, -56, -24, 5])
_, T_VAL1 = utils.real_roots([4, 8, -16, 44, -11])
(S_VAL2, ) = utils.real_roots([2, -5, 15, -3])
(T_VAL2, ) = utils.real_roots([14, -61, 74, -15])
(S_VAL3, ) = utils.real_roots([64, 101, 34, -5])
(T_VAL3, ) = utils.real_roots([128, -192, 91, -8])
CASES = (
    (1, 0, 0.0, 0.0),
    (1, 1, 0.25, 0.25),
    (2, 1, S_VAL1, T_VAL1),
    (2, 2, 0.5, 0.25),
    (2, 4, None, None),
    (3, 1, S_VAL2, T_VAL2),
    (3, 3, 0.125, 0.75),
    (4, 2, S_VAL3, T_VAL3),
    (4, 4, 0.25, 0.5),