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()
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_test26():
    link(A, B, E)
    link(A, C, F)
    link(B, C)
    link(B, D)
    link(C, D)
    link(B, P)
    link(C, P)

    set_angle('BAC', 30)
    set_angle('ABC', 80)

    split_angle('ABC', 'BD', 0.5)
    split_angle('ACB', 'CD', 0.5)
    split_angle('CBE', 'BP', 0.5)
    split_angle('BCF', 'CP', 0.5)

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

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

    set_angle('ABD', 70)

    get_angle('CBD')

    # assert result['answer'] == 75
    return get_problem()
def practical_test31():
    link(A, B)
    link(A, C)
    link(D, B, C, E)
    set_angle('BAC', 80)
    set_angle('ACE', 140)
    
    get_angle('ABD')
    
    # assert result['answer'] == 120
    return get_problem()
def basic_test25():
    link(A, B)
    link(A, C)
    link(B, C)

    set_angle('BAC', 45)

    get_angle('ABC')

    # assert result['answer'] == 75
    return get_problem()
Ejemplo n.º 7
0
def practical_test19():
    link(A, B)
    link(A, C)
    link(B, C, D)

    set_angle('ABC', 40)
    set_angle('ACD', 120)

    get_angle('BAC')

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

    set_angle('BDC', 120)
    set_angle('ABE', 30)
    set_angle('ACD', 40)

    get_angle('BAC')

    # assert result['answer'] == 50
    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()
Ejemplo n.º 10
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_test20():
    link(A, F, B)
    link(A, E)
    link(C, F, E)
    link(C, D)

    set_angle('EAB', 20)
    set_angle('AEC', 35)

    parallel('AB', 'CD')

    get_angle('ECD')

    # assert result['answer'] == 55
    return get_problem()
Ejemplo n.º 12
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_test11():
    link(A, B)
    link(A, C)
    link(B, C)
    link(D, C)

    parallel('AB', 'DC')

    set_angle('ACD', 64)
    set_angle('ABC', 42)

    get_angle('ACB')

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

    set_angle('BAC', 35)
    set_angle('BDF', 42)

    perpendicular('DF', 'AB')

    get_angle('ACD')

    # assert result['answer'] == 83
    return get_problem()
Ejemplo n.º 15
0
def practical_test13():
    link(A, B)
    link(A, C)
    link(B, C)
    link(C, D)

    parallel('AB', 'DC')

    set_angle('BAC', 70)
    set_angle('ABC', 40)

    get_angle('ACD')

    # assert result['answer'] == 70
    return get_problem()
Ejemplo n.º 16
0
def practical_test1():
    link(A, D, B)
    link(A, E, C)
    link(D, F, C)
    link(B, F, E)
    link(B, C)

    set_angle('BAC', 45)
    set_angle('ABE', 40)
    set_angle('ACD', 20)

    get_angle('EFC')

    # assert result['answer'] == 75
    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_test37():
    link(A, F, H, C)
    link(C, J, I, E)
    link(E, G, F, B)
    link(B, H, J, D)
    link(D, I, G, A)

    set_angle('CAD', 10)
    set_angle('EBD', 20)
    set_angle('ACE', 30)
    set_angle('ADB', 40)

    get_angle('BEC')

    # assert result['answer'] == 80
    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()
Ejemplo n.º 20
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_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_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()
Ejemplo n.º 23
0
def practical_test2():
    link(A, D)
    link(A, B)
    link(A, E, C)
    link(B, E, D)
    link(B, C)

    set_angle('BAC', 60)
    set_angle('ACB', 30)
    set_angle('ADB', 45)
    set_angle('ABD', 45)
    set_angle('BAD', 90)
    set_angle('ABC', 90)

    get_angle('AEB')

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

    set_angle('BAC', 50)
    set_angle('ACD', 40)
    set_angle('ABE', 28)

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

    get_angle('CFE')

    # assert result['answer'] == 62
    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()
def practical_test30():
    link(O, A)
    link(O, D)
    link(O, B)
    link(O, C)
    link(A, B)
    link(D, C)

    set_angle('AOB', 90)
    set_angle('DOC', 90)
    set_angle('BOD', 60)

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

    get_angle('AOC')

    # assert result['answer'] == 120
    return get_problem()
Ejemplo n.º 28
0
def practical_test38():
    link(A, G, H, B)
    link(B, D)
    link(D, H, P, C)
    link(C, E)
    link(E, P, G, F)
    link(F, A)

    set_angle('BAF', 20)
    set_angle('ABD', 40)
    set_angle('DCE', 60)
    set_angle('BDC', 80)
    set_angle('CEF', 90)

    get_angle('AFE')

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

    set_angle('ABC', 36)
    set_angle('ACB', 76)

    split_angle('BAC', 'AF', ratio=0.5)
    common_vertex_angles('A', ['B', 'F', 'D', 'C'])
    perpendicular('AD', 'BC')

    get_angle('DAF')

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

    set_angle('BAC', 50)
    set_angle('ABC', 60)
    split_angle('ABC', 'BD')
    split_angle('ACE', 'CD')

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

    get_angle('BDC')

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