dimanche 1 mars 2020

BlockScad : les coordonnées sphériques

Les coordonnées sphériques

Les coordonnées sphériques sont vraiment l’extension des coordonnées polaires en 3 dimensions. Elles sont très utilisées pour les coordonnées terrestres et l’astronomie. Si vous n’avez pas encore visionné la vidéo sur Hipparque, alors stoppez votre lecture et allez-y : c’est le moment, trop génial !




Maintenant que vous avez visionné la vidéo, nous allons pouvoir aller plus vite.

En jaune fin, nous avons tracé l’équateur de notre terre. Le trait en violet est le rayon de la terre, que nous allons appeler l’altitude. Et le point vert c’est nous. Yes !

Revoyons un peu nos définitions :

q L’altitude, c’est la distance du segment violet

q Longitude, c’est l’angle horizontal entre le rayon violet et le rayon jaune

q Latitude, c’est l’angle vertical entre le rayon jaune et le rayon rouge.


Remarque : sur notre bonne vieille Terre la notion d’altitude n’est pas prise au niveau du centre de la Terre mais de la surface.

Z en coordonnées sphériques

Je n’ai pas trouvé de TRANSFORMS qui permette de tracer ce dessin facilement.  On pourrait toujours faire un TRANSLATE suivant l’axe violet, un ROTATE suivant Z poursuivre l’arc jaune, mais le dernier ROTATE est plus dur à connaître car on ne sait pas sur quel axe nous devons le faire.

Maintenant, nous allons trouver comment on peut exprimer (X,Y,Z) en fonction du (Altitude, Longitude, Latitude).

Commençons par Z.


Le dessin ci-dessus est exactement le même que précédent, sauf que nous le regardons dans le plan du méridien rouge.

Reconnaissez-vous la figure : c’est la même que celle que nous avons utilisée pour donner la définition du SINUS et du COSINUS.

Z = (altitude)*SINUS (latitude).

La latitude est bien un angle et le SINUS la valeur sur l’axe Z.

Trop facile !

Le cosinus de la latitude

Maintenant que nous avons trouvé le sinus de la latitude, nous pouvons nous poser la question du cosinus de la latitude. Hélas il ne passe pas ni par l’axe X ni par l’axe Y.

Regardez la figure ci-dessous.




En pointillés, nous avons indiqué le SINUS. Le COSINUS est la distance entre l’origine et la pastille verte.

Distance à la Pastille verte = (altitude)*COSINUS (latitude)


Maintenant, nous allons tracer un cercle qui passe par cette pastille verte.



Et voilà, un joli cercle qui passe par la pastille verte. Et nous savons que la distance du segment vert est « altitude*COSINUS (latitude) ». Ce segment vert est le rayon du cercle vert.
Faisons tourner notre objet pour voir le plan X-Y qui est aussi le plan de l’équateur.


Maintenant, on commence à voir apparaître la fin de la formule que nous cherchons. L’angle du segment vert est la longitude :

q X = (distance du segment vert)*COSINUS (longitude) (flèche bleue pleine)

q Y = (distance du segment vert)*SINUS (longitude) (flèche bleue pointillée).



Un block pour un point en coordonnées sphériques

Nous pouvons trouver maintenant les formules complètes en remplaçant la distance du segment vert par sa formule avec la latitude :

q X = (altitude)*COSINUS (latitude)*COSINUS (longitude)

q Y = (altitude)*COSINUS (latitude)*SINUS (longitude)

q Z = (altitude)*SINUS (latitude)


Ce qui donne en BlocksCAD.

Un module BlocksCAD avec les paramètres altitude, longitude et latitude et aussi un paramètre taille pour facilement changer le rayon du point à dessiner.


L’ombre du point en coordonnées sphérique


Un petit block à garder en mémoire qui nous a servi précédemment. Ce block permet de représenter l’ombre du point en coordonnée sphérique sur le plan X-Y ce qui peut aider.

C’était la fonction qui donnait la pastille verte de tout à l'heure.

Aucun commentaire: