Precisione vs formula di distanza


8

Considera un tiratore e un bersaglio. La mia domanda è se c'è qualche approssimazione realistica del calcolo con quale probabilità il tiratore colpisce il bersaglio.

Trascurando l'abilità dell'arma e del tiratore, suppongo che l'approssimazione del primo ordine dovrebbe essere che la probabilità di colpire sarebbe proporzionale a 1 / r ^ 2, dove r è la distanza dal bersaglio.

La motivazione a questa relazione deriva dall'uso dell'idea che l'area di una sfera centrata sul tiratore decade come r ^ 2. Quindi, la probabilità di colpire un bersaglio dovrebbe essere, nel peggiore dei casi, decadere come 1 / r ^ 2.

Ho provato a cercare su Google una relazione per qualsiasi arma, ma non ho trovato ...

Qualcuno sa maggiori informazioni su questo argomento? Questa approssimazione è valida?

MODIFICARE:

Altro sulla domanda: sto prendendo in considerazione un gioco di tattiche. In particolare, vorrei modellare il tiro tra due unità (quindi, non un gioco FPS, il giocatore non mira, emette ordini). Per fare ciò, sto considerando che l'unità ha una certa esperienza, l'arma ha una certa precisione e l'ambiente (nebbia, vegetazione, ecc.) Influenza l'accuratezza complessiva. Prima di lavorare su un modello difficile, il modello più semplice da testare considera costanti tutti i fattori e la precisione dipende solo dalla distanza.

La domanda è come questa precisione dovrebbe dipendere dalla distanza. La mia prima ipotesi sarebbe un decadimento 1 / r ^ 2. Ma, ha ben accennato ai commenti, sembra un decadimento molto rapido.


1
1 / r ^ 2 cade rapidamente. Apparentemente, la maggior parte degli FPS modifica il punto di mira in un angolo solido e traccia un raggio. Maggiore è l'angolo, più difficile è colpire bersagli distanti.
Daniel Blezek,

1
Forse puoi usare la legge di Inverse Square per inventarne uno?
MichaelHouse

La legge di Inverse Square è ciò che sto dicendo nel post ... ovvero l'1 / r ^ 2 ... -.-
Jorge Leitao,

Ovviamente. Deve essere il motivo per cui ci ho pensato. Ma ti manca il 4π e stai solo usando 1 per P. Puoi essenzialmente usare l'intensità di quell'equazione per eguagliare l'accuratezza.
MichaelHouse

1
Non credo che il design del suo gioco sia rilevante, in quanto chiede "approssimazione realistica" e "trascura l'abilità dell'arma e del tiratore". Con questi vincoli sembra un problema matematico di base.
Kylotan,

Risposte:


5

La tua approssimazione fondamentalmente impone che i colpi stiano atterrando su una parte della superficie di una sfera, determinata dall'angolo; l'area target all'interno di quella superficie è una costante; la distribuzione di probabilità è costante all'interno della superficie e zero altrove.

Gajet ha già fornito una serie di buoni motivi per cui alcuni di questi presupposti falliscono, ma mantiene lo stesso modello di inesattezza: un errore limitato nell'angolo. Il risultato cade ancora con r ^ -2, ma con una piccola costante.

Supponiamo che il tiratore abbia una diffusione massima di 5 °. Ha la possibilità di sparare tra un errore 0 ° e 1 °, ma l'area dell'anello tra 4 ° e 5 ° è molto più grande dell'area dell'anello / cerchio tra 0 ° e 1 °. Errori più grandi hanno una maggiore probabilità di verificarsi. Aumenta ulteriormente l'errore e la probabilità scende improvvisamente a zero, perché siamo fuori dal limite di cinque gradi. Non sembra molto realistico.

Una rappresentazione più accurata sarebbe avere una distribuzione Guassian di errore angolare, cioè: A(ϕ) = sqrt(a/π) exp(-a ϕ²). La variabile a può essere utilizzata per includere l'abilità del tiratore ecc. Nota che questa soluzione è monodimensionale. Se il tuo bersaglio è molto alto rispetto alla sua larghezza, potresti omettere del tutto l'errore verticale e supporre che il colpo sia atterrato alla quota corretta. In alternativa, è possibile eseguire il calcolo due volte e moltiplicare il risultato, supponendo che l'obiettivo sia approssimativamente rettangolare.

Per arrivare dalla funzione di probabilità alla probabilità reale di colpire un bersaglio, integriamo la funzione A e finire con un costoso funzione di errore - che in realtà è chiamata la funzione di errore: p(ϕ) = erf(ϕ sqrt(a)). L'angolo ϕ equivale all'angolo tra il punto bersaglio e il bordo del bersaglio. In termini di dimensioni di destinazione s e distanza r: p(r) = erf(arctan(s/2r) sqrt(a)). Questa funzione è indicata di seguito per un obiettivo di dimensione 1 e valori di precisione di a=2e a=10.

