O:=point(0,0); d:=droite(x=3); a:=element(1..5); plotpolar(3/cos(t)+a,t,affichage=rouge)On a choisit h = 3. On peut ainsi faire varier a et voir les 3 cas :
O:=point(0,0); d:=droite(x=3):;d; supposons(a=[4.3,-5.0,5.0,0.0]); plotpolar(3/cos(t)+a,t,affichage=rouge); T(a,u,x):=(3/(-a*sin(u)*cos(u)^2)-cos(u)/sin(u))*x+ (a+3/cos(u))^2/(a*sin(u)); animation(seq('droite(y=tan(u)*x)',u,-10,10,0.1)); animation(seq('P:=point(3+i*tan(u)*3)',u,-10,10,0.1)); animation(seq('M:=point((3/cos(u)+a)*exp(i*u))',u,-10,10,0.1)); animation(seq('droite(y=T(a,u,x),affichage=vert)',u,-10,10,0.1));On obtient :
On suppose maintenant que des rayons parallèles à l'axe des y se
réfléchissent
sur la deuxième nappe (lorsque
- /2 <
<
/2).
Pour avoir la trace des rayons réfléchis, on tape :
O:=point(0,0); d:=droite(x=3):;d; supposons(a=[4.3,-5.0,5.0,0.0]); plotpolar(3/cos(t)+a,t,affichage=rouge); T(a,u,x):=(3/(-a*sin(u)*cos(u)^2)-cos(u)/sin(u))*x+ (a+3/cos(u))^2/(a*sin(u)); N:=unapply(equal2list(equation(perpendiculaire( M,droite(y=T(a,u,x)))))[1],[a,u,x]); //N(a,u,x):=(a*sin(u)*cos(u)^2)/(3+a*cos(u)^3)*x+ //(9*tan(u)+3*a*sin(u))/(3+a*cos(u)^3); supposons(u:=[1.2,(-pi)/2,pi/2,0.05]); M:=point((3/cos(u)+a)*exp(i*u)); dd:=symetrie(droite(y=N(a,u,x)), demi_droite(M,point(i*(3/cos(u)+a)*sin(u)))):; trace(dd);On obtient quand on fait bouger le curseur u pour avoir la trace des rayons réfléchis :