Vous êtes sur la page 1sur 4

TD: Loxodromie et Orthodromie

1 Position du problème
Un véhicule se déplace à la surface de la Terre (supposée sphérique de rayon RT = 6370 km) en gardant un
angle α0 constant avec les parallèles (à l’équateur) qu’il rencontre. Cette trajectoire s’appelle une loxodromie.
On repère la position du mobile en coordonnées sphériques (r, θ, ϕ) dans la base (− →r , −
u →θ , −
u u→
ϕ ) où θ est la
colatitude. On définit également la latitude λ telle que θ − λ = π/2.

1. Montrer que l’équation d’une loxodromie partant d’un point de coordonnées (RT , θ0 , ϕ0 ) s’écrit:
tan θ2 = tan θ20 .etan α0 .(ϕ−ϕ0 ) .

2. Tracer la loxodromie entre deux villes: Brest (A: λA = 48, 3◦ N, ϕA = 4, 5◦ W) et Fort de France (B:
λB = 14, 6◦ N, ϕB = 61◦ W).

On peut également repérer la position du mobile en coordonnées cartésiennes dans la base (~ı,~, ~k) où ~k
pointe vers le pôle Nord et ~ı vers l’intersection du méridien de Greenwich avec le plan équatorial.
On appelle orthodromie la trajectoire la plus courte allant du point A au point B. Il s’agit d’un arc de cercle
dans un plan Π où Π est le plan, passant par le centre de la Terre, perpendiculaire à ~uΠ dont les coordonnées
dans la base (~ı,~, ~k) sont données par:
   
cos λA . cos ϕA cos λB . cos ϕB
~urA  cos λA . sin ϕA  ∧ ~urB  cos λB . sin ϕB 
sin λA sin λB

3. Tracer l’orthodromie entre les deux villes étudiées.

4. Calculer la distance d entre A et B. On montrera que, dans le plan Π, l’orthodromie correspond à un angle
ψ tel que cos ψ = ~urA .~urB . On en déduira que d = RT .ψ.

Solution

1. En coordonnées sphériques:
lorsque θ varie de dθ, on se déplace de RT .dθ vers le Sud;
lorsque ϕ varie de dϕ, on se déplace de RT . sin θ.dϕ vers l’Est.
Si on coupe les parallèles sous un angle α0 , alors: tan α0 = RTR. sin
T .dθ
θ.dϕ .

En séparant les variables, on a: sin θ = tan α0 .dϕ. On obtient une intégrale classique que l’on résout en
2. cos2 θ2 .du
posant u = tan θ2 ⇒ du = 12 . cos12 θ .dθ. Ainsi, dθ
sin θ = 2. sin

θ θ = 2. sin θ2 . cos θ2
= du
tan θ2
= du
u s’intègre en
2 . cos 2
ln |u| + cte.
En intégrant entre le point de départ A et un point quelconque de la trajectoire, on a:

