- #1
Superqwerty
- 1
- 0
Polarization calculation, "frame alignment"
problem statement
A ray of light (represented by a Stokes vector; coming from a light source) goes through an ideal polarizing filter and reflects off two surfaces (X2 and X1, in that order) and . The goal is to calculate what the stokes vector looks after that.
The parameters are the IOR ("possibly complex") of the two surfaces and three angles, phi, rho and delta. Phi is the "incoming angle" for X2, delta is the "incoming angle" for X1 and rho is the "tilt" of X2. http://janbenes.net/diagram.png
I'm able to construct the Muller matrices for all the 3 elements, what I'm having trouble with though is keeping track of the coordinate systems (or even understanding what they role is).
As I get it, first the light goes thru the polarizer, having a reference system with one axis aligned with the ray's direction ([tex]R_p[/tex]), then it hit's the first interface, the [tex]X_2[/tex]. I do have the Muller matrix and I guess I should somehow "rotate" the stokes vector to account for the tilt, I'm just not sure I do that. Then, ray hits the [tex]X_1[/tex] interface and voila.
PS: we're not interested in the direction of the reflection or in any kind of refraction, only in the resulting stokes vector.
My attempt was
[tex]\vec{v}_{out} = M_{X_1} R_2 M_{X_2} R_1 M_P\vec{v}[/tex]
which means I take the vector, let it go thru a Muller matrix for ideal polarizer (parametrized by angle btw) [tex]M_P[/tex], then rotate the coordinate system using [tex]R_1[/tex], then multiplying by [tex]M_{X_2}[/tex], rotate back using [tex]R_2[/tex], and finally apply [tex]M_{X_1}[/tex]. Just to be sure, I've tried swapping the (inverse, by definition) matrices [tex]R_1, R_2[/tex], but that wouldn't help. I've also tried playing around with the order of the multiplications, to no avail.
I think I either have a bug in my source code that does the calculations for me, or I don't understand something, probaby to do with those reference frame transformations.
There is also one other thing I couldn't figure out... While all resources keep stating the Fresnel equations take IORs of both the media the ray is traveling in and the one it's reflecting off, I only have one IOR for each surface and none for the media it's traveling in.
Also, I don't seem to get why the diagram shows the ray as traveling from the eye to the sun (also, the indexing of the surfaces would suggest I'm supposed to evaluate the surfaces in inverted order).
Relevant equations
I have all the equations ready, I just am not able to use them it seems.
short disclaimer
This is for a computer graphics lecture and it's supposed to get us to know the computations behind polarization better. I have been unable to find any resources that discuss this (except "optical radiation measurements" - chapter on polarization, from which I've read) and have nowhere else to ask right now. Also, I only have limited knowledge of polarization (know what it is, the types) but I'm very far from having any sort of intuition (or other physics knowledge)
thanks
problem statement
A ray of light (represented by a Stokes vector; coming from a light source) goes through an ideal polarizing filter and reflects off two surfaces (X2 and X1, in that order) and . The goal is to calculate what the stokes vector looks after that.
The parameters are the IOR ("possibly complex") of the two surfaces and three angles, phi, rho and delta. Phi is the "incoming angle" for X2, delta is the "incoming angle" for X1 and rho is the "tilt" of X2. http://janbenes.net/diagram.png
I'm able to construct the Muller matrices for all the 3 elements, what I'm having trouble with though is keeping track of the coordinate systems (or even understanding what they role is).
As I get it, first the light goes thru the polarizer, having a reference system with one axis aligned with the ray's direction ([tex]R_p[/tex]), then it hit's the first interface, the [tex]X_2[/tex]. I do have the Muller matrix and I guess I should somehow "rotate" the stokes vector to account for the tilt, I'm just not sure I do that. Then, ray hits the [tex]X_1[/tex] interface and voila.
PS: we're not interested in the direction of the reflection or in any kind of refraction, only in the resulting stokes vector.
My attempt was
[tex]\vec{v}_{out} = M_{X_1} R_2 M_{X_2} R_1 M_P\vec{v}[/tex]
which means I take the vector, let it go thru a Muller matrix for ideal polarizer (parametrized by angle btw) [tex]M_P[/tex], then rotate the coordinate system using [tex]R_1[/tex], then multiplying by [tex]M_{X_2}[/tex], rotate back using [tex]R_2[/tex], and finally apply [tex]M_{X_1}[/tex]. Just to be sure, I've tried swapping the (inverse, by definition) matrices [tex]R_1, R_2[/tex], but that wouldn't help. I've also tried playing around with the order of the multiplications, to no avail.
I think I either have a bug in my source code that does the calculations for me, or I don't understand something, probaby to do with those reference frame transformations.
There is also one other thing I couldn't figure out... While all resources keep stating the Fresnel equations take IORs of both the media the ray is traveling in and the one it's reflecting off, I only have one IOR for each surface and none for the media it's traveling in.
Also, I don't seem to get why the diagram shows the ray as traveling from the eye to the sun (also, the indexing of the surfaces would suggest I'm supposed to evaluate the surfaces in inverted order).
Relevant equations
I have all the equations ready, I just am not able to use them it seems.
short disclaimer
This is for a computer graphics lecture and it's supposed to get us to know the computations behind polarization better. I have been unable to find any resources that discuss this (except "optical radiation measurements" - chapter on polarization, from which I've read) and have nowhere else to ask right now. Also, I only have limited knowledge of polarization (know what it is, the types) but I'm very far from having any sort of intuition (or other physics knowledge)
thanks
Last edited: