Friday, April 24, 2020
Deugging refraction in a sphere
Here is a setup to help debugging refraction using a sphere and a particular ray. I have do track single rays like this every time I implement refraction. Here is the setup:
If it is to hit where the surface of the sphere is at 45 degrees, it has to have y component cos(45) = sqrt(2)/2 . So the origin of the ray should be o = (-something, sqrt(2)/2). And v = (1, 0). B, the reflected direction should have origin (-sqrt(2)/2, sqrt(2)/2) and direction (0,1).
What about C? It has origin (-sqrt(2)/2, sqrt(2)/2) and direction (1+sqrt(2)/2, -sqrt(2)/2) which has a length of about 1.84776. So C = (0.9239, -0.3827) approximately.
But what refractive index produces such a C? We an see that two of the sides have length 1, so the two angles are the same, and we can see that sin(theta) = (sqrt(2)/2) / 1.8776 = 0.38268. So the refractive index must be the ratio of that ans sin(45). So refractive_index = 1.8478.
So what is D? By symmetry it must leave at 45 degrees so D = (1, -1) / sqrt(2).
And finally E reflects across the X axis and E = (-0.9239, -0.3827) approximately