I'm trying to calculate the initial launch angles and velocity of a projectile (atmosphere's effects can be neglected), assuming that I know the lat/lon coordinates of both the launch and the destination points. Can you recommend any software libraries or reading materials that could help? Thank you.

  • 4
    $\begingroup$ What DO you want to account for? Coriolis and centrifugal forces? Elliptic vs. parabolic orbits? Variations in g? It sounds like you want to shoot projectiles a very long way if you're using latitude and longitude. If you want the answer to be realistic, air resistance is extremely important. See blog.wolfram.com/2010/09/27/… $\endgroup$ – Mark Eichenlaub Nov 14 '10 at 17:49
  • $\begingroup$ @Mark: true, it's a simulation of an ICBM flight. However for my purposes extreme accuracy is not important; a realistic ballistic trajectory will suffice. $\endgroup$ – dpq Nov 15 '10 at 7:58
  • $\begingroup$ This could also have important implications for delivering the mail (or other freight) when we live on the Moon. $\endgroup$ – Jeremy Dec 14 '10 at 20:44

If you don't consider atmospheric drag and other dissipative effects, assuming that the Earth is non-rotating, and ignore general relativity (which is a lot of assumptions to make, and later I can try to edit this to comment on how they might be relaxed), a ballistic trajectory is just a segment of an orbit. So finding the launch parameters just entails finding an orbit that intersects both the launch point and the destination.

Orbital trajectories are given by the equation

$$r_o = \frac{\rho}{1 + \epsilon\cos\phi}$$

where $\rho$ is a length parameter related to the size of the orbit and $\epsilon$ is the eccentricity. At the points where the orbit intersects the Earth's surface, you'll have $r_o$ equaling the radius of the Earth at that point; let's say $r_o = R_L$ for the launch point and $r_o = R_D$ for the destination. This gives you the following two equations,

$$R_L = \frac{\rho}{1 + \epsilon\cos\phi_L}$$

$$R_D = \frac{\rho}{1 + \epsilon\cos\phi_D}$$

along with the constraint that $\phi_D - \phi_L$ (or vice-versa, depending on how you define coordinates) has to be equal to the angular separation $\Delta$ between the source and destination. That angular separation can be calculated using the law of haversines.

This system of equations can be solved for the orbital parameters as follows, assuming $R_D \neq R_L$ (see below for the other case),

$$\epsilon = \frac{R_L - R_D}{R_D\cos(\phi_L + \Delta) - R_L\cos\phi_L}$$

$$\rho = \frac{R_D R_L [\cos(\phi_L + \Delta) - \cos\phi_L]}{R_D\cos(\phi_L + \Delta) - R_L\cos\phi_L}$$

Notice that they are dependent on $\phi_L$; this is because only the difference $\phi_D - \phi_L = \Delta$ is physically relevant, so you're free to choose the actual values to be whatever you like. Your choice of $\phi_L$ will influence the shape of the trajectory.

Having calculated $\epsilon$ and $\rho$, you can determine the launch angle $\alpha$ above the horizon by calculating the slope of the orbit at the launch point:

$$\tan\alpha = \left.\frac{1}{r_o}\frac{\mathrm{d}r_o}{\mathrm{d}\phi}\right|_{\phi_L} = \frac{\epsilon\sin\phi_L}{1 + \epsilon\cos\phi_L} = \frac{(R_L - R_D)\sin\phi_L}{R_D[\cos(\phi_L + \Delta) - \cos\phi_L]}$$

To determine the speed, you can use the fact that (according to my notes) the total energy of the projectile is given by

$$E = \frac{GMm(\epsilon^2 - 1)}{2\rho}$$

which is equal to the sum of kinetic and potential energies, $\frac{1}{2}mv^2 - \frac{GMm}{r}$. ($m$ is the mass of the projectile, $M$ is that of the Earth) Plugging in $r = R_L$, I get

$$v = \sqrt{\frac{2GM}{R_L} + \frac{GM(\epsilon^2 - 1)}{\rho}}$$

So the bottom line is that you plug $R_D$, $R_L$, $\Delta$, and some choice of $\phi_L$ into the formulas for $v$ and $\alpha$ to get the launch parameters.

I mentioned that the procedure above hits a snag if $R_D = R_L$. You'd wind up calculating $\epsilon = 0$, which on a spherical planet entails rolling your projectile along the ground ;-) which doesn't make sense.

If $R_D = R_L$, you can go back to the orbital equations and find that $\cos\phi_D = \cos\phi_L$. (Alternatively, this could come from the condition that the denominator of $\epsilon$ also be zero.) The only way to satisfy this is by setting $\phi_L = -\phi_D = \Delta/2$. This gives you the condition

$$\rho = R_L\left(1 + \epsilon\cos\frac{\Delta}{2}\right)$$

Again, you have a degree of freedom: you can choose any value of $\epsilon$, and plugging into this equation will give you the corresponding value of $\rho$. Once you have those, you can use the same procedures to calculate the launch angle and speed:

$$\tan\alpha = \left.\frac{1}{r_o}\frac{\mathrm{d}r_o}{\mathrm{d}\phi}\right|_{\phi_L} = \frac{\epsilon\sin\frac{\Delta}{2}}{1 + \epsilon\cos\frac{\Delta}{2}}$$

$$v = \sqrt{\frac{2GM}{R_L} + \frac{GM(\epsilon^2 - 1)}{R_L(1 + \epsilon\cos\frac{\Delta}{2})}}$$

  • $\begingroup$ Why doesn't rolling your projectile along the ground make sense when $\epsilon=0$? What is wrong with a circular orbit just above ground level? ... A diagram would improve your answer. $\endgroup$ – sammy gerbil Dec 12 '17 at 1:24

This book may be what you're looking for:

Introduction to Space Dynamics by William Tyrrell Thomson

Amazon also recommends:

Fundamentals of Astrodynamics by Roger R. Bate Paperback

An Introduction to Celestial Mechanics by Forest Ray Moulton


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.