Un problème de trigonométrie “Diophantienne”

d=Degree       (*Facteur de conversion des degrés en radians*)

arctg[z_]:=If[z>=0,ArcTan[z],180 d+ArcTan[z]]         (*Aménagement de la fonction tangente inverse dans les cas de valeurs négatives de la variable, z*)

{arctg[-1],arctg[0],arctg[1]}/d//N

Liste (volontairement tronquée) des 1980 triplets {u, v, w } lorsque u et v entiers sont en degrés dans les limites autorisées par le problème :

liste1=Partition[Flatten[Table[{u,v,arctg[((Sin[v d]Sin[u d+v d])/(Cos[u d]-Cos[v d]Sin[u d+v d]))]/d }//N,{u,1,44},{v,46-u,90-u}]],3]

Length[liste1]

Liste précédente réduite aux 88 triplets {u, v, w } tels que u , v et w sont entiers en degrés :

liste2=Select[liste1,Round[#[[3]]]==#[[3]]&]

Length[liste2]

Dans liste2, u parcourt les valeurs entières, de 1° à 44°; à chaque fois, v vaut 45° ou 90°-2u et w vaut 45°+u. Le triplet, {20, 45, 65}, correspondant au problème d’entrée, est bien présent dans cette liste , en position 39 :

liste2[[39]]

Autre façon de formaliser liste2 :

liste3=Partition[Flatten[Table[{{Ceiling[k/2],45,45+Ceiling[k/2]},{Ceiling[k/2],90-2Ceiling[k/2],45+Ceiling[k/2]}},{k,1,88,2}]],3]

Grid[Partition[liste3,8]]

Si on se donne les valeurs (entières) de u et w, au lieu de celles de u et v, on observe que deux possibilités existent systématiquement pour v, par exemple si u = 20° et w = 65°, v peut valoir 45° ou 50 °. Les 88 (= 2x44) cas sont réunis dans le montage animé suivant où u est marqué en rouge, v en bleu (deux fois) et w en vert :

animation=ListAnimate[Table[Graphics[{Black,Line[{{{0,1},{1,1},{1,0},{0,0},{0,1}}}],Line[{{0,1},{1,1-Tan[liste3[[2u-1,1]] d]}}],Line[{{1,1-Tan[liste3[[2u-1,1]] d]},{Cot[liste3[[2u-1,1]] d+liste3[[2u-1,2]] d],0},{0,1}}],Line[{{1,1-Tan[liste3[[2u,1]] d]},{Cot[liste3[[2u,1]] d+liste3[[2u,2]] d],0},{0,1}}],Red,Circle[{0,1},0.2,{0,-liste3[[2u-1,1]] d}],Blue,Circle[{0,1},0.3,{-liste3[[2u-1,1]] d,-liste3[[2u-1,1]] d-liste3[[2u-1,2]] d}],Circle[{0,1},0.4,{-liste3[[2u,1]] d,-liste3[[2u,1]] d-liste3[[2u,2]] d}],Green,Circle[{Cot[liste3[[2u-1,1]] d+liste3[[2u-1,2]] d],0},0.1,{Pi-liste3[[2u-1,1]] d-liste3[[2u-1,2]] d-liste3[[2u-1,3]] d,Pi-liste3[[2u-1,1]] d-liste3[[2u-1,2]] d}],Circle[{Cot[liste3[[2u,1]] d+liste3[[2u,2]] d],0},0.1,{Pi-liste3[[2u,1]] d-liste3[[2u,2]] d-liste3[[2u,3]] d,Pi-liste3[[2u,1]] d-liste3[[2u,2]] d}]},PlotLabel->{liste3[[2u-1]] ,liste3[[2u]]}],{u,1,44,1}],AnimationRunning->False]

Export["anglesdioph.mp4",animation]

L’inventaire, liste3, des solutions entières répond au critère suivant :  w = 45°+u. Si on le reporte dans la condition trigonométrique établie dans le texte source, celle-ci se se réduit à l’annulation de l’expression simplifiée suivante :

TrigExpand[FullSimplify[Tan[w](Cos[u]-Cos[v]Sin[u+v])-Sin[v]Sin[u+v]]/.w->Pi/4+u]//FullSimplify

On voit qu’elle donne naissance à deux familles de solutions : cos(2u+v) = 0 -> v = 90°-2u et cos(v) = sin(v) -> v = 45°. L’inventaire numérique complet des solutions indique que ce sont les seules combinaisons d’angles entiers en degrés.