KM03_ex4.mw

> restart:with(plots):

Warning, the name changecoords has been redefined

EXERCICE 4

>

> a:=5:b:=3:F:=(x,y)->x^2/a^2+y^2/b^2-1;

F := proc (x, y) options operator, arrow; x^2/a^2+y^2/b^2-1 end proc

lancé depuis un point M(x,y) dans la direction du vecteur d(u,v), la balle impacte le bord du billard en P et rebondit la direction du vecteur delta

le point P est à l'intersection de la droite parametrée par [X,Y]=[x,y]+t[u,v] et la conique F(X,Y)=0

il s'agit du point de la droite de paramètre r[2] deuxième racine du ploynôme en t F(x+tu,y+tv)=0

la direction du rebond est alors obtenue par symétrie de d / à au vecteur nomal n à l'ellipse en P:

delta=d-2(d|n)n

> impact_ellipse:=proc(M,d)
local r,t,n,ps,P,delta;

r:=racines(F(M[1]+t*d[1],M[2]+t*d[2]),t);

P:=[M[1]+r[2]*d[1],M[2]+r[2]*d[2]];

n:=vec_normal(F,P):ps:=d[1]*n[1]+d[2]*n[2]:

delta:=[d[1]-2*ps*n[1],d[2]-2*ps*n[2]];

[P,delta];

end:

>

>

> impact_ellipse([0,0],[0,1]);

[[0, 3], [0, -1]]

>