Bonjour,
(Avant de commencer je tien a préciser que je suis un gros noob sur python donc merci de ne pas me lyncher si mon erreur est bête)
J'essaye de créer un programme qui simule la trajectoire des rayons lumineux déviés par l'eau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import numpy as np 
import matplotlib.pyplot as plt 
#%%Dessin général 
n1=1.000272
n2=1.33298

def vague(x) :
    return np.cos(x/2)
    
def vague_p(x):
    return -0.5*np.sin(x/2)

def droite(t,optionel=False):
    inc=np.arctan(vague_p(t))
    ref=np.arcsin(n1/n2*np.sin(inc)
    coeff_dir=np.tan(ref-inc)                          (Le problème est ici)
    if optionel : 
        return coeff_dir*(-35)-vague(t)+t
    return lambda x: 1/coeff_dir*(x+vague(t)-t)
Spider me signale une erreur de syntaxe mais je ne la voit pas, quelque chose de la forme x=np.tan(a-b) ne marche pas si a et b sont des flottans mais marche si je défini une fonction a(t) et b(t) et que je fais un appel.
Je ne comprend vraiment pas et merci d'avance pour votre aide ^^