Directions faisceaux (lambda = 0,55 microns)

Segment gris : plan réseau
Trait jaune : faisceau incident
Trait pointillé bleu : normale au réseau miroir
Trait orange : direction ordre 1
Trait vert : direction ordre 2

i = 22 (slider from -5 to 50, step 1)
ntr: 625
lambda: 0.55
theta': ((-asin((ntr * lambda / 1000) - cos(i°))) * 180 / π)
reseau = Rotate(Segment[(-1, 0), (1, 0)], ((-i))°)
fscincident = Ray((0, 0), (-1, 0))
texte1: "Inclinaison du réseau sur l'axe : " + i + "°"
isortie: theta' + 90 - i
dsortie = Line((0, 0), (cos(isortie° + π), sin(isortie° + π)))
theta: 90 - i
dnormale = OrthogonalLine((0, 0), reseau)
theta2': ((-asin(((2 * ntr) * lambda / 1000) - cos(i°))) * 180 / π)
isortie2: theta2' + 90 - i
dsortie2 = Line((0, 0), (cos(isortie2° + π), sin(isortie2° + π)))
ir = Angle((1; (180 - i)°), (0, 0), (-1, 0))
θ = Angle(fscincident, Rotate[dnormale, 180°])
θ' = Angle(Rotate[dnormale, 180°], dsortie)
texte2: "Orientation du rayon vert (550 nm) 
sur l'axe du spectrographe : " + isortie + "°"