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.
fonte
Respostas:
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 dea=2
ea=10
.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, mapearx = 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.Como nota final, isso é puramente matemática. Execute algumas funções senoidais, coeficientes aleatórios e logaritmos, e seu jogo pode ser igualmente divertido.
fonte
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:
Agora olhe para esses três estados. suponha que sim
h1
,h2
eh3
distância da esquina. Com base nesses valores e no ângulo, podemos calcular quanto a distância está nesse estado. É calculado tão simples quantoh*tan(10/2)*2
(como mostrado na figura 2).Sabemos disso
h/l = cos(theta/2)
er/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 a1 / (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)*2
e, 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 comotan^2(5)
é muito pequeno, leva muito tempo até que a probabilidade caia muito baixa.fonte
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.
fonte