Page 3 sur 4

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : lun. 6 avr. 2020 21:33
par Henri_G
Bien sûr, c'est intéressant ! Merci d'avance !

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : lun. 20 avr. 2020 18:40
par Yvon_M
Comme le texte que Serge_M a produit pour la méthode des bissectrices est très complet et qu'il relève d'une approche relativement différente, je lui ai demandé d'ouvrir un nouveau sujet pour le publier. Il sera ainsi plus facile à retrouver à partir de son titre. Vous pouvez le consulter ici :
Déclinaison d'un mur par la méthode des bissectrices

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : dim. 9 mai 2021 18:28
par Stéphane_L
Ci-joint un outil GeoGebra pour déterminer l'inclinaison et la déclinaison d'un surface, avec une méthode pour trouver la déclinaison d'un cadran vertical qui ne nécessite pas de connaître l'heure lors des mesures (uniquement la date). Peut-être y a-t-il des erreurs (à vérifier avec des mesures réelles).
déclinaison inclinaison d'une surface

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : ven. 14 mai 2021 17:29
par Yvon_M
L’idée de ne pas utiliser l’heure est particulièrement intéressante, bravo Stéphane. J’ai fait une petite simulation et tout semble fonctionner correctement.

Je suppose que vous demandez 5 points car c’est le nombre minimum de points pour définir une conique, c’est toutefois dans un contexte très général et pour une conique absolument quelconque. Dans le cas de figure que vous proposez la conique est particulière car on connaît notamment l’angle au sommet du cône qui produit la conique. À mon avis, dans ce cas 3 points suffisent. Du moins, comme l’a montré Desargues, 3 points et la connaissance de la déclinaison du Soleil permettent de définir entièrement la direction du pôle nord.

De la même façon, je pense, mais j’en suis moins sûr, que ces 3 points suffisent aussi pour déterminer entièrement l’inclinaison et la déclinaison du cadran. Il n’y a, en effet, aucune raison pour que votre méthode fonctionne uniquement dans le cas d’un plan vertical.

Encore bravo pour cet outil qui peut rendre de grands services. Comme d’habitude, j’ai rajouté un lien vers votre programme dans ce message.

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : sam. 15 mai 2021 21:48
par Stéphane_L
Effectivement Yvon, je pense aussi que 3 points suffisent dans tous les cas.
J'avais limité la méthode sans utiliser l'heure aux cadrans verticaux, car pour les autres configurations il faut retrouver la déclinaison et l'inclinaison par tâtonnement jusqu'à ce que la courbe de l'arc diurne coïncide avec les points. Après plusieurs essais, c'est finalement assez simple.
Du coup, j'ai supprimé deux points et modifié le commentaire de la méthode 1.
inclinaison et déclinaison d'une surface 2

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : dim. 16 mai 2021 23:06
par Yvon_M
En faisant de nouveaux essais, je me suis rendu compte d’un petit problème dans votre programme : l’arc diurne est tracée entièrement quelque soit l’orientation du cadran. Avec les valeurs initiales on peut ainsi trouver une autre orientation (déclinaison = -143° et inclinaison = 141°, environ) qui n’a pas de sens car, dans ce cas, le cadran ne serait pas éclairé aux heures où les points sont relevés.

J’ai souri aussi à votre référence à TpSol et à sa précision. Les valeurs fournies sont effectivement largement suffisantes pour une utilisation gnomonique mais on en douterais presque en regardant le code dont je reproduis ici la partie éphémérides.

Code : Tout sélectionner

  public double ephe(Instant t, Rotation r, boolean bl) {
      final double km = 0.017202;
      final double kl = 0.01720279;
      final double jm = 308.46;
      final double jl = 21.043;
      final double e = 0.0167;

      double j = t.jouru() - 18322;
      double m = km*(j - jm);
      double l = kl*(j - jl);
      double s = l + 2*e*Math.sin(m) + 1.25*e*e*Math.sin(2*m);
      r.setXYZ(Math.cos(s), Math.cos(ob)*Math.sin(s), Math.sin(ob)*Math.sin(s));
      if (bl)
        r.rotz(l);
      return Math.toDegrees(Math.atan2(r.y, r.x))/15;
  }
Uniquement 6 constantes astronomiques sont utilisées !

À l’époque où je les ai déterminées, fin 2010, la comparaison des résultats avec les éphémérides de l’IMCEE me donnait une erreur maxi inférieure à +/- 0,012° en ascension droite et +/-0,006° en déclinaison sur la période de 2010 et 2030. Les erreurs augmentent bien sûr légèrement en dehors de cette période.

Si vous souhaitez intégrer ces éphémérides, je les ai retranscrites en Python pour que ce soit plus lisible. Je n’ai aussi pas fait appel, volontairement, à des bibliothèques spécifiques pour la gestion du temps. Petite limitation : le calcul de la variable jhu n’est correct que du 1 mars 1900 au 28 février 2100 car les années bissextiles pour les millésimes multiples de 100 ne sont pas gérées. Voici le code :

Code : Tout sélectionner

# coding: utf-8

from math import *

def Rot(x, y, r):
  return cos(r)*x + sin(r)*y, -sin(r)*x + cos(r)*y

# Données d'entrée
an = 2021       # Année
mo = 5          # Mois
jo = 16         # Jour
hc = 22          # Heure civile
mn = 54         # Minute
sc = 40         # Seconde
fo = 2          # fuseau horaire
lo = -2.11      # Longitude en °, positive à l'ouest
la = 49.06      # Latitude en °, positive au nord

