Files
Masterprojekt/winkelumrechnungen.py
2025-10-15 11:32:56 +02:00

159 lines
3.2 KiB
Python

from numpy import *
def deg2gms(deg: float) -> list:
"""
Umrechnung von Grad in Grad-Minuten-Sekunden
:param deg: Winkel in Grad
:type deg: float
:return: Winkel in Grad-Minuten-Sekunden
:rtype: list
"""
gra = deg // 1
min = gra % 1
gra = gra // 1
min *= 60
sek = min % 1
min = min // 1
sek *= 60
return [gra, min, sek]
def deg2gra(deg: float) -> float:
"""
Umrechnung von Grad in Gon
:param deg: Winkel in Grad
:type deg: float
:return: Winkel in Gon
:rtype: float
"""
return deg * 10/9
def deg2rad(deg: float) -> float:
"""
Umrechnung von Grad in Radiant
:param deg: Winkel in Grad
:type deg: float
:return: Winkel in Radiant
:rtype: float
"""
return deg * pi / 180
def gra2gms(gra: float) -> list:
"""
Umrechnung von Gon in Grad-Minuten-Sekunden
:param gra: Winkel in Gon
:type gra: float
:return: Winkel in Grad-Minuten-Sekunden
:rtype: list
"""
deg = gra2deg(gra)
gra = deg // 1
min = gra % 1
gra = gra // 1
min *= 60
sek = min % 1
min = min // 1
sek *= 60
return [gra, min, sek]
def gra2rad(gra: float) -> float:
"""
Umrechnung von Gon in Radiant
:param gra: Winkel in Gon
:type gra: float
:return: Winkel in Radiant
:rtype: float
"""
return gra * pi / 200
def gra2deg(gra: float) -> float:
"""
Umrechnung von Gon in Grad
:param gra: Winkel in Gon
:type gra: float
:return: Winkel in Grad
:rtype: float
"""
return gra * 9/10
def rad2deg(rad: float) -> float:
"""
Umrechnung von Radiant in Grad
:param rad: Winkel in Radiant
:type rad: float
:return: Winkel in Grad
:rtype: float
"""
return rad * 180 / pi
def rad2gra(rad: float) -> float:
"""
Umrechnung von Radiant in Gon
:param rad: Winkel in Radiant
:type rad: float
:return: Winkel in Gon
:rtype: float
"""
return rad * 200 / pi
def rad2gms(rad: float) -> list:
"""
Umrechnung von Radiant in Grad-Minuten-Sekunden
:param rad: Winkel in Radiant
:type rad: float
:return: Winkel in Grad-Minuten-Sekunden
:rtype: list
"""
deg = rad2deg(rad)
min = deg % 1
gra = deg // 1
min *= 60
sek = min % 1
min = min // 1
sek *= 60
return [gra, min, sek]
def gms2rad(gms: list) -> float:
"""
Umrechnung von Grad-Minuten-Sekunden in Radiant
:param gms: Winkel in Grad-Minuten-Sekunden
:type gms: list
:return: Winkel in Radiant
:rtype: float
"""
deg = gms[0] + gms[1] / 60 + gms[2] / 3600
return deg2rad(deg)
def gms2deg(gms: list) -> float:
"""
Umrechnung von Grad-Minuten-Sekunden in Grad
:param gms: Winkel in Grad-Minuten-Sekunden
:type gms: list
:return: Winkel in Grad
:rtype: float
"""
deg = gms[0] + gms[1] / 60 + gms[2] / 3600
return deg
def gms2gra(gms: list) -> float:
"""
Umrechnung von Grad-Minuten-Sekunden in Gon
:param gms: Winkel in Grad-Minuten-Sekunden
:type gms: list
:return: Winkel in Gon
:rtype: float
"""
deg = gms[0] + gms[1] / 60 + gms[2] / 3600
return deg2gra(deg)