148 lines
6.3 KiB
Python
148 lines
6.3 KiB
Python
from typing import Tuple, List
|
|
|
|
import winkelumrechnungen as wu
|
|
import random
|
|
|
|
table1 = [
|
|
(wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(90), 1.00000000000,
|
|
wu.gms2rad([90, 0, 0.0000]), wu.gms2rad([90, 0, 0.0000]), 10018754.9569),
|
|
|
|
(wu.deg2rad(1), wu.deg2rad(0), wu.deg2rad(-80), wu.deg2rad(5), 0.05883743460,
|
|
wu.gms2rad([179, 7, 12.2719]), wu.gms2rad([174, 40, 13.8487]), 8947130.7221),
|
|
|
|
(wu.deg2rad(5), wu.deg2rad(0), wu.deg2rad(-60), wu.deg2rad(40), 0.34128138370,
|
|
wu.gms2rad([160, 13, 24.5001]), wu.gms2rad([137, 26, 47.0036]), 8004762.4330),
|
|
|
|
(wu.deg2rad(30), wu.deg2rad(0), wu.deg2rad(-30), wu.deg2rad(175), 0.86632464962,
|
|
wu.gms2rad([91, 7, 30.9337]), wu.gms2rad([91, 7, 30.8672]), 19547128.7971),
|
|
|
|
(wu.deg2rad(60), wu.deg2rad(0), wu.deg2rad(60), wu.deg2rad(175), 0.06207487624,
|
|
wu.gms2rad([2, 52, 26.2393]), wu.gms2rad([177, 4, 13.6373]), 6705715.1610),
|
|
|
|
(wu.deg2rad(75), wu.deg2rad(0), wu.deg2rad(80), wu.deg2rad(120), 0.11708984898,
|
|
wu.gms2rad([23, 20, 34.7823]), wu.gms2rad([140, 55, 32.6385]), 2482501.2608),
|
|
|
|
(wu.deg2rad(80), wu.deg2rad(0), wu.deg2rad(60), wu.deg2rad(90), 0.17478427424,
|
|
wu.gms2rad([72, 26, 50.4024]), wu.gms2rad([159, 38, 30.3547]), 3519745.1283)
|
|
]
|
|
|
|
table2 = [
|
|
(wu.deg2rad(0), wu.deg2rad(-90), wu.deg2rad(0), wu.deg2rad(89.5), 1.00000000000,
|
|
wu.gms2rad([90, 0, 0.0000]), wu.gms2rad([90, 0, 0.0000]), 19981849.8629),
|
|
|
|
(wu.deg2rad(1), wu.deg2rad(-90), wu.deg2rad(1), wu.deg2rad(89.5), 0.18979826428,
|
|
wu.gms2rad([10, 56, 33.6952]), wu.gms2rad([169, 3, 26.4359]), 19776667.0342),
|
|
|
|
(wu.deg2rad(5), wu.deg2rad(-90), wu.deg2rad(5), wu.deg2rad(89), 0.09398403161,
|
|
wu.gms2rad([5, 24, 48.3899]), wu.gms2rad([174, 35, 12.6880]), 18889165.0873),
|
|
|
|
(wu.deg2rad(30), wu.deg2rad(-90), wu.deg2rad(30), wu.deg2rad(86), 0.06004022935,
|
|
wu.gms2rad([3, 58, 23.8038]), wu.gms2rad([176, 2, 7.2825]), 13331814.6078),
|
|
|
|
(wu.deg2rad(60), wu.deg2rad(-90), wu.deg2rad(60), wu.deg2rad(78), 0.06076096484,
|
|
wu.gms2rad([6, 56, 46.4585]), wu.gms2rad([173, 11, 5.9592]), 6637321.6350),
|
|
|
|
(wu.deg2rad(75), wu.deg2rad(-90), wu.deg2rad(75), wu.deg2rad(66), 0.05805851008,
|
|
wu.gms2rad([12, 40, 34.9009]), wu.gms2rad([168, 20, 26.7339]), 3267941.2812),
|
|
|
|
(wu.deg2rad(80), wu.deg2rad(-90), wu.deg2rad(80), wu.deg2rad(55), 0.05817384452,
|
|
wu.gms2rad([18, 35, 40.7848]), wu.gms2rad([164, 25, 34.0017]), 2132316.9048)
|
|
]
|
|
|
|
table3 = [
|
|
(wu.deg2rad(0), wu.deg2rad(0.5), wu.deg2rad(80), wu.deg2rad(0.5), 0.05680316848,
|
|
wu.gms2rad([0, 0, 16.0757]), wu.gms2rad([0, 1, 32.5762]), 8831874.3717),
|
|
|
|
(wu.deg2rad(-1), wu.deg2rad(5), wu.deg2rad(75), wu.deg2rad(5), 0.05659149555,
|
|
wu.gms2rad([0, -1, 47.2105]), wu.gms2rad([0, 6, 54.0958]), 8405370.4947),
|
|
|
|
(wu.deg2rad(-5), wu.deg2rad(30), wu.deg2rad(60), wu.deg2rad(30), 0.04921108945,
|
|
wu.gms2rad([0, -4, 22.3516]), wu.gms2rad([0, 8, 42.0756]), 7204083.8568),
|
|
|
|
(wu.deg2rad(-30), wu.deg2rad(45), wu.deg2rad(30), wu.deg2rad(45), 0.04017812574,
|
|
wu.gms2rad([0, -3, 41.2461]), wu.gms2rad([0, 3, 41.2461]), 6652788.1287),
|
|
|
|
(wu.deg2rad(-60), wu.deg2rad(60), wu.deg2rad(5), wu.deg2rad(60), 0.02843082609,
|
|
wu.gms2rad([0, -8, 40.4575]), wu.gms2rad([0, 4, 22.1675]), 7213412.4477),
|
|
|
|
(wu.deg2rad(-75), wu.deg2rad(85), wu.deg2rad(1), wu.deg2rad(85), 0.00497802414,
|
|
wu.gms2rad([0, -6, 44.6115]), wu.gms2rad([0, 1, 47.0474]), 8442938.5899),
|
|
|
|
(wu.deg2rad(-80),wu.deg2rad(89.5), wu.deg2rad(0), wu.deg2rad(89.5), 0.00050178253,
|
|
wu.gms2rad([0, -1, 27.9705]), wu.gms2rad([0, 0, 16.0490]), 8888783.7815)
|
|
]
|
|
|
|
table4 = [
|
|
(wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(90), 1.00000000000,
|
|
wu.gms2rad([90, 0, 0.0000]), wu.gms2rad([90, 0, 0.0000]), 10018754.1714),
|
|
|
|
(wu.deg2rad(1), wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(179.5), 0.30320665822,
|
|
wu.gms2rad([17, 39, 11.0942]), wu.gms2rad([162, 20, 58.9032]), 19884417.8083),
|
|
|
|
(wu.deg2rad(5), wu.deg2rad(0), wu.deg2rad(-80), wu.deg2rad(170), 0.03104258442,
|
|
wu.gms2rad([178, 12, 51.5083]), wu.gms2rad([10, 17, 52.6423]), 11652530.7514),
|
|
|
|
(wu.deg2rad(30), wu.deg2rad(0), wu.deg2rad(-75), wu.deg2rad(120), 0.24135347134,
|
|
wu.gms2rad([163, 49, 4.4615]), wu.gms2rad([68, 49, 50.9617]), 14057886.8752),
|
|
|
|
(wu.deg2rad(60), wu.deg2rad(0), wu.deg2rad(-60), wu.deg2rad(40), 0.19408499032,
|
|
wu.gms2rad([157, 9, 33.5589]), wu.gms2rad([157, 9, 33.5589]), 13767414.8267),
|
|
|
|
(wu.deg2rad(75), wu.deg2rad(0), wu.deg2rad(-30), wu.deg2rad(0.5), 0.00202789418,
|
|
wu.gms2rad([179, 33, 3.8613]), wu.gms2rad([179, 51, 57.0077]), 11661713.4496),
|
|
|
|
(wu.deg2rad(80), wu.deg2rad(0), wu.deg2rad(-5), wu.deg2rad(120), 0.15201222384,
|
|
wu.gms2rad([61, 5, 33.9600]), wu.gms2rad([171, 13, 22.0148]), 11105138.2902),
|
|
|
|
(wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(60), wu.deg2rad(0), 0.00000000000,
|
|
wu.gms2rad([0, 0, 0.0000]), wu.gms2rad([0, 0, 0.0000]), 6663348.2060)
|
|
]
|
|
|
|
tables = [table1, table2, table3, table4]
|
|
|
|
def get_example(table: int, example: int) -> Tuple:
|
|
"""
|
|
Rückgabe eines Beispiels
|
|
:param table: Tabellen-Nummer
|
|
:param example: Beispiel-Nummer
|
|
:return: Bespiel
|
|
"""
|
|
table -= 1
|
|
example -= 1
|
|
tables = get_tables()
|
|
return tables[table][example]
|
|
|
|
def get_tables() -> List:
|
|
"""
|
|
Rückgabe aller Tabellen
|
|
:return: Alle Tabellen
|
|
"""
|
|
return tables
|
|
|
|
def get_random_examples(num: int, seed: int = None) -> List:
|
|
"""
|
|
Rückgabe zufäliger Beispiele
|
|
:param num: Anzahl Beispiele
|
|
:param seed: Random-Seed
|
|
:return:
|
|
"""
|
|
if seed is not None:
|
|
random.seed(seed)
|
|
|
|
examples = []
|
|
for i in range(num):
|
|
table = random.randint(1, 4)
|
|
if table == 4:
|
|
example = random.randint(1, 8)
|
|
else:
|
|
example = random.randint(1, 7)
|
|
example = get_example(table, example)
|
|
examples.append(example)
|
|
return examples
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# test = get_example(1, 4)
|
|
examples = get_random_examples(5)
|
|
pass
|