1.
def
cartesiana_para_polar(x,y):
2.
""" converte de coordenadas cartesianas para polares."""
3.
r
=
sqrt(x
*
*
2
+
y
*
*
2
)
4.
theta
=
math.atan(float(y)
/
x)
5.
return
r, theta
Nota: Usar a função atan() pode trazer problemas pois o quadrante do ângulo não é determinada. Por exemplo, se as coordenadas forem (1,1) e (-1,-1) , vamos ter sempre o mesmo resultado, 45º, e não esse, na primeira situação, e 135º na segunda. Também há problemas caso o ponto seja (1,0). A solução está em usar atan2():
1.
def
cartesiana_para_polar(x,y):
2.
""" converte de coordenadas cartesianas para polares."""
3.
r
=
sqrt(x
*
*
2
+
y
*
*
2
)
4.
theta
=
math.atan2(y,x)
5.
return
r, theta
Notar a vírgula a separar os argumentos, em vez da divisão.
Sem comentários:
Enviar um comentário