def practical_test18():
    link(A, B)
    link(A, C)
    link(B, D, E, C)
    link(A, F, D)
    link(B, F)
    link(A, E)

    common_vertex_angles('A', ['B', 'D', 'E', 'C'])
    common_vertex_angles('B', ['A', 'F', 'C'])

    perpendicular('AD', 'BC')

    set_angle('AED', 62)
    set_angle('BAC', 90)
    set_angle('ACB', 45)

    # Set as unit length.
    set_length('AF', 1)
    set_length('EC', 1)

    get_angle('DBF')

    # assert result['answer'] == 28
    return get_problem()
def practical_test3():
    link(A, B, C, E)
    link(B, D)
    link(D, E)

    set_angle('ABD', 120)
    set_angle('BDE', 30)

    set_length('BD', 210)

    get_length('DE')
    
    # assert abs(result['answer'] - (3**(1/2) / 2) * 210) < 1e-3
    return get_problem()
def practical_test36():
    link(A, D)
    link(A, E)
    link(D, C)
    link(E, C)
    link(D, B)
    link(E, B)
    link(D, E)

    set_angle('DAE', 60)

    set_length('BD', 2)
    set_length('BE', 2)
    set_length('AD', 3)
    set_length('AE', 3)

    split_angle('ADB', 'DC')
    split_angle('AEB', 'EC')

    common_vertex_angles('D', ['A', 'C', 'B', 'E'])
    common_vertex_angles('E', ['A', 'C', 'B', 'D'])

    get_angle('DBE')

    # assert abs(result['answer'] - 97.181) < 1e-3
    return get_problem()
예제 #4
0
def practical_test43():
    link(A, B)
    link(A, C)
    link(B, D, C)
    link(A, D)

    split_line('BC', 'D')
    set_angle('BAC', 90)
    set_length('AB', 4)
    set_length('AC', 3)

    get_length('AD')

    # assert result['answer'] == 2.5
    return get_problem()
def practical_test29():
    link(A, B)
    link(A, C)
    link(B, D, C)
    link(A, D)

    set_length('AB', 8)
    set_length('BD', 4)
    common_vertex_angles('A', ['B', 'D', 'C'])
    split_line('BC', 'D')
    set_angle('ABC', 60)

    get_length('AC')

    # assert result['answer'] == 8
    return get_problem()
def practical_test48():
    link(A, G, E)
    link(A, D, C)
    link(B, G, D)
    link(B, E, C)

    perpendicular('AC', 'CB')
    split_line('AC', 'D')
    split_line('BC', 'E')
    set_length('CD', 15)
    set_length('CE', 15)

    get_length('BD')

    # assert result['answer'] == 33.5
    return get_problem()
예제 #7
0
def practical_test44():
    link(A, C)
    link(A, P)
    link(A, B)
    link(C, P, B)
    
    set_angle('ACB', 90)
    set_length('AC', 3)
    set_length('BC', 4)
    split_line('BC', 'P', 0.5)
    
    common_vertex_angles('A', ['C', 'P', 'B'])
    
    get_length('AP')

    # assert result['answer'] == 60
    return get_problem()
def practical_test49():
    link(A, D, B)
    link(A, E, C)
    link(D, E)
    link(B, C)

    set_angle('ADE', 60)
    set_angle('ABC', 60)
    set_angle('BAC', 30)
    set_length('DE', 4)

    split_line('AB', 'D', 1/3)
    
    get_length('BC')

    # assert result['answer'] == 12
    return get_problem()
def practical_test16():
    link(A, B)
    link(A, D, C)
    link(B, D)
    link(B, E, C)
    link(D, E)

    set_angle('BAC', 90)
    set_length('AB', 4)
    set_length('BD', 5)
    perpendicular('DE', 'BC')
    split_angle('ABC', 'BD', 0.5)

    common_vertex_angles('B', ['A', 'D', 'C'])

    get_length('AD')

    # assert result['answer'] == 3
    return get_problem()
예제 #10
0
def practical_test27():
    link(A, B)
    link(A, C)
    link(B, D, C)
    link(A, D)
    
    set_angle('ABD', 50)

    split_line('BC', 'D')

    set_length('AB', 1)
    set_length('AC', 1)

    common_vertex_angles('A', ['B', 'D', 'C'])

    get_angle('BAD')
    
    # assert result['answer'] == 40
    return get_problem()