# Constantes
km = 0.017202   # Vitesse angulaire de l’anomalie moyenne en radian/jour
jm = 308.46     # Date où l’anomalie est nulle (3 janv. 2021 à 11:02:24)
kl = 0.01720279 # Vitesse angulaire de la longitude moyenne en radian/jour
jl = 21.043     # Date où la longitude moyenne est nulle (22 mars 2020 à 01:01:55)
e = 0.0167      # Exentricité de l'orbite terrestre
ob = 0.4091     # Obliquité de l'écliptique en radian

# Calculs
if mo < 3:
  an = an - 1
  mo = mo + 12
fj = (3600*(hc - fo) + 60*mn + sc)/86400.0
jhu = int(365.25*an) + int(30.61*(mo + 1)) + jo + fj - 737928

m = km*(jhu - jm)   # Anomalie moyenne en radian
l = kl*(jhu - jl)   # Longitude moyenne  en radian
s = l + 2*e*sin(m) + 1.25*e*e*sin(2*m)  # Longitude vraie en radian

x, y, z = cos(s), sin(s), 0     # Passage en coordonnées cartésiennes
y, z = Rot(y, z, -ob)           # Coordonnées équatoriales
x, y = Rot(x, y, l + 2*pi*(fj - 0.5) - pi*lo/180) # Coordonnées horaires
print('Angle horaire : %.2f dg'%(180*atan2(-y, x)/pi))
print('Declinaison : %.2f dg'%(180*asin(z)/pi))

z, x = Rot(z, x, pi*(90 - la)/180)        # Coordonnées locales
print('Azimut : %.2f dg'%(180*atan2(-y, x)/pi))
print('Hauteur sans correction de la refraction: %.2f dg'%(180*asin(z)/pi))
Correction : année de fin de validité du code ci-dessus (2100)
Ajout : pour que ce code soit valide pour toutes les dates du calendrier Grégorien, il suffit de calculer jhu de la façon suivante :

Code : Tout sélectionner

jhu = 365*an + an//4 - an//100 + an//400 + int(30.61*(mo + 1)) + jo + fj - 737913

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : sam. 22 mai 2021 10:08
par Stéphane_L
J'ai rectifié le fichier pour que l'arc diurne ne soit pas tracé entièrement quelque soit l’orientation du cadran.
Merci pour le programme avec les commentaires. Du coup, j'ai ajouté la possibilité de renseigner l'heure d'hiver et l'heure d'été lors des mesures des coordonnées de l'ombre du sommet du style.
inclinaison et déclinaison d'une surface 3

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : dim. 23 mai 2021 15:28
par Yvon_M
Stéphane, la nouvelle version que vous proposez ne semble pas apporter d’amélioration significative pour la méthode 1. Il y a notamment un problème d’affichage de l’arc diurne pour le 20 mars 2021 quand on fait varier l’inclinaison ou la déclinaison.

En fait j’avais mal analysé le problème dans mon message précédent. Sur les figures suivantes j’ai repris les positions des points A, B et C au lancement de la version 2, les carreaux font 10 cm de côté et P est le pied du gnomon. La zone du cadran où l’ombre du gnomon peut donner un point se trouve sous la droite d’horizon qui est l’intersection du plan horizontal passant par l’extrémité du gnomon avec le plan du cadran. Sur la figure 1 qui représente la solution à trouver (inclinaison = 63,18° et déclinaison = -36,48°) les point A B et C sont valides.

Image
Figure 1

Sur la figure 2 qui correspond à la solution alternative (inclinaison = 141° et déclinaison = -143°) on voit que la ligne d’horizon est passée sous le pied du gnomon et que seul le point C est possible, il se présenterait à l’heure solaire de 5 h 18 min . La solution n’est donc pas à retenir.

Image
Figure 2

Pour votre programme, Stéphane, il suffit donc de tracer la ligne d’horizon en fonction de l’orientation recherchée pour s’assurer que tous les points relevés soient en dessous et donc valides.

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : dim. 23 mai 2021 22:28
par Stéphane_L
Le problème de l'arc diurne aux alentours des équinoxes était du au cône de déclinaison du soleil. Pour les déclinaisons comprisent entre -0,15° et 0,15° son angle étant tellement proche de 90°qu'il y a un bug (son intersection avec le plan du cadran ne s'affiche pas correctement). J'ai donc remplacé la branche d'hyperbole par une droite pour ces déclinaisons (ce qui n'est pas vraiment le cas sauf pour 0° bien sûr).

En ce qui concerne l'arc diurne (dans la version 3) je l'ai caché lorsque la demi-droite (qui n'est pas affichée) d'origine le soleil (au moment des mesures des coordonnées du point A), passant par le sommet du style droit ne coupe pas le plan du cadran. Ce qui fait disparaître l'arc lorsque le point A n'est pas valide. Je pensais que cela fonctionnait.
L'idée d'ajouter la ligne d'horizon est plus explicite, de plus, elle permet de mieux visualiser le cadran dans l'espace.
version 4
Merci pour ces remarques Yvon.

Re: Mesure de la déclinaison et de l’inclinaison d’une surface

Posté : jeu. 21 oct. 2021 21:29
par Yvon_M
Actuellement dans le JavaScript, j’ai écrit un formulaire de calcul pour de la méthode XY sachant que, jusqu’à présent, personne ne lui a trouvé de désavantage :)

Le formulaire se trouve à la fin de mon premier message, au début de ce fil de discussion. Bonne utilisation !