CN
δ = 31 m · dα = 3.000001° sur l'angle entre amers · empreinte 6d87dc1e894b1a4b
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.
7 amers lus dans « CN.csv » (3 colonnes : x, y, azimut)
pas de feuille de mesures : les 21 angles seront deduits des azimuts, et le graphe sera complet.
Les amers
7 points, a 591 a 4016 m de l'origine.
X (= X∩)
environ 164 m de large — soit 25 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é.
Aire garantie
9742 ± 12 m²
9 sommets certifiés.
Les sommets
| # | x (m) | y (m) | contraintes |
|---|
| 1 | -7.072 | -65.152 | (1,7) ∩ (4,7) |
| 2 | -52.974 | 9.027 | (1,5) ∩ (1,7) |
| 3 | -54.746 | 14.150 | (1,3) ∩ (1,5) |
| 4 | 19.462 | -62.329 | (4,6) ∩ (4,7) |
| 5 | 106.814 | -46.473 | (4,1) ∩ (4,6) |
| 6 | 107.914 | -45.649 | (4,1) ∩ (4,2) |
| 7 | 108.810 | -43.577 | (4,2) ∩ (4,3) |
| 8 | 108.700 | -10.404 | (4,3) ∩ (5,3) |
| 9 | 41.645 | 20.431 | (1,3) ∩ (5,3) |
Chaque sommet est un enclos certifié ; la largeur du plus large vaut 1.4e-14 m.
L'aire de X, encadrée
| aire de X+ | [9730.1, 9754.6] m² |
|---|
| aire de X− | [9730.1, 9754.6] m² |
|---|
| aire de X | [9730.1, 9754.6] m² |
|---|
| ce que la transcription ajoute | 0.006159 m² |
|---|
| ce que la subdivision du bord ajoute | 24.38 m² |
|---|
Les angles mesurés sont transcendants ; le fichier porte le rationnel le plus proche. X+ ajoute cet écart à dα, X− le retranche, et X− ⊆ X ⊆ X+. L'aire de X est donc entre la borne basse de X− et la borne haute de X+ : c'est garanti, et c'est la ligne en gras.
Les deux dernières lignes disent d'où vient la largeur de cet encadrement. La transcription des angles en rationnels y met 0.006159 m² ; la subdivision du bord en sous-arcs y met 24.38 m², soit 3958 fois plus. Le fichier n'est pas ce qui limite la précision — le budget de calcul l'est.
Ce que cela a coûté
| lecture du tableur | 0.001 s |
|---|
| préparation du jeu | 0.016 s |
|---|
| calcul de X∩ et X+ | 0.316 s |
|---|
| dont X∩ | 0.233 s |
|---|
| dont X | 0.000 s |
|---|
| aire et tracé | 0.475 s |
|---|
| calcul de X−, depuis X+ | 0.713 s |
|---|
| total | 1.619 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 CN -- engendre par preparer.py, NE PAS EDITER A LA MAIN
# 7 amers, portees 591-4016 m depuis l'origine
# delta = 31 m (30 m de carte + 1 m d'arrondi des coordonnees)
# d_alpha = 3.000001 deg SUR L'ANGLE ENTRE AMERS
# dont 1.81e-03 arcsec de transcription, majores et absorbes
# 21 paires mesurees sur 21 possibles
# ==============================================================================
const NOM = "CN"
const EMPREINTE = "6d87dc1e894b1a4b" # signature des donnees, recopiee dans le resultat
const AMERS = Tuple{Rational{BigInt},Rational{BigInt}}[
(-1269//1, 1651//1), # 1 azimut 320.95 deg
(-737//1, 308//1), # 2 azimut 293.85 deg
(-594//1, 87//1), # 3 azimut 282.35 deg
(-542//1, -235//1), # 4 azimut 247.33 deg
(-143//1, -2408//1), # 5 azimut 184.21 deg
(890//1, -3916//1), # 6 azimut 168.17 deg
(969//1, -2019//1), # 7 azimut 155.38 deg
]
const DELTA = Rational{BigInt}(31)
const T_D = Rational{BigInt}(2165, 82678) # tan(d_alpha/2)
const MESURES = Dict{Tuple{Int,Int},Tuple{Rational{BigInt},Int}}(
(1,2) => (11825//49066, 0),
(1,3) => (5836//16665, 0),
(1,4) => (55365//73981, 0),
(1,5) => (21176//8397, 0),
(1,6) => (99876//24181, 0),
(1,7) => (53201//6735, 0),
(2,3) => (5363//53260, 0),
(2,4) => (41897//97471, 0),
(2,5) => (69983//49331, 0),
(2,6) => (15443//7923, 0),
(2,7) => (50714//19229, 0),
(3,4) => (25397//80500, 0),
(3,5) => (83647//72534, 0),
(3,6) => (60424//39105, 0),
(3,7) => (89329//44567, 0),
(4,5) => (48554//79047, 0),
(4,6) => (54829//66324, 0),
(4,7) => (18615//17992, 0),
(5,6) => (1304//9255, 0),
(5,7) => (22971//89369, 0),
(6,7) => (7535//67229, 0) )
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
========================================
CN (7 amers)
========================================
minorant : muet -- les angles derivent d'un gisement par amer, ils ne peuvent pas
se contredire (15 cycles independants).
defaut residuel 3.184e-08 deg, soit 3.5e-09 fois la tolerance du cycle
(transcription des angles ; seuil de lisibilite 1e-03)
7 amers, 42 contraintes orientees
elagage sur 39 boites : 9 paires sur 861
X∩ : 9 sommets en 0.233 s (elagage 0.031, solveur 0.164, filtres 0.028)
boite de depart reprise de X∩ : x[-55, 109] y[-66, 21]
germe repris de X∩ : 9 contrainte(s)
critere : la cloture n'apporte rien sur 42 bornes -> X = X∩ est ACQUIS sans calculer X
--critere : calcul de X saute, le resultat est X∩
resultat : X∩, 9 sommets
memoire : pic 43.6 Mo
temps : X∩ 0.233 s X 0.000 s aire 0.000 s bord 0.000 s calcul 0.307 s mural 0.307 s
solveur : direct=9 erreur=0 asymptote=0 non_gen=0 plusieurs=0 coords=0
dont decomposition 0.12 s, solve_ratparam_real 0.04 s
ecrit : /tmp/geoloc-v4oosybw/CN.resultat.json
========================================
CN_courbes (7 amers) -- analyse de /tmp/geoloc-v4oosybw/CN.resultat.json
========================================
aire de X∩ : [9730, 9755] m2 (0.25 %, niveaux 2 ; 36 prouvee(s), 0 mesuree(s), 0 majoree(s))
bord de X∩ : 36 points (fleche 0.77 px a 2160, niveaux 2)
temps : aire 0.434 s bord 0.036 s
ecrit : /tmp/geoloc-v4oosybw/CN.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.