ln tan θ2 θ = tan α0 .(ϕ − ϕA ) ⇒ tan θ2 = tan θ20 . exp(tan α0 .(ϕ − ϕ0 ): c’est l’équation de la loxodromie.

A
4. cos ψ = ~urA .~urB = cos λA . cos ϕA . cos λB . cos ϕB + cos λA . sin ϕA . cos λB . sin ϕB + sin λA . sin λB = 0, 54.
On prend la fonction réciproque (arccos) et on obtient: ψ = 57, 07◦ = 0, 996 rad ⇒ d = RT .ψ = 6.345 km.

2 Code avec Mathematica


Loxodromie et Orthodromie

Equation de la loxodromie

In[1]:= Needs["LinearAlgebra‘CrossProduct‘"]
Needs["Calculus‘VectorAnalysis‘"]
Needs["Graphics‘ParametricPlot3D‘"]
Needs["ProgrammingExamples‘SphericalCurve‘"]

1
ISEN-Brest. Kany. TD: Loxodromie et Orthodromie

In[5]:= alpha0=.;
Simplify[Integrate[1/Sin[theta],{theta,theta0,theta}]
==Integrate[Tan[alpha0],{phi,phi0,phi}]]

Out[6]= theta theta0 theta theta0


-Log[Cos[-----]] + Log[Cos[------]] + Log[Sin[-----]] - Log[Sin[------]]
2 2 2 2
== (phi - phi0) Tan[alpha0]

Tracé de l’hémisphère

In[7]:= Graph1=SphericalPlot3D[1,{theta, 0, Pi},{phi, 0, 2Pi}, ViewPoint->{1.3,+2.4,3}]

Tracé de la loxodromie

In[8]:= SphericalPoint[r ,theta ,phi ]:= Graphics3D[{PointSize[0.02],


Point[r {Sin[theta] Cos[phi], Sin[theta] Sin[phi], Cos[theta]}]},
ViewPoint->{1.3,-2.4,3}, PlotRange->{{-1,1},{-1,1},{0,1}}]

In[9]:= FortDeFrance={(90-14.6) Degree,-61 Degree};


Brest={(90-48.3) Degree,-4.5 Degree};

thetaA=Brest[[1]];phiA=Brest[[2]]; thetaB=FortDeFrance[[1]];phiB=FortDeFrance[[2]];

alpha0=N[ArcTan[Log[Abs[Tan[thetaA/2]/Tan[thetaB/2]]]/(phiA-phiB)]];

In[14]:= Trajet={SphericalPoint[1,thetaB,phiB],SphericalPoint[1,thetaA,phiA]}

Graph2=SphericalCurve[ {1,2*ArcTan[Tan[thetaB/2] Exp[(phi-phiB) Tan[alpha0]]],phi},


{phi,phiB-2 Pi,phiA+2 Pi},ViewPoint->{1.3,-2.4,3}, PlotRange->{{-1,1},{-1,1},{-1,1}}]

Orthodromie

In[16]:= urA={Sin[thetaA] Cos[phiA],Sin[thetaA] Sin[phiA], Cos[thetaA]};


urB={Sin[thetaB] Cos[phiB],Sin[thetaB] Sin[phiB], Cos[thetaB]};
uPi=N[CrossProduct[urB, urA]]; NormuPi=Sqrt[uPi[[1]]^2+uPi[[2]]^2+uPi[[3]]^2];
uPi=uPi/NormuPi

Out[20]= {-0.737171, -0.218158, 0.63952}

In[21]:= thetaC=ArcCos[N[uPi[[3]]]];thetaC*180/N[Pi]
ArcCos[N[uPi[[1]]]/Sin[thetaC]]*180/N[Pi]
ArcSin[N[uPi[[2]]]/Sin[thetaC]]*180/N[Pi]
phiC=-ArcCos[N[uPi[[1]]]/Sin[thetaC]];phiC*180/N[Pi]

Out[21]= 50.2439

Out[22]= 163.514

Out[23]= -16.4855

Out[24]= -163.514

In[25]:= M[theta ,phi ]={ {Sin[theta] Cos[phi],Sin[theta] Sin[phi], Cos[theta]},


{Cos[theta] Cos[phi],Cos[theta] Sin[phi],-Sin[theta]}, {-Sin[phi],Cos[phi],0}};

Inverse[M[thetaC,phiC]].{1,0,0}

2
ISEN-Brest. Kany. TD: Loxodromie et Orthodromie

M[thetaC,phiC].uPi

Out[27]= {-0.737171, -0.218158, 0.63952}

Out[28]= {1., 1.32981 10−16 , 3.36882 10−16 }

In[29]:= Cercle[theta ,phi ,t ]=Inverse[M[theta,phi]].{0,Cos[t],Sin[t]};

SphericalCircle3[theta ,phi ]:= ParametricPlot3D[N[Cercle[theta,phi,t]], {t,0,2 Pi}]

In[31]:= Graph3=SphericalCircle3[thetaC,phiC]

In[32]:= Show[Graph1,Graph2,Graph3,Trajet, ViewPoint->{1.3,-2.4,3},


PlotRange->{{-1,1},{-1,1},{0,1}}, Boxed->False,Axes->False]

Out[32]= -Graphics3D-

Distance

In[33]:= 6370 N[ArcCos[urB.urA]]

Out[33]= 6345.66

3
ISEN-Brest. Kany. TD: Loxodromie et Orthodromie

Projection de Mercator

orthodromie
loxodromie

3 Code avec Python

from mpl toolkits.mplot3d import Axes3D


import matplotlib.pyplot as plt
import numpy as np

0.6
0.4
0.2
0.0
0.2
0.4
0.6 0.6
0.4
0.2
0.0 0.6
0.2
0.4 0.0 0.2 0.4
0.2
0.6 0.6 0.4

Vous aimerez peut-être aussi