# -*- coding: utf-8 -*-
"""
Obtenir les ordres et angles diffractes par un reseau.
"""

from math import sin, asin #sinus et arcsin, angles en radian


def sintheta(p,lambda_raie,a, theta0):
    """ formule du reseau de diffraction, renvoie sin(theta) pour
    ordre p, pas a, longueur d'onde lambda_raie, angle d'incidence theta0"""
    return p*lambda_raie/a + sin(theta0)

# valeurs des parametres
a = 2e-06 # pas du reseau
theta0 = 1 # angle d'incidence
lambda_raie = 532e-9 # longueur d'onde


# initialisations
ordres = [] # liste des [ordre,angle]
# l'ordre 0 existe toujours
p = 0
out = sintheta(p,lambda_raie,a, theta0) # sin(theta) pour ordre 0

# balayer les p >= 0
while out ### a ccompleter

# balayer les p < 0
### a ccompleter