Le cadran de berger, ou cadran pyrénéen, est un cadran solaire dit « de hauteur ». Il détermine l’heure solaire par l’intermédiaire de la hauteur du Soleil au-dessus de l’horizon.
Il se présente la plupart du temps sous la forme d’un cylindre vertical muni d’un style horizontal.
Pour l’utiliser, on le pose sur un support horizontal, en réglant la date du jour à l’aide du style horizontal (qui pivote autour du cylindre gradué d’un calendrier). On oriente ensuite le cadran avec le style en direction du Soleil : la pointe de l’ombre du style sur les lignes horaires indique l’heure solaire locale.
Il est possible de réaliser un calcul du tracé des lignes horaires, avec des formules de gnomonique donnant la déclinaison et la hauteur du Soleil. Une fois le tracé imprimé, on colle le papier sur un cylindre pour construire un cadran de berger.
Le tracé des lignes doit tenir compte de la latitude d’utilisation, de la longueur du style et de la hauteur du cylindre.
Je vous propose ici de construire votre cadran de berger à l’aide d’une canette de soda (format haut, de 58mmx145mm), d’une tige quelconque (agitateur en bois, pique de brochette…), et du tracé des lignes que vous trouverez au bas de cet article.
Le fichier ci-dessous propose des tracés pour les latitudes comprises entre 42 et 51° (France métropolitaine), ainsi qu’une courte notice de montage et d’utilisation.
Ajout (avril 2024) : cadran de berger – script Python
Un script Python pour réaliser le tracé d’un cadran solaire de berger.
Script Python pour ce tracé :
Les paramètres à ajuster sont la latitude du lieu, le diamètre du cylindre sur lequel enrouler le papier, et la taille du style horizontal en surplomb.
Le document est à imprimer à l’échelle 1. Ci-dessous pour plusieurs latitudes :
Pour le script Python du cadran de berger : la hauteur du tracé est définie par le paramètre « hauteur_axe », lui-même défini d’après ‘ymin’ à la ligne 125. Pour un choix de hauteur différent, il suffit de définir « hauteur_axe » selon la longueur voulue, en conservant la conversion en pouces. Par exemple, pour 16 cm de hauteur :
hauteur_axe = 16 / inch
Bonjour et merci pour le script ; je viens d’essayer et il fonctionne parfaitement (après avoir modifié la police, que je n’avais pas). J’aimerai générer des courbes pour un cylindre plus grand ; sur quel facteur dois-je jouer ?