Formule précision vs distance

8

Considérez un tireur et une cible. Ma question est de savoir s'il existe une approximation réaliste du calcul avec quelle probabilité le tireur atteint la cible.

En négligeant la compétence d'arme et de tir, je suppose que l'approximation de premier ordre devrait être que la probabilité de toucher serait proportionnelle à 1 / r ^ 2, où r est la distance jusqu'à la cible.

La motivation de cette relation vient de l'idée que l'aire d'une sphère centrée sur le tireur se désintègre en r ^ 2. Ainsi, la probabilité de toucher un objectif devrait, dans le pire des cas, se dégrader en 1 / r ^ 2.

J'ai essayé Google pour trouver une relation avec n'importe quelle arme, mais je n'en ai trouvé aucune ...

Quelqu'un connaît-il plus d'informations sur ce sujet? Cette approximation est-elle valable?

ÉDITER:

Plus sur la question: j'envisage un jeu de tactique. En particulier, je voudrais modéliser le tir entre deux unités (donc, pas un jeu FPS, le joueur ne vise pas, il donne des ordres). Pour ce faire, je considère que l'unité a une certaine expérience, l'arme a une certaine précision et l'environnement (brumeux, végétation, etc.) affecte la précision globale. Avant de travailler sur un modèle difficile, le modèle le plus simple à tester considère tous les facteurs constants et la précision uniquement en fonction de la distance.

La question est de savoir comment cette précision doit dépendre de la distance. Ma première supposition serait une décroissance de 1 / r ^ 2. Mais, a bien mentionné dans les commentaires, cela ressemble à une décroissance très rapide.

Jorge Leitao
la source
1
1 / r ^ 2 tombe rapidement. Apparemment, la plupart des FPS modifient votre point de visée dans un angle solide et tracent un rayon. Plus l'angle est grand, plus il est difficile de toucher des cibles éloignées.
Daniel Blezek
1
Peut-être pouvez-vous utiliser la loi du carré inverse pour en trouver une?
MichaelHouse
Inverse Square law est ce que je dis dans le post ... c'est le 1 / r ^ 2 ... -.-
Jorge Leitao
Bien sûr. Ce doit être la raison pour laquelle j'y ai pensé. Mais vous manquez le 4π et vous utilisez simplement 1 pour P. Vous pouvez essentiellement utiliser l'intensité de cette équation pour assimiler la précision.
MichaelHouse
1
Je ne pense pas que sa conception de jeu soit pertinente, car il demande une "approximation réaliste" et "néglige la compétence de l'arme et du tireur". Avec ces contraintes, cela semble être un problème mathématique de base.
Kylotan le

Réponses:

5

Votre approximation dicte essentiellement que les tirs atterrissent sur une partie de la surface d'une sphère, déterminée par l'angle; la zone cible à l'intérieur de cette surface est une constante; la distribution de probabilité est constante à l'intérieur de la surface et nulle ailleurs.

Gajet a déjà donné un certain nombre de bonnes raisons pour lesquelles certaines de ces hypothèses tombent à plat, mais conserve le même modèle d'inexactitude: une erreur d'angle limitée. Le résultat tombe toujours avec r ^ -2, mais avec une petite constante.

Supposons que le tireur ait une diffusion maximale de 5 °. Il a une chance de tirer entre une erreur de 0 ° et 1 °, mais la zone de l'anneau entre 4 ° et 5 ° est beaucoup plus grande que la zone de l'anneau / cercle entre 0 ° et 1 °. De plus grandes erreurs ont une plus grande probabilité de se produire. Augmentez davantage l'erreur et la probabilité tombe soudainement à zéro, car nous sommes hors de la limite de cinq degrés. Cela ne semble pas très réaliste.

Une représentation plus précise serait d'avoir une distribution gaussienne de l' erreur angulaire, à savoir: A(ϕ) = sqrt(a/π) exp(-a ϕ²). La variable a peut être utilisée pour inclure la compétence du tireur, etc. Notez que cette solution est unidimensionnelle. Si votre cible est très haute par rapport à sa largeur, vous pouvez omettre complètement l'erreur verticale et supposer simplement que le tir a atterri à la bonne altitude. Vous pouvez également exécuter le calcul deux fois et multiplier le résultat, en supposant que la cible est à peu près rectangulaire.

Pour obtenir de la fonction de probabilité de la probabilité réelle de frapper une cible, nous intégrons la fonction A et se retrouve avec une fonction d'erreur coûteuse - qui est en fait appelée la fonction d'erreur: p(ϕ) = erf(ϕ sqrt(a)). L'angle ϕ est égal à l'angle entre le point ciblé et le bord de la cible. En termes de taille de la cible et de la distance r: p(r) = erf(arctan(s/2r) sqrt(a)). Cette fonction est tracée ci-dessous pour une cible de taille 1 et des valeurs de précision de a=2et a=10.

