¿Cómo modificar la trayectoria de la bala en función del coeficiente balístico?

Soy nuevo en la física que rodea la trayectoria de la bala y en cómo se calcula. Soy desarrollador de software y estoy trabajando en una calculadora balística para rifles. Estoy usando wiki para el cálculo de la trayectoria

Actualmente estoy usando la ecuación bajo el «Ángulo θ requerido para alcanzar las coordenadas (x, y )» sección. Todo esto está muy bien, pero no tiene en cuenta el arrastre de la bala ( coeficiente balístico ).

He buscado todos sobre tratar de averiguar cómo aplicar el coeficiente a esta ecuación. Estoy realmente perdido y estaría muy agradecido por cualquier dirección en este asunto. Tal vez tengo un vacío en mi comprensión, pero he encontrado muchas otras calculadoras y otra documentación sobre la trayectoria y el coeficiente, pero nada que se casa con los dos juntos.

Respuesta

En primer lugar, la página de Wikipedia « Cálculo de trayectoria » es bastante decepcionante, no se ajusta muy bien a cómo La balística de smalllarms está modelada y resuelta. Un buen libro sobre el tema es el reciente Balística aplicada para tiro de largo alcance de Bryan Litz y un Un sitio web con algunas calculadoras de balística en línea de primer nivel, así como algunas reseñas muy buenas, es JBM Ballistics . También puede consultar « GEBC – Calculadora de balística exterior Gnu » para obtener algo de código C para jugar.

Cálculos de balística de Smallarms adecuados para la mayoría de los propósitos se realizan mediante solucionadores de «1 grado de libertad». Tratan la bala como una masa puntual, afectada por el arrastre del aire y por la gravedad. La resistencia del aire generalmente se modela mediante un «coeficiente balístico», que es un único parámetro que combina con mayor o menor éxito los efectos del tamaño, el peso y la resistencia de la bala en un solo número (por cierto, la Wikipedia « Ballistic Coefficient «es bastante decente).

A este sencillo modelo de física (vuelo libre en el vacío, más arrastre de aire) se le asigna una velocidad y posición iniciales y luego se integra sobre tiempo (normalmente Runge-Kutta ).

Un BC más grande indica que la bala se ve menos afectada por la resistencia del aire que un BC más bajo. Hay dos puntos interesantes en esto, uno obvio, el otro importante pero menos intuitivo:

  1. una bala con un BC más alto perderá velocidad más lentamente, lo que hará que dispare más plano (caiga menos con la distancia viajado)
  2. dado que el BC mide el «grado de interacción entre la bala y el aire», también resulta que la cantidad de deriva del viento (cuánto empuja la bala hacia los lados por un viento cruzado) es directamente afectado por el BC de la viñeta

EDITAR para agregar en respuesta a los comentarios del OP:

Cuando esté mirando (digamos) el GEBC código, probablemente debería poder ver que el modelo de física contiene estos puntos:

  • la bala tiene una posición y velocidad de inicio. Estos generalmente se expresan en un sistema de coordenadas que es estacionario con el tirador .
  • una fuerza que actúa sobre la bala es la gravedad (siempre hacia abajo)
  • opcionalmente, también se puede modelar Coriolis y otras pseudo-fuerzas que se obtienen de este marco de referencia no estrictamente inercial
  • también existe la fuerza de arrastre. En un modelo simple, esto siempre es directamente opuesto a la velocidad de la bala a través del aire (que será la velocidad de la bala a través del sistema de coordenadas del tirador más la velocidad del viento). Los modelos más sofisticados podrían considerar otras fuerzas más pequeñas ( levantamiento de la bala, fuerza lateral del efecto Magnus, etc.), pero estas otras fuerzas son un ejercicio de modelado separado. El «bc» del que estás hablando solo se refiere a la fuerza de arrastre que experimenta una bala en la dirección del viento relativo sobre la bala.

La fuerza sobre la bala es su coeficiente de arrastre multiplicado por su área multiplicada por la presión dinámica (que es 0.5 rho v ^ 2). Al resolver la posición de la bala, realmente interesado en la aceleración debida a esta fuerza, entonces tienes esta cantidad dividida por la masa de la bala. Conoce la velocidad «v», conoce la densidad atmosférica «rho», necesita averiguar el valor de CD * A / M.

Tenga en cuenta que A es constante, M es constante, pero CD no es. El CD depende de la velocidad (en realidad, el número Mach de la bala), y la curva del CD será diferente para las balas de diferente forma.

Aquí es donde entra el BC. Se supone que el «CD * A / M «curva de su viñeta, tiene la misma forma y solo se diferencia por un parámetro de escala multiplicativo (1 / BC) de la curva» CD * A / M «de una viñeta de referencia estándar.

El sistema BC más común se llama «G1» y utiliza una bala de referencia que es como un proyectil de artillería del siglo XX.(el sistema «G7» utiliza una bala de referencia que es muy similar a una bala de rifle de largo alcance moderno).

Su programa BC necesitará modelar la curva de arrastre «G1» en función del número de Mach, por lo general, esto se hace con tablas de búsqueda.

En cada paso de iteración en el que necesita la aceleración de la viñeta debido a su arrastre, toma el número de Mach actual de la viñeta, busca el «CD * Valor A / M «de la tabla G1, divídalo por su BC (BC grande significa menos arrastre y, por lo tanto, una aceleración más pequeña debido al arrastre), y ese es el componente de arrastre que alimenta a su modelo de vuelo.

(Vaya al artículo de Wikipedia Coeficiente balístico y observe la expresión «BC_sub_bullets». En él, reemplace el término «i» por el » CB / CG «que se define que es. Resuelva esa expresión para» CB «(el coeficiente de arrastre de la bala). Ahora eche un vistazo a CB * A / M (la» A / M «dibujará la» M / d ^ 2 «término del RHS). Esto le dará el CD * A / M que desea, expresado como función de la tabla de arrastre G1)

(esta pregunta también se publicó en firearms.stackexchange )

Comentarios

  • Veré algunos de estos otros enlaces que tienes. Algunos ya los he mirado, otros no. Esta noche echaré un vistazo y veré si alguno de estos recursos me ayuda.
  • Después de revisar los enlaces que publicaste, no sé si hay alguna información allí que no conociera, con la excepción del Runge-kutta. Prácticamente tengo la fórmula de arrastre con airdensity / temp / alt / coefficient y tengo la fórmula de trayectoria indicada anteriormente en la wiki. No sé si simplemente me estoy perdiendo algo o estoy totalmente equivocado, pero no veo nada que combine arrastre con trayectoria. Seguiré buscando, pero tal vez me esté perdiendo algo de lo que estás diciendo (ojalá lo esté).
  • Revisé el código C ++ en Gnu Calculator. Creo que eso me va a ayudar muchísimo. Me está ayudando a llenar los vacíos que tengo. Estoy seguro de que encontraré mi respuesta allí, ¡Gracias!
  • @Etch I ' agregaré un poco a mi publicación re: tu comentario " ..t No veo nada que combine arrastre con trayectoria. "
  • Muchas gracias. Creo que tengo una mejor comprensión de lo que estaba tratando de conseguir. Me ha ahorrado una buena cantidad de tiempo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *