Precisão vs fórmula de distância

8

Considere um atirador e um alvo. Minha pergunta é se existe alguma aproximação realista do cálculo com qual probabilidade o atirador atinge o alvo.

Negligenciando a habilidade da arma e do atirador, acho que a aproximação de primeira ordem deve ser que a probabilidade de acertar seja proporcional a 1 / r ^ 2, em que r é a distância do alvo.

A motivação para essa relação vem do uso da idéia de que a área de uma esfera centralizada no atirador decai como r ^ 2. Portanto, a probabilidade de atingir um alvo deve ser, na pior das hipóteses, decair como 1 / r ^ 2.

Eu tentei pesquisar no Google alguma relação por qualquer arma, mas não encontrei nenhuma ...

Alguém sabe mais informações sobre esse tópico? Esta aproximação é válida?

EDITAR:

Mais sobre a questão: estou pensando em um jogo de táticas. Em particular, eu gostaria de modelar o tiroteio entre duas unidades (então, não um jogo de FPS, o jogador não mira, emite ordens). Para fazer isso, estou considerando que a unidade tem alguma experiência, a arma tem alguma precisão e o ambiente (nebuloso, vegetação etc.) afeta a precisão geral. Antes de trabalhar em um modelo difícil, o modelo mais simples a ser testado é considerar todos os fatores constantes e a precisão depender apenas da distância.

A questão é como essa precisão deve depender da distância. Meu primeiro palpite seria uma decadência de 1 / r ^ 2. Mas, como já mencionado nos comentários, isso parece uma deterioração muito rápida.

Jorge Leitao
fonte
11
1 / r ^ 2 cai rapidamente. Aparentemente, a maioria dos FPS modifica seu ponto de mira em um ângulo sólido e traça um raio. Quanto maior o ângulo, mais difícil é atingir alvos distantes.
precisa saber é o seguinte
11
Talvez você possa usar a lei do Inverse Square para criar uma?
MichaelHouse
Lei do inverso Square é o que estou dizendo no post ... que é o 1 / r ^ 2 ... -.-
Jorge Leitao
Claro. Deve ser por isso que pensei nisso. Mas você está perdendo o 4π e está apenas usando 1 para P. Você pode essencialmente usar a intensidade dessa equação para igualar à precisão.
MichaelHouse
11
Eu não acho que o design do jogo dele seja relevante, pois ele está pedindo "aproximação realista" e "negligenciando a habilidade de armas e atiradores". Com essas restrições, parece uma questão matemática básica.
Kylotan

Respostas:

5

Sua aproximação basicamente determina que os tiros aterrissem em uma parte da superfície de uma esfera, determinada pelo ângulo; a área alvo dentro dessa superfície é uma constante; a distribuição de probabilidade é constante dentro da superfície e zero em outro lugar.

A Gajet já deu uma série de boas razões pelas quais algumas dessas suposições caem, mas mantém o mesmo modelo de imprecisão: um erro limitado no ângulo. O resultado ainda cai com r ^ -2, mas com uma pequena constante.

Digamos que o atirador tenha um spread máximo de 5 °. Ele tem chance de disparar entre um erro de 0 ° e 1 °, mas a área do anel entre 4 ° e 5 ° é muito maior que a área do anel / círculo entre 0 ° e 1 °. Erros maiores têm uma probabilidade maior de ocorrer. Aumente ainda mais o erro e a probabilidade cai repentinamente para zero, porque estamos fora do limite de cinco graus. Isso não parece muito realista.

A representação mais precisa seria ter uma distribuição guassian de erro angular, ou seja: A(ϕ) = sqrt(a/π) exp(-a ϕ²). A variável a pode ser usada para incluir a habilidade do atirador, etc. Observe que esta solução é unidimensional. Se o seu alvo for muito alto em comparação à sua largura, você poderá omitir o erro vertical completamente e apenas assumir que o tiro foi acertado na elevação correta. Como alternativa, você pode executar o cálculo duas vezes e multiplicar o resultado, assumindo que o destino seja aproximadamente retangular.

Para obter a partir da função de probabilidade para a probabilidade real de atingir um alvo, nós integramos a função A e acabar com uma função de erro caro - o que é realmente chamado a função de erro: p(ϕ) = erf(ϕ sqrt(a)). O ângulo ϕ é igual ao ângulo entre o ponto alvo e a aresta do alvo. Em termos de tamanho do alvo e distância r: p(r) = erf(arctan(s/2r) sqrt(a)). Esta função é plotada abaixo para uma meta de tamanho 1 e valores de precisão de a=2e a=10.

Probabilidade de atingir o alvo versus a distância

Observe que, diferentemente de uma queda de r ^ -2, a probabilidade permanece abaixo de uma, não importa o quão perto o alvo esteja. De fato, mesmo um alvo a uma distância exatamente zero pode ser perdido, devido à probabilidade extremamente pequena de que o erro seja superior a 90 °.

Como eu disse antes, a função de erro é bastante cara, mas seu argumento ϕ sqrt(a)não varia muito para qualquer cenário sensato de atirador. Podemos fazer muito melhor avaliando parte da série Taylor e limitando o resultado. Primeiro, mapear x = arctan(s/2r) sqrt(a), em seguida, avaliar: 2 x - (2/3) x^3 + (1/5) x^5 .... Omita ou adicione quantos termos forem considerados necessários, mas lembre-se de que um número par de termos causará comportamentos indesejados a distâncias baixas. A plotagem abaixo é a função de erro real, em comparação com os três primeiros termos diferentes de zero de sua série Taylor.

Probabilidade de usar a função de erro e a série Taylor

Como nota final, isso é puramente matemática. Execute algumas funções senoidais, coeficientes aleatórios e logaritmos, e seu jogo pode ser igualmente divertido.

Marcks Thomas
fonte
5

A probabilidade certamente é uma função de 1 / r ^ 2, mas não cai tão rápido quanto 1 / r ^ 2. Não vamos fazer uma matemática simples, e para facilitar o cálculo, irei primeiro com um disparo 2D que resultará em erro 1D no disparo. O alvo sempre tem a mesma largura, por exemplo, sabemos que o alvo tem uma largura de um metro. E também sabemos que, ao disparar, a arma pode errar o alvo com no máximo 5 graus. Aqui está uma figura mostrando a situação:

figura 1

Agora olhe para esses três estados. suponha que sim h1, h2e h3distância da esquina. Com base nesses valores e no ângulo, podemos calcular quanto a distância está nesse estado. É calculado tão simples quanto h*tan(10/2)*2(como mostrado na figura 2).

Figura 2

Sabemos disso 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

Por outro lado, sabemos que o alvo em si tem 1 metro de largura, desde que esse valor seja menor que um metro, sempre atingiremos. depois dessa parte, tem uma probabilidade "target surface"/"hit area"igual a 1 / (h*tan(10/2)*2). Observe que sempre podemos assumir que toda a superfície do alvo está dentro do cone de fogo. isso não afeta muito o jogo, mas facilita muito os cálculos!

agora de volta ao nosso problema 3D com um alvo 2D. Como se trata de um cone, estamos falando sobre a bala sempre passará por um círculo de certo diâmetro ao ultrapassar o alvo. novamente, precisamos calcular o raio e, em seguida, a área desse círculo. Como expliquei antes, podemos usar r=h*tan(10/2)*2e, portanto, a área da superfície é pi*r^2 = h^2*tan^2(10/2)*4 * pi. E no final sabemos que a probabilidade é "target area"/"circle area" = 1 / h^2*tan^2(10/2)*4 * pi. como eu disse, é uma função de h ^ 2, mas como tan^2(5)é muito pequeno, leva muito tempo até que a probabilidade caia muito baixa.

Ali1S232
fonte
1

Para isso, você precisa de um conceito definido de "imprecisão". O que é imprecisão? Como funciona? Se você codifica uma IA que dispara e calcula o caminho exato todas as vezes, obviamente a imprecisão é 0 em qualquer distância.

Qualquer IA de disparo define o caminho perfeito primeiro e, em seguida, adiciona imprecisão da mira. Essa imprecisão é totalmente definida por você e essa definição é necessária antes que qualquer probabilidade possa ser computada.

DeadMG
fonte
Como eu disse na pergunta, a precisão é Probabilidade de acerto porque eu estava negligenciando a precisão da unidade (por exemplo, experiência) nesta primeira aproximação.
Jorge Leitão
@JC: Mas você não definiu nenhum motivo ou significa que a precisão da unidade não seria 100% toda vez.
DeadMG