Probabilità di colpire bersaglio contro distanza

Si noti che, diversamente da una riduzione di r ^ -2, la probabilità rimane ordinatamente al di sotto di essa, indipendentemente dalla vicinanza del bersaglio. In effetti, anche un bersaglio a distanza esattamente zero può essere mancato, a causa della probabilità estremamente ridotta che l'errore sia superiore a 90 °.

Come ho detto prima, la funzione di errore è piuttosto costosa, ma il suo argomento ϕ sqrt(a)non varia molto per uno scenario di sparatutto sensato. Possiamo fare molto meglio valutando invece parte della serie Taylor e limitando il risultato. In primo luogo, mappiamo x = arctan(s/2r) sqrt(a), quindi valutare: 2 x - (2/3) x^3 + (1/5) x^5 .... Omettere o aggiungere tutti i termini ritenuti necessari, ma tenere presente che un numero pari di termini causerà comportamenti indesiderati a basse distanze. Di seguito è riportata la vera funzione di errore, rispetto ai primi tre termini diversi da zero della sua serie Taylor.

Probabilità utilizzando la funzione di errore e le serie di Taylor

Come nota finale, questa è puramente matematica. Aggiungete un paio di funzioni sinusoidali, coefficienti casuali e logaritmi e il vostro gioco potrebbe essere altrettanto divertente.


5

La probabilità è certamente una funzione di 1 / r ^ 2 ma non diminuisce alla stessa velocità di 1 / r ^ 2 stesso. Non fare una semplice matematica, e per la facilità di calcolo andrò prima con uno scatto 2D che comporterà un errore 1D nello scatto. Il bersaglio ha sempre la stessa larghezza, ad esempio sappiamo che il bersaglio ha una larghezza di un metro. E sappiamo anche che durante il tiro la pistola può mancare l'obiettivo con al massimo 5 gradi. ecco una figura che mostra la situazione:

Figura 1

Ora guarda questi tre stati. supponiamo che abbiano h1, h2e la h3distanza dall'angolo. Sulla base di questi valori e dell'angolo, possiamo calcolare la distanza a tale stato. È calcolato in modo semplice come h*tan(10/2)*2(come mostrato nella figura 2).

figura 2

Sappiamo che h/l = cos(theta/2)e r/l = sin(theta/2)=> r/h = sin(theta/2)/cos(theta/2) = tan(theta/2)=> r = h*tan(theta/2)=>edge length = h*tan(theta/2)*2

D'altra parte sappiamo che l'obiettivo stesso è largo 1 metro, quindi finché quel valore è inferiore a un metro, colpiremo sempre. dopo quella parte ha una probabilità "target surface"/"hit area"pari a 1 / (h*tan(10/2)*2). Si noti che possiamo sempre supporre che tutta la superficie del bersaglio sia all'interno del cono di fuoco. non influisce molto sul gioco ma facilita molto i calcoli!

ora torniamo al nostro problema 3D con un obiettivo 2D. Poiché è un cono di cui stiamo parlando, il proiettile passerà sempre attraverso un cerchio di un certo diametro quando passa il bersaglio. ancora una volta dobbiamo calcolare il suo raggio, quindi l'area di quel cerchio. Come ho spiegato prima, possiamo usare r=h*tan(10/2)*2e quindi la superficie è pi*r^2 = h^2*tan^2(10/2)*4 * pi. E alla fine sappiamo che la probabilità è "target area"/"circle area" = 1 / h^2*tan^2(10/2)*4 * pi. come ho detto è una funzione di h ^ 2 ma poiché tan^2(5)è molto piccolo, ci vuole molto tempo prima che tale probabilità scenda molto bassa.


1

Per questo, è necessario un concetto definito di "inesattezza". Che cos'è l'imprecisione? Come funziona? Se si codifica un'intelligenza artificiale che spara e calcola il percorso esatto ogni volta, ovviamente l'imprecisione è 0 su qualsiasi distanza.

Qualsiasi IA di tiro definisce prima il percorso perfetto, quindi aggiunge imprecisioni di mira. Questa inesattezza è interamente definita da te e tale definizione è necessaria prima di poter calcolare qualsiasi probabilità.


Come ho detto nella domanda, la precisione è Probabilità di colpo perché stavo trascurando la precisione dell'unità (ad es. Esperienza) in questa prima approssimazione.
Jorge Leitao,

@JC: Ma non hai definito alcun motivo o significa che l'accuratezza dell'unità non sarebbe stata del 100% ogni volta.
DeadMG
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.