I’m working on a problem that has to do with calculating angles of refraction and what not. However, it seems that I’m unable to use the numpy.sin() function in degrees. I have tried to use numpy.degrees() and numpy.rad2deg().

numpy.sin(90)

numpy.degrees(numpy.sin(90))

Both return ~ 0.894 and ~ 51.2 respectively.

Thanks for your help.

You don’t want to convert to degrees, because you already have your number (90) in degrees. You need to convert 90 from degrees to radians, and you need to do it before you take the sine:

>>> np.sin(np.deg2rad(90))
1.0

(You can use either deg2rad or radians.)

Use the math module from the standard Python library:

>>> math.sin(math.radians(90))

You can define the following symbols to work in degrees:

sind = lambda degrees: np.sin(np.deg2rad(degrees))
cosd = lambda degrees: np.cos(np.deg2rad(degrees))
print(sind(90)) # Output 1.0