Sto avendo un piccolo problema con alcuni trig di base. Sto facendo alcuni compiti di matematica, e alla fine mi sono stufato di convertire le coordinate rettangolari in coordinate polari e viceversa, così ho deciso di creare un piccolo programma Python per aiutarmi con le conversioni. Tuttavia, Math.atan() mi sta dando un piccolo problema. Ecco il codice:.Trigger di base: math.atan() problema
def rect_to_polar_input(x, y):
hypotenuse = math.sqrt((x * x) + (y * y))
tangent = float(y/x);
angle = round(math.degrees(math.atan(tangent)));
if x <= 0:
if(y >=0):
angle += 90
if(y <= 0):
angle+= 180
if x >= 0:
if(y<0):
angle+=270
return hypotenuse, angle
Nel caso in cui vi state chiedendo il motivo per cui non ho quei goffi if
dichiarazioni in là, è di aggiungere l'angolo corretto per il quadrante le coordinate rettangolari sono nel quadrante 2 è di 90 gradi lontano da Quadrant 1 e il quadrante 3 è di 180 gradi rispetto al quadrante 1, ecc.
Ora, se si immette un valore come (5, 5)
, tutto funziona come previsto. Tuttavia, se inserisco (-5, 5)
, ottengo il valore di 7.07, 45
, dove dovrei ottenere 7.07, 135
. Se inserisco (-5, -5)
, ottengo un valore di 7.07, 225
, che è previsto. Infine, se inserisco il valore (5, -5)
, ottengo ancora il valore 7.07, 225
. Ho provato tutto quello che riesco a pensare, ma non funziona. Quindi, cosa mi sto perdendo?
Sì, è andata così, grazie! Ci scusiamo per l'attesa. –