Avancement des travaux – Des maths galactiques !

Attention, cet article contient des maths ! Vous êtes prévenu 😛

Dans un précédent article, je vous parlais de la modélisation de la Galaxie, et je vous exposais comment j’avais l’intention de faire fonctionner tout ça, mathématiquement parlant.

Ainsi, je représente la galaxie par une spirale logarithmique. Sur le bras de la spirale, la probabilité de trouver un corps est maximale ; tandis que dès que l’on s’en éloigne celle-ci décroît exponentiellement.

Ça, c’est pour la théorie. Passons au calcul maintenant !

Une spirale logarithmique est décrite par l’équation suivante, en coordonnées polaires :

$$ r = ab^\theta $$

Avec b différent de 1, évidemment. Ensuite, il faut calculer la distance entre n’importe quel point et la spirale. Pour ça, j’utilise le théorème d’Al-Kashi qui me permet d’obtenir une fonction qui donne la longueur du segment entre un point quelconque du plan et un point quelconque de la spirale. Ainsi, j’ai :

$$ l = \sqrt{p^2 + r^2 – 2prcos(\gamma – \theta)} $$

Où $$ (p, \gamma) $$ sont les coordonnées d’un point quelconque du plan. En remplaçant ensuite r par son expression :

$$ l = \sqrt{p^2 + a^2b^{2\theta} – 2pab^\theta cos(\gamma – \theta)} $$

Mais là, je n’ai bien sûr pas l’expression exacte de la distance entre un point et la spirale… Il me faut d’abord optimiser cette expression, via le calcul de sa dérivée. Si le calcul est assez simple à faire, l’optimisation par contre nécessite de trouver les racines de la dérivée… Ce qui est nettement plus compliqué ! À vue de nez, c’est impossible à faire à la main. Et lorsque j’ai demandé à XCas, il a joyeusement consommé 16 Go de mémoire vive avant de se faire tuer par GNU/Linux…

La solution est donc de résoudre l’équation numériquement, mais ça n’est pas très pratique ! Alors je suis en train de réfléchir à une autre approche du problème , via l’utilisation de tangentes à la spirale…

On verra bien !

Suivez l’évolution du code sur Launchpad. Participez sur galaxia@anhydride-acide.fr !