I've been pulling my hair on this problem for a couple of days now, researched a lot but have not been able to find results.

Basically I'm writing a program capable of drawing a transfer orbit between two co-planar circular orbits. I'll call the orbits from which the transfer starts and ends orbit1 and orbit2 respectively from now on. A user would input the semi-major axis of the two orbits, a mass for the parent body, and then be able to change the transverse and radial velocity of the transfer orbit where it intersects with orbit1 (where the transfer starts).

Here is a visualization of what I am describing. The red point (point1) is the start of the transfer, the pink one is the end (point2). (Ignore the rest of the points.)

enter image description here

At point1, the transfer orbit's velocity can be computed using the vis-viva equation:

$v_1^2 = GM \left({ 2 \over r_1} - {1 \over a}\right)$

Using the path angle:

$\phi=\arctan\frac{e \sin \theta_1}{1 + e \cos \theta_1}$, $\theta_1$ is the true anomaly of point1

$\theta_1=\arccos\frac{a(1-e²)-r_1}{r_1e} $

I can then decompose that velocity into two equations:

$(v_1)_t=v_1 \cos \phi$, the transverse velocity.

$(v_1)_r=v_1 \sin \phi$, the radial velocity.

(although I'm confident I haven't made any mistake this far, this whole problem could be coming down to these equations being wrong).

So this is what I have so far, given orbit1 and all its characteristics, as well as the transfer orbit's semi-major axis, I am able to get $(v_1)_t$ and $(v_1)_r$.

However, as described previously, I would like to get the transfer orbit's semi-major axis $a$ given $(v_1)_t$ and $(v_1)_r$ as well as $r_1$. From my understanding, I would need to compute the flight path angle $\phi$ and the true anomaly $\theta_1$ for $r_1$ in order to get the semi-major axis $a$.

This is what I've been stuck with, I can't seem to be able to find an equation that describes $a$ depending on those three parameters, as my formulas for $\theta_1$ and $\phi$ depend either on $a$ or $e$.

Using the vis-viva equation, I was able to get a formula for $a$ depending on $v_p$ (velocity at periapsis). This means I am able to solve this problem for a one-tangent burn, but not the general case where the two impulses are not tangent to their current flight path. This means equations for $v_p$ and $r_p$ depending on the three previously mentioned parameters would also solve my problem.

I feel like what I am missing is just one tiny element, but I can't see the big picture anymore as I've been stuck with this problem for what seems like ages.

Hope everything is clear and someone can help me out, thanks!

  • 1
    $\begingroup$ If all you want is the semi-major axis, you don't need to know anything about the flight path angle, because it doesn't matter to the calculation. If you know the magnitude of the velocity, the radial distance from the object being orbited, and the gravitational parameter, you can get semi-major axis by way of specific orbital energy. $\endgroup$
    – notovny
    Commented Feb 4, 2022 at 6:03

2 Answers 2


Generality is your problem, in two different ways.

One, you have too little generality in the picture you drew. Think about how it changes when the orbits are far from circular, or not co-planar, and figure out how you have to work in more orbital elements than just a.

Two, you have too much generality in your equations. There isn't just one expression for the orbit, because many different orbits all satisfy your constraints. If all you need to do is eventually reach any point on the target orbit, going in any direction at any speed, there is a multi-parameter family of transfer orbits that all do that in many different ways. You either need to pick additional constraints for the user to specify, or you need to compute the range of possible answers in various dimensions and report on the variety of choices that all fit the existing constraints.

You can think of your situation as solving a variant of Lambert's problem, which concerns how to find the orbital path from one position vector in space to another in a specified time. That is not exactly what you are trying to do, but reading some of the literature (such as Albouy, 2019) on it could be useful, at least with pictures to give you a sense of how many different ways there are to get from orbit A to orbit B, especially if you don't specify the time allowed.

Also, beware the term "flight path angle", because different authors mean different things by it, as discussed here on this site. Be careful mixing equations from multiple textbooks, because they may require translation.


Alain Albouy, "Lambert's Theorem: Geometry or Dynamics?", Celestial Mechanics and Dynamical Astronomy, 131 (2019), 40

  • $\begingroup$ I understand your points, but as I said in the post, my orbits (except the transfer orbit) are co-planar and circular, which simplifies things. For the second point, the constraints are actually pretty well defined: the point at $r_1$ in a specific direction at a specific speed. What I wasn't able to do was express $a$ and $e$ with those set constraints. I have read the post about the flight path angle, and indeed should have pointed out my definition. Also, I have read quite extensively on Lambert's problem, but time constraints are non-existent here, so it didn't help. $\endgroup$
    – Canleskis
    Commented Feb 4, 2022 at 0:43
  • $\begingroup$ Thanks for you comment still, as it shows I might have not been clear enough in my explanation. Also, about the picture I drew, it actually is computed from the working version of my program for a one-tangent burn. I simply inputted a transfer orbit with a periapsis that was smaller than orbit1. $\endgroup$
    – Canleskis
    Commented Feb 4, 2022 at 0:43

I was able to find a solution after trying to solve the problem from another angle (no pun intended). Mainly, this link helped me: https://phys.libretexts.org/Bookshelves/Astronomy__Cosmology/Book%3A_Celestial_Mechanics_(Tatum)/09%3A_The_Two_Body_Problem_in_Two_Dimensions/9.08%3A_Orbital_Elements_and_Velocity_Vector

Namely this equation:

$$rV\sin(\psi-\theta)=\sqrt {GMa(1−e^2)}$$

Since I know $V\sin(\psi-\theta)$ from the user input, and I know $a$ from the vis-viva equation for $r_1$ (since $v=\sqrt{v_t²+v_r²}$), I can calculate $e$ easily and I have everything needed to get the true anomaly and every other parameter to draw the transfer orbit and where it intersects with orbit1.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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