{"id":23250958,"url":"https://github.com/hese49/throw","last_synced_at":"2025-04-06T02:15:35.071Z","repository":{"id":267293583,"uuid":"900795986","full_name":"Hese49/Throw","owner":"Hese49","description":"Calculator for oblique throwing motion.","archived":false,"fork":false,"pushed_at":"2024-12-10T15:44:55.000Z","size":2376,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T08:18:51.981Z","etag":null,"topics":["calculator","python3","throw","tkinter-gui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hese49.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-09T13:42:27.000Z","updated_at":"2024-12-10T15:44:58.000Z","dependencies_parsed_at":"2024-12-09T14:47:06.011Z","dependency_job_id":"7d0cec90-5ce3-42c2-8b0d-1126284f4163","html_url":"https://github.com/Hese49/Throw","commit_stats":null,"previous_names":["hese49/throw"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hese49%2FThrow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hese49%2FThrow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hese49%2FThrow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hese49%2FThrow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hese49","download_url":"https://codeload.github.com/Hese49/Throw/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423520,"owners_count":20936626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calculator","python3","throw","tkinter-gui"],"created_at":"2024-12-19T09:16:12.304Z","updated_at":"2025-04-06T02:15:35.052Z","avatar_url":"https://github.com/Hese49.png","language":"Python","readme":"# Calculator for oblique throwing motion\n\nTHE FILES \n\nThe file  '**Throwing_motion.py**'  is a  TkInter  graphical user interface (QUI).\nIt calculates the values ​​of the parameters in an oblique throwing motion when\nthe necessary input data is given. \n\nThe file  '**ThrowCalc.py**'  is used as a calculation module of the QUI file. This file can also be used as an independent program (if __name__ == \"__main__\"  at the end of the file). There is also available a file '**ThrowCalc_Test.py**' , where there are many opportunities for printing intermediate results in a problem cases.\n\nThe file '**TestRuns.txt**' shows many possibilities for using the program to solve problems related to oblique throwing.  In '**Calculator.gif**' you can see the layout of the calculator. \n\nPROGRAM FLOW    \n    The user  enters the known quantities into QUI and those quantities are then sent as a  \n    list 'vals' to the calculation module. \n    The output (return) of the calculation module is the list 'Vals', which includes the values \n    given by the user and calculated in this module.\n               \n    Phase I\n    Some special cases will be calculated first separately (Special 1..5).\n    The updates are made in the list 'vals', (but after PHASE I they are in\n    the list 'Vals').\n    \n    Phase II\n    The idea is to find all those equations having only one unknown variable \n    and solve them. Then make updates and check if new equations,\n    with only one unknown have appeared, and solve them. Continue this process\n    in loop so long as possible and then give out the list 'Vals'. \n    \n    1) Substitute all equations 'eqs' with user input values and with values \n       calculated in special cases. These values can be found in the list 'Vals'.\n       Also update the unknown quantities in the lists of list 'unks'.\n       (List 'unks' contain a list for every equation for its unknowns.)\n         \n    2) Find those equations with only one variable ('function find_1_uk()').\n    \n    3) Solve equations with only one variable      ('function solve_1_uk()').\n    \n    4) Do three updates with the newly found variable values:\n          -Update values 'Vals'        (function 'upd_Vals()'\n          -Update equations 'eqs'      (function 'upd_egs()'\n          -Update list of unknow variables 'unks' for every equation\n          (function'upd_unks())'\n     \n    Repeat repeat steps 1)...4) until there are no more equations with\n    only one unknown variable (while loop).\n    \n    Output\n    Print the list 'Vals' in the console.\n    Return the list 'Vals' to the TkInter GUI to be printed  in its\n    entry fields.       \n\n    H.M.  Dec 2024               \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhese49%2Fthrow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhese49%2Fthrow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhese49%2Fthrow/lists"}