Come modificare la traiettoria del proiettile in base al coefficiente balistico?

Non conosco la fisica che circonda la traiettoria del proiettile e come viene calcolata. Sono uno sviluppatore di software e sto lavorando a un calcolatore balistico per fucili. Sto usando wiki per il calcolo della traiettoria

Attualmente sto usando lequazione sotto l “Angolo θ richiesto per raggiungere le coordinate (x, y )” sezione. Va tutto bene, ma non tiene conto del trascinamento del proiettile ( coefficiente balistico ).

Ho cercato tutto oltre a cercare di capire come applicare il coefficiente a questa equazione. Sono davvero perplesso e sarei molto grato per qualsiasi direzione in questa materia. Forse ho una lacuna nella mia comprensione, ma ho trovato molti altri calcolatori e altra documentazione sulla traiettoria e sul coefficiente, ma niente che si sposa con i due insieme.

Risposta

In primo luogo, la pagina “ Calcolo della traiettoria ” di Wikipedia è piuttosto deludente, non si adatta molto bene a come Smallarms balistics è modellato e risolto. Un buon libro sullargomento è il recente Applied Ballistics for Long Range Shooting di Bryan Litz e un sito web con alcuni calcolatori balistici in linea di primordine e alcuni buoni e ottimi commenti è JBM Ballistics . Potresti anche dare unocchiata a “ GEBC – Calcolatore balistico esterno Gnu ” per ottenere un codice C con cui giocare.

Calcoli balistici Smallarms adatti per la maggior parte degli scopi vengono eseguiti da risolutori “1 grado di libertà”. Trattano il proiettile come una massa puntiforme, influenzata dalla resistenza dellaria e dalla gravità. La resistenza allaria è solitamente modellata da un “coefficiente balistico”, che è un singolo parametro che combina più o meno con successo gli effetti di dimensioni, peso e trascinamento del proiettile in un unico numero (BTW the Wikipedia “ Ballistic Coefficient “è abbastanza decente).

A questo semplice modello di fisica (volo libero nel vuoto, più resistenza allaria) viene data una velocità e una posizione iniziali, e quindi integrato tempo (tipicamente Runge-Kutta ).

Un BC più grande indica che il proiettile è meno influenzato dalla resistenza dellaria rispetto a un BC inferiore. Ci sono due punti interessanti in questo, uno ovvio, laltro importante ma meno intuitivo:

  1. un proiettile con un BC più alto perderà velocità più lentamente, il che lo renderà più piatto (cadere meno con la distanza percorsa)
  2. poiché il BC misura il “grado di interazione tra il proiettile e laria”, risulta anche che la quantità di deriva del vento (quanto il proiettile viene spinto lateralmente da un vento laterale) è direttamente influenzato dal BC del proiettile

EDIT da aggiungere in risposta ai commenti dellOP:

Quando guardi (diciamo) il GEBC codice, probabilmente dovresti essere in grado di vedere che il modello fisico contiene questi punti:

  • il proiettile ha una posizione di partenza e una velocità. Queste sono solitamente espresse in un sistema di coordinate che è fermo rispetto al tiratore .
  • una forza che agisce sul proiettile è la gravità (sempre verso il basso)
  • opzionalmente, si può anche modellare Coriolis e altre pseudo-forze ottenute da questo sistema di riferimento non sono strettamente inerziale
  • esiste anche la forza di trascinamento. In un modello semplice, questo è sempre direttamente opposto alla velocità del proiettile attraverso laria (che sarà la velocità del proiettile attraverso il sistema di coordinate del tiratore più la velocità del vento). Modelli più sofisticati potrebbero considerare altre forze minori ( sollevamento sul proiettile, forza laterale dalleffetto Magnus ecc.), ma queste altre forze sono un esercizio di modellazione separato. Il “bc” di cui stai parlando riguarda solo la forza di trascinamento che un proiettile subisce nella direzione del vento relativo il proiettile.

La forza sul proiettile è il suo coefficiente di resistenza aerodinamica moltiplicato per la sua area per la pressione dinamica (che è 0,5 rho v ^ 2). Nel risolvere la posizione del proiettile tu sei effettivamente interessato allaccelerazione dovuta a questa forza, quindi dividi questa quantità per la massa del proiettile. Conosci la velocità “v”, conosci la densità atmosferica “rho”, devi scoprire il valore di CD * A / M.

Nota che A è costante, M è costante, ma CD non è. Il CD dipende dalla velocità (in realtà il numero di Mach del proiettile) e la curva CD sarà diversa per proiettili di forma diversa.

È qui che entra in gioco il BC. Si presume che “CD * A / M “curva del tuo proiettile, ha la stessa forma e differisce solo per un parametro di scala moltiplicativo (1 / BC) della curva” CD * A / M “di un punto elenco di riferimento standard.

Il sistema BC più comune è chiamato “G1” e utilizza un proiettile di riferimento simile a un proiettile di artiglieria del 1900.(il sistema “G7” utilizza un proiettile di riferimento molto simile a un moderno proiettile per fucile a lungo raggio).

Il tuo programma BC dovrà modellare la curva di resistenza “G1” in funzione del numero di Mach, tipicamente questo viene fatto con le tabelle di ricerca.

Ad ogni passaggio di iterazione in cui è necessaria laccelerazione sul proiettile a causa del suo trascinamento, si prende il numero di Mach corrente del proiettile, si cerca il “CD * Valore A / M “dalla tabella G1, dividerlo per il tuo BC (un BC grande significa meno resistenza e quindi una minore accelerazione dovuta alla resistenza), e questo è il componente di resistenza che fornisci al tuo modello di volo.

(Vai alla descrizione di Wikipedia Coefficiente balistico e dai unocchiata allespressione “BC_sub_bullets”. In essa, sostituisci il termine “i” con ” CB / CG “che è definito. Risolvi lespressione” CB “(il coefficiente di resistenza del proiettile). Ora dai unocchiata a CB * A / M (la” A / M “disegnerà la” M / d ^ 2 “termine dalla RHS). Questo ti darà il CD * A / M che desideri, espresso in funzione della tabella di trascinamento G1)

(questa domanda è stata pubblicata anche su firearms.stackexchange )

Commenti

  • Guarderò alcuni di questi altri link che hai. Alcuni li ho già visti, altri no. Stasera darò unocchiata e vedrò se qualcuna di queste risorse mi aiuta.
  • Dopo aver esaminato i link che hai pubblicato, non so che ci siano informazioni di cui non ero già a conoscenza, ad eccezione della Runge-kutta. Ho praticamente la formula di resistenza con airdensity / temp / alt / coefficient e ho la formula della traiettoria annotata sopra dal wiki. Non so se mi sto semplicemente perdendo qualcosa o se sono completamente incomprensibile, ma non vedo nulla che combini il trascinamento con la traiettoria. Continuerò a cercare, ma forse mi sfugge qualcosa che stai dicendo (spero di sì).
  • Ho controllato il codice C ++ su Gnu Calculator. Penso che mi aiuterà tantissimo. Mi aiuta a colmare le lacune che ho. Sono sicuro che troverò la mia risposta lì, grazie!
  • @Etch I ' aggiungerò qualcosa al mio post: il tuo commento " ..t Non vedo nulla che combini il trascinamento con la traiettoria. "
  • Grazie mille. Penso di avere una migliore comprensione di ciò che stavo cercando di ottenere. Mi hai risparmiato un bel po di tempo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *