Je travaille en ce moment sur les projections sphériques. J'ai réussi à projeter un objet dessiné sur un plan sur une sphère (de rayon 1 et de centre C(0;0;1) ).
Maintenant j'aimerais projeter l'objet dessiné sur ma sphère (dont j'ai les coordonnées x, y et z de chaque point définies paramétriquement) sur un plan, mais de la façon suivante :
en partant du pôle Sud de la sphère (comme étant 0;0), j'aimerais tracer sur un plan chaque point en fonction de sa latitude et de sa longitude.
C'est la Projection cylindrique équidistante plate carrée :
https://fr.wikipedia.org/wiki/Projection_cylindrique_%C3%A9quidistante
x = lambda
y = phi
Un peu comme le système GPS sur Terre mais avec le méridien de Greenwitch étant le grand cercle le long de l'axe y, et l'équateur comme étant le grand cercle le long de l'axe x, avec comme point d'origine le pôle Sud de la sphère donc le point de coordonnées O (0; 0; 0) (puisque ces deux grands cercles se coupent deux fois : une fois au pôle Sud et l'autre au pôle Nord).
Pour récapituler : je connais les coordonnées x, y et z de chaque point, je sais qu'ils sont tous sur une sphère de rayon 1 et centrée sur le point C(0;0;1), je sais que "l'origine" de la latitude et de la longitude est le pôle Sud de la sphère, de coordonnées O(0;0;0), que la la longitude augmente quand y est positif et que le méridien 0 est le grand cercle le long de l'axe y, que la latitude augment lorsque x est positif et que l'équateur est le grand cercle le long de l'axe x.
J'ai bien trouvé des formules de conversion de coordonnées cartésienne vers sphériques, mais comme le montre bien cette image :
ça ne considère pas le pôle Sud comme latitude et longitude 0, et la latitude est comptée comme partant du pôle Nord tandis que la longitude part du point (0;1;0) : c'est vraiment pas pratique. J'ai essayé d'effectuer des rotations de la sphère pour l'alligner avec ces coordonnées, mais je n'ai pas réussi à obtenir cette projection (j'ai probablement dû me tromper dans le sens de rotation, ce genre de chose, mais toujours est-il que ça ne fonctionne pas comme je le voudrais).
Grâce à WolframAlpha, j'ai pu trouver une fonction arc-tangente qui prend en compte le côté positif/négatif des coordonnées des points (les cadrants, je crois que c'est comme ça qu'on appelle ça, le quartier du graphique si vous voulez) :
tan^(-1)(x,y) = -i*ln( (x+i*y)/sqrt(x²+y²) ) (vous pouvez essayer cette fonction pour comprendre comment elle marche).
C'est l'équivalent de tan^(-1)(y/x) lorsque y et x sont positifs (et prend et compte le signe de x et y pour déterminer l'angle). (malgré les apparences, cette fonction est bien définie sur R tant que x et y sont des réels, avec x et y différents de 0).
Ce qui est extrêmement utile pour trouver la latitude et longitude d'un point sur la sphère (même si pour le moment, visiblement, j'ai du mal à l'utiliser).
Merci d'avance !