Probabilité de toucher la cible en fonction de la distance

Notez que contrairement à une baisse de r ^ -2, la probabilité reste nettement inférieure à un, quelle que soit la proximité de la cible. En fait, même une cible à une distance exactement nulle peut être manquée, en raison de la très faible probabilité que l'erreur soit supérieure à 90 °.

Comme je l'ai déjà dit, la fonction d'erreur est assez chère, mais son argument ϕ sqrt(a)ne varie pas beaucoup pour tout scénario de tireur sensé. Nous pouvons faire beaucoup mieux en évaluant une partie de la série Taylor à la place et en plafonnant le résultat. Tout d' abord, nous dressons la carte x = arctan(s/2r) sqrt(a), puis évaluer: 2 x - (2/3) x^3 + (1/5) x^5 .... Omettez ou ajoutez autant de termes que vous le jugez nécessaire, mais gardez à l'esprit qu'un nombre pair de termes entraînera un comportement indésirable sur de faibles distances. La fonction d'erreur réelle est représentée ci-dessous, par rapport aux trois premiers termes non nuls de sa série Taylor.

Probabilité à l'aide de la fonction d'erreur et de la série Taylor

Pour terminer, il s'agit uniquement de mathématiques. Ajoutez quelques fonctions sinusoïdales, des coefficients aléatoires et des logarithmes et votre jeu pourrait être tout aussi amusant.

Marcks Thomas
la source
5

La probabilité est certainement fonction de 1 / r ^ 2 mais ne diminue pas aussi rapidement que 1 / r ^ 2 lui-même. Ne faisons pas un calcul simple, et pour la facilité de calcul, je vais d'abord opter pour une prise de vue 2D qui entraînera une erreur 1D dans la prise de vue. La cible a toujours la même largeur, par exemple, nous savons que la cible a une largeur d'un mètre. Et nous savons également que pendant le tir, l'arme peut manquer la cible avec au plus 5 degrés. voici une figure montrant la situation:

Figure 1

Regardez maintenant ces trois états. supposons qu'ils ont h1, h2et la h3distance du coin. Sur la base de ces valeurs et de l'angle, nous pouvons calculer la distance à cet état. Il est calculé aussi simplement que h*tan(10/2)*2(comme le montre la figure 2).

Figure 2

Nous le savons h/l = cos(theta/2)et 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'un autre côté, nous savons que la cible elle-même mesure 1 mètre de large, donc tant que cette valeur est inférieure à un mètre, nous atteindrons toujours. après cette partie, sa probabilité "target surface"/"hit area"est égale à 1 / (h*tan(10/2)*2). Notez que nous pouvons toujours supposer que toute la surface cible est à l'intérieur d'un cône de feu. cela n'affecte pas vraiment le jeu mais facilite beaucoup les calculs!

revenons maintenant à notre problème 3D avec une cible 2D. Puisque c'est un cône dont nous parlons, la balle passera toujours par un cercle d'un certain diamètre lors du passage de la cible. encore une fois, nous devons calculer son rayon, puis l'aire de ce cercle. Comme je l'ai expliqué précédemment, nous pouvons l'utiliser r=h*tan(10/2)*2et donc la surface est pi*r^2 = h^2*tan^2(10/2)*4 * pi. Et à la fin, nous savons que la probabilité est "target area"/"circle area" = 1 / h^2*tan^2(10/2)*4 * pi. comme je l'ai dit, c'est une fonction de h ^ 2 mais comme tan^2(5)c'est très petit, il faut beaucoup de temps avant que cette probabilité ne tombe très bas.

Ali1S232
la source
1

Pour cela, vous avez besoin d'un concept défini d '"inexactitude". Qu'est-ce que l'inexactitude? Comment ça marche? Si vous codez une IA qui tire et calcule le chemin exact à chaque fois, alors évidemment l'inexactitude est de 0 sur n'importe quelle distance.

Toute IA tirante définit d'abord le chemin parfait, puis ajoute une imprécision de visée. Cette imprécision est entièrement définie par vous et cette définition est nécessaire avant de pouvoir calculer une probabilité.

DeadMG
la source
Comme je l'ai dit dans la question, la précision est la probabilité de toucher parce que je négligeais la précision de l'unité (par exemple, l'expérience) dans cette première approximation.
Jorge Leitao
@JC: Mais vous n'avez pas défini de raison ou signifie que la précision de l'unité ne serait pas à 100% à chaque fois.
DeadMG