'Snell's Law not functioning
I am writing a program to calculate light refraction using snell's law, however, when I run the program it prints -0.7076118148 rather than the correct value of 22
import numpy as np
theta_1 = 30
n1 = 1
n2 = 1.33
theta_2 = np.arcsin(n1 / n2 * np.sin(theta_1))
print(theta_2)
Solution 1:[1]
You're using degrees instead of radians.
You'll have to convert, e.g like this:
import numpy as np
theta_1 = 30;
n1 = 1
n2 = 1.33
theta_1_rad = np.radians(theta_1)
theta_2_rad = np.arcsin(n1 / n2 * np.sin(theta_1_rad))
theta_2 = np.degrees(theta_2_rad)
print(theta_2)
=> 22.082413194472252
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |