Diagramme stéréographique d’un cadran solaire plan

Où l’on visualise les périodes d’éclairement d’un cadran solaire ou d’un mur

Dans son ouvrage La Gnomonique (Éd. Les Belles Lettres, chapitre V), Denis Savoie donne les instructions pour tracer le diagramme stéréographique d’un cadran solaire plan.

Les arcs de cercles représentent les arcs diurnes décrits par le Soleil dans le ciel, au cours d’une journée.

Le grand cercle extérieur est l’horizon. L’arc marron est le plan d’un mur ou d’un cadran solaire vertical.

Les lignes radiales indiquent l’heure solaire.

La déclinaison du plan indique son orientation relativement au Sud : la déclinaison d’un mur est nulle s’il est plein Sud, positive s’il est décalé vers l’Ouest, négative si vers l’Est.


Un tel diagramme permet de prévoir les périodes d’éclairement du cadran. Ici, par exemple, au jour du solstice d’été, le Soleil commence à éclairer la face Sud du cadran vers 7h30 le matin. Il repasse côté Nord du cadran vers 16h30.

À partir de l’équinoxe d’automne, le Soleil éclaire le cadran Sud dès son lever, et jusqu’à son coucher.

On lit également les heures de lever et de coucher du Soleil, en repérant l’intersection de l’horizon avec l’arc diurne de la date et la ligne horaire radiale. Par exemple, pour la latitude de 49.5°, au solstice d’hiver le Soleil se lève à 8h00 et se couche à 16h00.

On peut voir l’effet d’une modification de la latitude sur ces périodes d’ensoleillement.

Dans ce second exemple (latitude voisine de celle de Lyon), la déclinaison du plan est de -25°, c’est-à-dire que le plan est tourné vers l’Est de 25°. La période d’éclairement est décalée au bénéfice du matin, pour les dates où le Soleil est déjà levé.

Avec une latitude de 68°, nous sommes tout juste au-delà du Cercle polaire Arctique (latitude 66.6°).

Au voisinage du solstice d’été, le Soleil décrit un tour complet dans le ciel sans le coucher (Il rase l’horizon Nord). L’arc diurne du solstice d’hiver a disparu sous l’horizon : il fait nuit toute la journée…


Ces diagrammes ont été tracés avec LaTeX (module TikZ), avec le code suivant :

\documentclass[border=0.5cm,11pt,convert={ghostscript,outext=.png,}]{standalone}%conversion en png avec ghostscript

%COMPILé AVEC XeLaTeX

\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage[dvipsnames,svgnames]{xcolor}
\colorlet{vert}{OliveGreen!70!black}
\colorlet{rouge}{red!80!black}
\colorlet{monorange}{orange!70!red}
\usepackage[french]{babel}
\usepackage{lmodern}
\usepackage{marvosym}%symboles du Zodiaque
\usepackage{comment}
\mathcode`\.="013B%virgule décimale en mode math
\usepackage{ifthen}
\usepackage{calculator}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\usetikzlibrary{calc,scopes}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{arrows,arrows.meta}
\usetikzlibrary{patterns}
\usetikzlibrary{intersections}
\tikzset{every picture/.style={line cap=round}}


\begin{document}

%%%%%%%%%%%%% Paramètres à régler %%%%%%%%%%%%%%%%%%%%%%%%%

\def\R{10}%Rayon équateur
\def\latitude{35}% Positive, pas au-dessus de 88° !!!
\def\D{70}%déclinaison du mur !Pas trop proche de 90 ° !!!!! (->85 OK)

\def\z{90}%distance zénitale § Pas trop loin de 90° ! (->55 OK)
%z=90° : cadran vertical
%z=0° : cadran horizontal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\pgfmathsetmacro\r{\R/sin(\latitude)}%rayon horizon
\pgfmathsetmacro\S{atan(sin(\D)/(sin(\latitude)*cos(\D)+cos(\latitude)*cos(\z)/sin(\z))}%angle sous-stylaire

%Ajustement de la valeur de S selon D :-----------

\ifthenelse{\lengthtest{\D pt>0pt}}
	{\ifthenelse{\lengthtest{\S pt<0pt}}
		{\pgfmathsetmacro\S{\S +180}
		}{}
	}
	{\ifthenelse{\lengthtest{\S pt>0pt}}
		{\pgfmathsetmacro\S{\S -180}
		}
	}{}
% -----------------------------------------------

\pgfmathsetmacro\f{asin(sin(\latitude)*cos(\z)-cos(\latitude)*sin(\z)*cos(\D))}%latitude équivalente ?

\begin{tikzpicture}

%styles des éléments graphiques :
\tikzset{decoupe/.style={thick, rouge}}
\tikzset{declin/.style={thick, monorange}}
\tikzset{mur/.style={ultra thick, brown}}
\tikzset{heures/.style={fill=white,inner sep=1pt,circle,font=\bfseries\sffamily}}


\coordinate (P) at (0,0);
\draw (P)node[label=0:P]{+};

\draw [rouge,thick](P)++(\R,0)node[below,anchor=north west]{Ouest} arc (0:180:\R)node[below,anchor=north east]{Est};%équateur
\draw [rouge](0,\R)node[above=-4pt]{équinoxes};
%Zénith :
\coordinate (Z) at (0,{\R*tan((90-\latitude)/2)});
\draw (Z)node[label=0:Z]{+};
%centre de l'horizon :
\coordinate (M) at (0,{\R*cos(\latitude)/sin(\latitude)});
% \draw (M)node[label=0:M]{+};


%Horizon
\draw[vert,thick](M) circle (\r);

%ligne horizontale :
\draw (-\r,0)--(\r,0);
%ligne verticale :
\draw (M)++(0,\r)node(S)[above]{Sud}--++(0,-2*\r)node(N)[below]{Nord};

\begin{scope}[font=\huge]%Indications dans les coins
\setmainfont{Ubuntu}
\draw (S)++(-\r,0)node[align=left,anchor=south west]{diagramme \\stéréographique};
\draw (S)++(\r,0)node[align=right,anchor=south east]{d'un cadran \\solaire};
\draw (N)++(-\r,0)node[align=left,font=\huge,anchor=south west]{Latitude \\ \pgfmathprint
{\latitude}°};
\draw (N)++(\r,0)node[align=right,font=\huge,anchor=south east]{Déclinaison \\ du plan : \pgfmathprint{\D}°};
\end{scope}

\path[clip](M) circle (\r);%délimiter l'horizon
%Cercles de déclinaison :
\draw [declin,name path=ete](P) circle ({\R*tan((90-23.4)/2)});%été

\draw[monorange](P)++(0.3,{\R*tan((90-23.4)/2)*0.96})node{été};

\draw [declin,name path=hiver](P) circle ({\R*tan((90+23.4)/2)});%hiver

\draw[monorange](P)++(0.5,{\R*tan((90+23.4)/2)*1.01})node{hiver};

\foreach \d in {-22,-20,...,-2,2,4,...,22}
	\draw[declin,gray](P) circle ({\R*tan((90-\d)/2)});

%sous-stylaire :
\draw[blue,thick]({-90-\S}:\r)--({90-\S}:{2*\r})node[pos=0.75,sloped,above]{\small sous-stylaire};

%point K :
\coordinate (K) at ({-90-\S}:{-\R*cos(\f)/sin(\f)});
\draw (K)node[label=0:K]{+};

\draw[mur,name path=mur](K) circle ({-\R/sin(\f)});

%lignes horaires
\foreach \H in {0,...,23}%lignes horaires chiffrées
	\draw[blue!50](P)--++({270-(\H)*15}:{\R*tan((90+23.4)/2)})node[pos=0.2,heures]{\H};

\foreach \H in {0.5,...,23.5}{%demi-heures
	\draw[blue!50,dashed](P)--++({270-(\H)*15}:{\R*tan((90+23.4)/2)});
}

% Petits cercles d'intersections du plan du cadran avec les arcs de solstices :
\draw [violet,thick][name intersections ={of =mur and ete}](intersection-1)circle (5pt)(intersection-2)circle (5pt);

\draw [violet,thick][name intersections ={of =mur and hiver}](intersection-1)circle (5pt)(intersection-2)circle (5pt);


\end{tikzpicture}
\end{document}

Malheureusement, ce code présente quelques limites de calculs, pour certaines valeurs d’angle que j’ai précisées dans les commentaires du code.

Le fichier .tex (compressé) à télécharger :

Soyez le premier à commenter

Laisser un commentaire