Considere un tirador y un objetivo. Mi pregunta es si hay alguna aproximación realista de cálculo con qué probabilidad el tirador da en el blanco.
Descuidando la habilidad del arma y el tirador, supongo que la aproximación de primer orden debería ser que la probabilidad de golpe sería proporcional a 1 / r ^ 2, donde r es la distancia al objetivo.
La motivación para esta relación proviene del uso de la idea de que el área de una esfera centrada en el tirador decae como r ^ 2. Por lo tanto, la probabilidad de alcanzar un objetivo debería ser, en el peor de los casos, decaer como 1 / r ^ 2.
Intenté buscar en Google alguna relación para cualquier arma, pero no encontré ninguna ...
¿Alguien sabe más información sobre este tema? ¿Es válida esta aproximación?
EDITAR:
Más sobre la pregunta: estoy considerando un juego de tácticas. En particular, me gustaría modelar el disparo entre dos unidades (por lo tanto, no es un juego de FPS, el jugador no apunta, emite órdenes). Para hacer eso, estoy considerando que la unidad tiene algo de experiencia, el arma tiene cierta precisión y el entorno (niebla, vegetación, etc.) afecta la precisión general. Antes de trabajar en un modelo difícil, el modelo más simple para probar es considerar todos los factores constantes, y la precisión solo depende de la distancia.
La pregunta es cómo esta precisión debería depender de la distancia. Mi primera suposición sería una disminución de 1 / r ^ 2. Pero, como bien se ha mencionado en los comentarios, esto parece una decadencia muy rápida.
fuente
Respuestas:
Su aproximación básicamente dicta que los disparos están aterrizando en una parte de la superficie de una esfera, determinada por el ángulo; el área objetivo dentro de esa superficie es una constante; la distribución de probabilidad es constante dentro de la superficie y cero en otros lugares.
Gajet ya ha dado una serie de buenas razones por las cuales algunos de estos supuestos fracasan, pero se aferra al mismo modelo de inexactitud: un error limitado en ángulo. El resultado todavía cae con r ^ -2, pero con una pequeña constante.
Digamos que el tirador tiene una extensión máxima de 5 °. Tiene la posibilidad de disparar entre un error de 0 ° y 1 °, pero el área del anillo entre 4 ° y 5 ° es mucho mayor que el área del anillo / círculo entre 0 ° y 1 °. Los errores más grandes tienen una mayor probabilidad de ocurrir. Aumente el error aún más, y la probabilidad de repente cae a cero, porque estamos fuera del límite de cinco grados. Eso no parece muy realista.
Una representación más precisa sería tener una distribución Guassian de error angular, es decir:
A(ϕ) = sqrt(a/π) exp(-a ϕ²)
. La variable a se puede usar para incluir la habilidad del tirador, etc. Tenga en cuenta que esta solución es unidimensional. Si su objetivo es muy alto en comparación con su ancho, puede omitir el error vertical por completo y simplemente asumir que el disparo aterrizó en la elevación correcta. Alternativamente, puede ejecutar el cálculo dos veces y multiplicar el resultado, suponiendo que el objetivo sea aproximadamente rectangular.Para llegar desde la función de probabilidad a la probabilidad real de alcanzar un objetivo, integramos la función A y terminamos con una función de error costoso - que en realidad se llama la función de error:
p(ϕ) = erf(ϕ sqrt(a))
. El ángulo ϕ equivale al ángulo entre el punto objetivo y el borde del objetivo. En términos de s tamaño objetivo y la distancia r:p(r) = erf(arctan(s/2r) sqrt(a))
. Esta función se representa a continuación para un objetivo de tamaño 1 y valores de precisión dea=2
ya=10
.Tenga en cuenta que, a diferencia de una caída de r ^ -2, la probabilidad se mantiene claramente por debajo de uno, sin importar qué tan cerca esté el objetivo. De hecho, incluso un objetivo a una distancia exactamente cero puede perderse, debido a la probabilidad extremadamente pequeña de que el error sea superior a 90 °.
Como dije antes, la función de error es bastante costosa, pero su argumento
ϕ sqrt(a)
no varía tanto para cualquier escenario de tirador sensible. Podemos hacerlo mucho mejor evaluando parte de la serie Taylor y limitando el resultado. En primer lugar, hacemos un mapax = arctan(s/2r) sqrt(a)
, y luego evaluar:2 x - (2/3) x^3 + (1/5) x^5 ...
. Omita o agregue tantos términos como se considere necesario, pero tenga en cuenta que un número par de términos causará un comportamiento no deseado en distancias bajas. A continuación se muestra la función de error real, en comparación con los primeros tres términos distintos de cero de su serie Taylor.Como nota final, esto es puramente matemática. Agregue un par de funciones sinusoidales, coeficientes aleatorios y logaritmos y su juego podría ser igualmente divertido.
fuente
La probabilidad ciertamente es una función de 1 / r ^ 2 pero no cae tan rápido como 1 / r ^ 2. No hagamos un cálculo simple, y para facilitar el cálculo, primero iré con un disparo en 2D que dará como resultado un error 1D en el disparo. El objetivo siempre tiene el mismo ancho, por ejemplo, sabemos que el objetivo tiene un ancho de un metro. Y también sabemos que al disparar el arma puede fallar el objetivo con un máximo de 5 grados. Aquí hay una figura que muestra la situación:
Ahora mira estos tres estados. Supongamos que tienen
h1
,h2
y lah3
distancia desde la esquina. En base a estos valores y al ángulo, podemos calcular la distancia en ese estado. Se calcula tan simple comoh*tan(10/2)*2
(como se muestra en la figura 2).Lo sabemos
h/l = cos(theta/2)
yr/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 otro lado, sabemos que el objetivo en sí es de 1 metro de ancho, por lo que siempre que ese valor sea inferior a un metro siempre daremos en el blanco. después de esa parte tiene una probabilidad de
"target surface"/"hit area"
que sea igual a1 / (h*tan(10/2)*2)
. Tenga en cuenta que siempre podemos suponer que toda la superficie objetivo está dentro del cono de fuego. en realidad no afecta tanto el juego, ¡pero facilita mucho los cálculos!Ahora volvamos a nuestro problema 3D con un objetivo 2D. Como se trata de un cono, estamos hablando de que la bala siempre pasará a través de un círculo de cierto diámetro cuando pase al objetivo. de nuevo necesitamos calcular su radio, luego el área de ese círculo. Como he explicado antes, podemos usar
r=h*tan(10/2)*2
y, por lo tanto, el área de superficie espi*r^2 = h^2*tan^2(10/2)*4 * pi
. Y al final sabemos que la probabilidad es"target area"/"circle area" = 1 / h^2*tan^2(10/2)*4 * pi
. como dije es una función de h ^ 2 pero comotan^2(5)
es muy pequeño, lleva mucho tiempo antes de que esa probabilidad caiga muy bajo.fuente
Para esto, necesita un concepto definido de "inexactitud". ¿Qué es la inexactitud? ¿Como funciona? Si codifica una IA que dispara y calcula la ruta exacta cada vez, entonces obviamente la inexactitud es 0 en cualquier distancia.
Cualquier IA de disparo define primero el camino perfecto y luego agrega imprecisión de puntería. Esta imprecisión está completamente definida por usted, y esa definición es necesaria antes de poder calcular cualquier probabilidad.
fuente