Witam,
Mam, zdawało by się trywialny, problem dotyczący obliczania przez Python wartości podawanej dla matematycznej funkcji math.asin(x) - gdzie x to podawany parametr
import math
Ax = float(input("Ax: "))
Ay = float(input("Ay: "))
Bx = float(input("Bx: "))
By = float(input("By: "))
Cx = float(input("Cx: "))
Cy = float(input("Cy: "))
AB = ((Bx-Ax)**2+(By-Ay)**2)**0.5
BC = ((Cx-Bx)**2+(Cy-By)**2)**0.5
AC = ((Cx-Ax)**2+(Cy-Ay)**2)**0.5
sinAlfa = (BC/AC + BC/AB)/2.0
sinBeta = (AC/AB + AC/BC)/2.0
sinGamma = (AB/AC + AB/BC)/2.0
katA = math.degrees(math.asin(sinAlfa))
katB = math.degrees(math.asin(sinBeta))
katC = math.degrees(math.asin(sinGamma))
print "kat alfa:",katA,", kat beta:",katB,", kat gamma:",katC
dodam że w języku JAVA nie ma z tym problemu a w Python-ie wyrzuca mi coś takiego:
Traceback (most recent call last):
File "I:\wrokspace\PythonProject\src\zadania0\1.py", line 42, in <module>
katA = math.degrees(math.asin(sinAlfa))
ValueError: math domain error