Je reprends avec ta fonction rho(Z):
Si le centre de la sphère est (r0,theta0,z0) en coordonnées cylindrique, alors, tu vas minimiser
d(z) = (z-z0)² + (rho(z) - r0)²
Vu la tête de rho(z), je dirais qu'il n'y a qu'un minimum (mais je n'ai rien prouvé).
Tu vas donc chercher z* tel que d'(z*) s'annule. La dérivée d' est une fonction rationnelle (quotient de deux polynômes). Le numérateur est un polynôme de degré 5 (sauf errreur) dont les coefficients s'expriment en fonction de a,b,c,z0,r0.
Il faut donc calculer les zéros de ce polynôme. Comme c'est du 5e degré, on ne peut pas le faire à la main.
Je te renvoie à la page de wikipédia sur le sujet pour avoir un algorithme qui permet d'évaluer numériquement les zéros du polynôme. (J'ai l'impression que tu as un problème avec ton adobe reader car les liens que je t'avais donné marchent bien chez moi et c'est du pdf. Mais wikipedia redit à peu près la même chose).
Une fois que tu as le zéro z* du polynôme, le point le plus proche est (rho(z*),theta0,z*) en coordonnées cylindriques.
Partager