def practical_test17():
    link(A, B)
    link(A, D, C)
    link(B, D)
    link(B, C)

    set_angle('BAC', 40)

    common_vertex_angles('B', ['A', 'D', 'C'])

    # Set as unit length.
    set_length('AB', 1)
    
    line_equivalence('AB', 'AC')
    line_equivalence('BD', 'BC')

    get_angle('ABD')

    # assert result['answer'] == 30
    return get_problem()
예제 #12
0
def practical_test40():
    link(A, B)
    link(A, D)
    link(B, C)
    link(C, D)
    link(A, C)
    link(B, D)

    common_vertex_angles('A', ['B', 'C', 'D'])
    common_vertex_angles('B', ['A', 'D', 'C'])
    common_vertex_angles('C', ['B', 'A', 'D'])
    common_vertex_angles('D', ['A', 'B', 'C'])

    set_angle('BAD', 60)
    set_angle('BCD', 120)
    set_length('BC', 5)
    set_length('DC', 3)
    
    angle_equivalence('ABD', 'ADB')
    
    get_length('AC')
    
    # assert result['answer'] == 8
    return get_problem()
예제 #13
0
def practical_test46():
    link(B, D, A)
    link(B, P)
    link(B, E, C)
    link(P, D)
    link(P, E)

    split_angle('ABC', 'BP', 0.5)

    set_length('DB', 1)
    set_length('DP', 1.2)
    set_length('BP', 3**(1 / 2))
    set_length('BE', 2)

    common_vertex_angles('B', ['A', 'P', 'C'])

    get_angle('BEP')

    # assert result['answer'] == 30
    return get_problem()
예제 #14
0
def practical_test41():
    link(A, B)
    link(B, D)
    link(B, C)
    link(A, D, C)

    set_length('AB', 1)
    set_length('BD', 1)
    set_length('CD', 1)
    set_angle('BDC', 110)

    get_angle('ABC')

    # assert result['answer'] == 75
    return get_problem()
def practical_test5():
    link(A, B)
    link(A, N, C)
    link(B, M, C)
    link(M, N)

    set_length('AB', 5)
    set_length('AC', 5)
    set_length('BC', 6)

    perpendicular('MN', 'AC')
    split_line('BC', 'M', 0.5)

    get_length('MN')

    # assert result['answer'] == 2.4
    return get_problem()
def practical_test47():
    link(A, B)
    link(A, P, D)
    link(B, P, C)
    link(C, D)

    set_length('AB', 4)
    set_length('CD', 6)
    set_length('AD', 10)
    set_angle('DAB', 30)
    set_angle('ADC', 30)
    set_angle('BCD', 45)
    set_angle('ABC', 45)

    get_length('AP')

    # assert result['answer'] == 4
    return get_problem()
def practical_test9():
    link(A, C)
    link(A, D, B)
    link(B, F, C)
    link(D, F)

    set_angle('ACB', 90)

    perpendicular('DF', 'AB')

    set_length('AC', 1)
    set_length('AD', 1)
    set_length('BC', 1)

    get_length('BF')

    # assert abs(result['answer'] - (2 - 2**(1/2))) < 1e-3
    return get_problem()
예제 #18
0
def practical_test39():
    link(A, F, B)
    link(A, C)
    link(B, D, C)
    link(D, F)
    link(A, D)

    split_angle('BAC', 'AD', 0.5)

    set_length('AB', 4)
    set_length('AC', 3)
    set_length('BC', 5)

    common_vertex_angles('A', ['B', 'D', 'C'])
    common_vertex_angles('D', ['B', 'F', 'A'])

    split_angle('BAC', 'AD')

    get_length('CD')

    # assert result['answer'] == 2.143
    return get_problem()
예제 #19
0
def practical_test6():
    link(A, M, B)
    link(A, N, C)
    link(B, C)
    link(B, O)
    link(C, O)
    link(M, O, N)

    set_length('AB', 12)
    set_length('AC', 18)
    set_length('BC', 24)

    split_angle('ABC', 'BO', 0.5)
    split_angle('ACB', 'CO', 0.5)
    
    parallel('MN', 'BC')

    common_vertex_angles('B', ['A', 'O', 'C'])
    common_vertex_angles('C', ['A', 'O', 'B'])
    
    get_circumference('AMN')

    # assert result['answer'] == 30
    return get_problem()