Multilaterazione basata sul tempo
Non ne sono del tutto sicuro, ma penso che questo forum sia il più appropriato per questa domanda.
Conosco la posizione di tre osservatori. Una fonte vicina, la cui posizione è sconosciuta , emette un raggio di radiazioni in un momento sconosciuto. Conosco l'istante in cui ogni osservatore "ha visto" la radiazione, e conosco anche la velocità di propagazione del raggio (ovvero la velocità della luce).
C'è un modo per determinare la posizione della fonte? O, forse, per determinare alcune informazioni sulla sua posizione (la sua direzione, ecc.)? Ho svolto alcune ricerche sulle tecniche di multilaterazione, tuttavia non sono riuscito a trovare nulla che risolva questo particolare problema.
[MODIFICARE]:
Questo sembra essere simile a quello che sto cercando: codice multilaterazione
Vale a dire, voglio codificare un algoritmo che, dati i timestamp e le posizioni degli osservatori, possa calcolare la posizione di molte fonti. Tuttavia, le risposte alla domanda precedente non sono particolarmente utili.
Risposte
Nello spazio 2D la soluzione sembra ingannevolmente semplice, perché hai solo 1 parametro da ottimizzare, ovvero T0, ovvero il tempo di rilascio della radiazione. Quando questo è noto, è possibile calcolare le distanze, i punti buffer di conseguenza e individuare con precisione il "punto" in cui si intersecano tutti e 3 i buffer. Questa è una funzione piuttosto semplice per GIS nel sistema di coordinate proiettato :

Si noti che le stazioni sono etichettate da timestamp in secondi e ho usato velocità pari a 343 m/sec. Lunghezza dei bordi espressa in metri.
La parte difficile è definire l'intervallo di ricerca per T0. Ho impostato un intervallo superiore molto vicino al tempo minimo (6) e definito inferiore come 6 - (1036/343), ovvero ho utilizzato il limite più lungo tra le stazioni espresso in secondi. Questi sono i risultati del test eseguito all'interno di questo intervallo:

Valori nella colonna DISTANCE calcolati come totale minimo delle distanze dai due vicini più prossimi per ogni punto di intersezione, vale a dire il valore da minimizzare. La funzione GIS restituisce anche il numero di coppie di intersezioni - terza colonna. Come si può vedere, la funzione ha potenzialmente più di 1 minimo, il che rende difficile l'ottimizzazione. Tuttavia possiamo tranquillamente scartare i casi in cui è stata trovata solo una coppia di intersezioni, perché significa che solo 2 buffer su 3 si intersecano tra loro. Rende la funzione uni-modale. Quindi ho usato valori colorati per i limiti di ricerca e la ricerca della sezione aurea ha risolto l'attività in 10 secondi. Il minimo con precisione posizionale centimetrica è stato trovato a T0 = 5,2620 secondi.