Write a program to calculate the angle of incidence (in degrees) of a light ray in Region 2 given the angle of incidence in Region 1 and the indices of refraction n1 and n2. (Note: If n2>n1, then for some angles 1, Equation 2 will have no real solution because the absolute value of the quantity will be greater than 1. When this occurs, all light is reflected back into Region 1, and no light passes into Region 2 at all. Your program must be able to recognize and properly handle this condition.) The program should also create a plot showing the incident ray, the boundary between the two regions, and the refracted ray on the other side of the boundary. Test your program by running it for the following two cases: (a) n1= 1.0, n2 = 1.7, and 1= 45°. (b) n1 = 1.7, n2 = 1.0; and 1= 45°

Respuesta :

The program is an illustration of conditional statements

What are conditional statements?

conditional statements are statements that are used to make decisions

The main program

The program written in Python, where comments are used to explain each line is as follows

#This imports the math module

import math

#This get sthe refraction index 1

n1 = float(input("Refraction index 1: "))

#This get sthe refraction index 2

n2 = float(input("Refraction index 2: "))

#This gets the normal angle of incidence in region 1

theta1 = float(input("Normal of incidence in region 1 (degrees): "))

#If n1 is greater than n2, then there is no real solution

if n1 > n2:

   print("No real solution")

#If otherwise

else:

   #This calculates the angle of incidence

   theta2 = math.asin(n1/n2 * math.sin(math.radians(theta1))) * (180/math.pi)

   #This prints the angle of incidence

   print("Angle of incidence",round(theta2,2),"degrees")

Note that the program only calculates the angle of incidence, it does not print the plot

Read more about conditional statements at:

https://brainly.com/question/24833629