POTHENOT
δ = 31 m · dα = 3.000000° sur l'angle entre amers · empreinte 075c752b60d64500
Jouer sur les tolérances
Une erreur de carte par amer, une erreur angulaire commune. Baissez le δ d'un seul amer — celui que vous relèveriez au GPS — et regardez X rétrécir. Le calcul refait est certifié, pas approché : comptez quelques secondes par essai.
Vérification sans objet. Vos angles dérivent d'un gisement par amer : ils se somment à zéro sur tout cycle par construction, et ne peuvent donc pas se contredire.
3 amers lus dans « POTHENOT.csv » (3 colonnes : x, y, azimut)
pas de feuille de mesures : les 3 angles seront deduits des azimuts, et le graphe sera complet.
Les amers
3 points, a 3000 m de l'origine.
X (= X∩)
environ 4363 m de large — soit 1 fois moins que la portee des amers. Le cercle en pointille le situe ; le detail est ci-dessous.
Les traits pales vont de l'origine vers chaque amer. L'observateur n'est pas a l'origine : il est quelque part dans X (= X∩), et c'est tout ce qu'on sait de lui.
X = X∩
La clôture n'apporte rien : l'égalité est prouvée, et X n'a pas eu à être calculé.
4 sommets certifiés.
bord ouvert — L'ensemble n'est pas ferme par les contraintes : il bute sur la boite de recherche. Avec trois amers c'est le cas normal (POTHENOT). Il n'a donc pas d'aire finie.
Les sommets
| # | x (m) | y (m) | contraintes |
|---|
| 1 | -2848.767 | -1034.659 | (2,1) ∩ (2,3) |
| 2 | -2790.624 | -1013.516 | (1,2) ∩ (3,2) |
| 3 | 1482.845 | 2572.179 | (3,1) ∩ (3,2) |
| 4 | 1513.767 | 2625.776 | (1,3) ∩ (2,3) |
Chaque sommet est un enclos certifié ; la largeur du plus large vaut 4.5e-13 m.
Ce que cela a coûté
| lecture du tableur | 0.000 s |
|---|
| préparation du jeu | 0.002 s |
|---|
| calcul de X∩ et X+ | 0.189 s |
|---|
| dont X∩ | 0.181 s |
|---|
| dont X | 0.000 s |
|---|
| aire et tracé | 0.004 s |
|---|
| calcul de X−, depuis X+ | 0.195 s |
|---|
| total | 0.395 s |
|---|
Le calcul et l'analyse sont deux choses : la première est l'objet de l'étude, la seconde un outil pour la regarder. Leur coût ne dépend pas des mêmes choses — le calcul du jeu, l'analyse de la précision demandée.
X− ne repart pas de zéro : la boîte et l'ensemble actif de X+ lui servent de départ, ce qui est licite puisque X− ⊂ X+. D'où un second calcul deux à cinq fois moins cher que le premier.
Sur quoi
machine : Linux aarch64 -- Raspberry Pi 4 Model B Rev 1.1
4 coeur(s) a 1.50 GHz, 3.7 Go, 4 fil(s) demande(s)
calcul : intervalles fi64, mantisse hors solveur 256 bits
bati : Sep 11 2026, gcc 14.2.0
arrondi dirige disponible, socle : pthreads oui, rsgc non, flint non
gmp 6.3.0, mpfr 4.2.2, mpfi 1.5.4
sources : empreinte 05b4fbaf5cc0Les temps ci-dessus valent pour cette machine et pour elle seule. Ce qui se transporte d'une machine à l'autre, ce sont les rapports — pas les secondes.
Le jeu exact engendré (ce que lit le calcul)
# ==============================================================================
# Jeu POTHENOT -- engendre par preparer.py, NE PAS EDITER A LA MAIN
# 3 amers, portees 3000-3000 m depuis l'origine
# delta = 31 m (30 m de carte + 1 m d'arrondi des coordonnees)
# d_alpha = 3.000000 deg SUR L'ANGLE ENTRE AMERS
# dont 1.72e-04 arcsec de transcription, majores et absorbes
# 3 paires mesurees sur 3 possibles
# ==============================================================================
const NOM = "POTHENOT"
const EMPREINTE = "075c752b60d64500" # signature des donnees, recopiee dans le resultat
const AMERS = Tuple{Rational{BigInt},Rational{BigInt}}[
(-2298//1, 1928//1), # 1 azimut 335.00 deg
(-2819//1, -1026//1), # 2 azimut 305.00 deg
(1500//1, 2598//1), # 3 azimut 15.00 deg
]
const DELTA = Rational{BigInt}(31)
const T_D = Rational{BigInt}(2478, 94631) # tan(d_alpha/2)
const MESURES = Dict{Tuple{Int,Int},Tuple{Rational{BigInt},Int}}(
(1,2) => (18817//70226, 0),
(1,3) => (-26461//72701, 1),
(2,3) => (-10459//14937, 1) )
Le journal du calcul
machine : Linux aarch64 -- Raspberry Pi 4 Model B Rev 1.1
4 coeur(s) a 1.50 GHz, 3.7 Go, 4 fil(s) demande(s)
calcul : intervalles fi64, mantisse hors solveur 256 bits
bati : Sep 11 2026, gcc 14.2.0
arrondi dirige disponible, socle : pthreads oui, rsgc non, flint non
gmp 6.3.0, mpfr 4.2.2, mpfi 1.5.4
========================================
POTHENOT (3 amers)
========================================
minorant : muet -- les angles derivent d'un gisement par amer, ils ne peuvent pas
se contredire (1 cycles independants).
defaut residuel 7.776e-09 deg, soit 8.6e-10 fois la tolerance du cycle
(transcription des angles ; seuil de lisibilite 1e-03)
3 amers, 6 contraintes orientees
elagage sur 384 boites : 4 paires sur 15
X∩ : 4 sommets en 0.181 s (elagage 0.106, solveur 0.071, filtres 0.002)
boite de depart reprise de X∩ : x[-2849, 1514] y[-1035, 2626]
germe repris de X∩ : 6 contrainte(s)
critere : la cloture n'apporte rien sur 6 bornes -> X = X∩ est ACQUIS sans calculer X
--critere : calcul de X saute, le resultat est X∩
resultat : X∩, 4 sommets
memoire : pic 43.6 Mo
temps : X∩ 0.181 s X 0.000 s aire 0.000 s bord 0.000 s calcul 0.184 s mural 0.184 s
solveur : direct=4 erreur=0 asymptote=0 non_gen=0 plusieurs=0 coords=0
dont decomposition 0.05 s, solve_ratparam_real 0.02 s
ecrit : /tmp/geoloc-r9spj17j/POTHENOT.resultat.json
========================================
POTHENOT_courbes (3 amers) -- analyse de /tmp/geoloc-r9spj17j/POTHENOT.resultat.json
========================================
bord de X∩ : pas de cycle -- bord OUVERT -- l'ensemble n'est pas ferme par les contraintes, il bute sur la boite
temps : aire 0.000 s bord 0.000 s
ecrit : /tmp/geoloc-r9spj17j/POTHENOT.analyse.json
← un autre tableur
Sommets certifiés par arithmétique exacte sur ℤ ; aire garantie — la flèche de chaque sous-arc est majorée, pas échantillonnée. Le tracé est la polyligne du calcul lui-même, point par point.