I was looking into the dynamics of basic 2-system orbits, and I came across a PDF (attached below) showing how to calculate orbital elements given a position and velocity vector. This led me to the question: can I derive the velocity vector V of a point, given two position vectors and the orbital eccentricity e=||e||? Note, this is not the e vector, but instead the planar eccentricity of the ellipse

Assuming that these two positions actually fit into the given orbit, I feel like this should be possible, yet I cant seem to get it to work. Since the two vectors can be used to form the orbital plane, and the shape is a simple ellipse with a given eccentricity, there should be a way to find this right? If so, does anyone know the solution?

For reference, the only assumptions I am making are

  1. This is a simple 2-body system (ie planet and satellite, with the satellite having no effect on the planet)
  2. The orbit is a simple ellipse (no hyperbola or parabola nonsense, just a simple ellipse with 0<e<1)
  3. I am only given two position vectors and the planar eccentricity of the orbit, and the points represent a VALID orbit

EDIT: Based on the comments, I realize that this is not enough to define even a 2-D orbit, so I am adding another given. What if we are now given the semi-major axis of the orbit in addition to everything else? is that enough to get the velocity vector at one position, or do we still need more?

Thank you in advance!


  • $\begingroup$ Knowing two points and one focus definitely restricts potential positions of the other focus to a sort of "focal hyperbola", but that doesn't result in a unique orbital eccentricity. $\endgroup$
    – notovny
    Commented Dec 22, 2021 at 16:28
  • $\begingroup$ And that means two points, one focus, and eccentricity definitely won't give you the velocity vector, but I'd have to look closer at the math to make sure it won't at least give you velocity magnitude. $\endgroup$
    – notovny
    Commented Dec 22, 2021 at 16:36

3 Answers 3


No, one focus, two points on the orbit, and the orbital eccentricity is not enough information to determine the velocity vector.

Attached below are images of two different ellipses that share the same two points on the orbit ($P_1,P_2$), both share the focus $F_0$, and both have eccentricity $e=0.8$

e=0.8, a=45 e=0.8,a=173
Elliptical orbit that passes through two chosen points with semi-major axis 45 and eccentricity 0.8 Elliptical orbit that passes through two chosen points with semi-major axis 173 and eccentricity 0.8

The Geogebra Graph I used to create the two images can be found here: Set of Orbits defined by Two Points - v2 In it, $P_1$ and $P_2$ are freely draggable, $F_1$ can be slid anywhere along the focal hyperbola.

$P_1$ and $P_2$ are the only points that are on the boundaries of both ellipses. Two different coplanar Keplerian ellipses around the same body meet at two points, or not at all, and if two different Keplerian orbits meet at a point, their orbital velocities at that point must differ, in magnitude, direction, or both.

Since the ellipses have different tangents and different semi-major axes at both points, the velocities at both points must differ in both magnitude and direction.

As for how I found these ellipses:

Given any two points on a conic section $(P_1,P_2)$ and one of the foci $(F_0)$, the second focus $F_1$ must lie on a "focal hyperbola" (the dotted gray shape in the images) that uses $P_1$ and $P_2$ as foci, and passes through $F_0$.

For an answer on why this works, see Ellipses given focus and two points on Mathematics Stack Exchange.

If the two foci are on the same lobe of the "focal hyperbola", the conic section is itself a hyperbola. If they're on different lobes, the conic section is an ellipse.

Sliding the second focus on the opposite lobe of the focal hyperbola results in a parabola $(e=1)$ when the the second focus is at infinite distance, down to some minimum eccentricity that I believe happens when the line between the foci is parallel to the line between the points, and back out to a parabola when $F_1$ reaches infinite distance again.

Sliding the second focus down the same lobe makes the resulting conic section go from parabola to an infinite-eccentricity hyperbola (when the line between the foci is perpendicular to the line between the points) and back to parabola again.

As a result, for almost every set of focus, two points, and an eccentricity, there are either two valid ellipses or two valid hyperbolas that meet the solution.

And even if you define whether the orbit is prograde or retrograde, and know the mass of the central body, that's not enough to uniquely determine the velocity vector.

If you had three points, however, you wouldn't even need eccentricity, just the mass of the central body and the direction of travel of the orbit.

  • 1
    $\begingroup$ Sorry for the late response, but thank you for the help! Your explanation makes complete sense. What if, instead of a third point, you could get the semi-major axis instead? that should also help to fully define the 2-D projection, so would you be able to find the velocity vector from that? $\endgroup$
    – frank
    Commented Jan 5, 2022 at 17:33
  • 1
    $\begingroup$ @frank Quick messing around with the GeoGebra graph indicates that at the very least, in the situation where the two points are colinear and equidistant with the known focus, having semimajor axis and eccentricity isn't enough to distinguish between the continuum of potential orbits in 3d-space (or the 2 in 2d-space); in other situations I think it might be enough. $\endgroup$
    – notovny
    Commented Jan 5, 2022 at 18:10

Not a complete answer, but: Let $A$ and $B$ be the two given positions, $O$ the position of the primary body, and $F$ the second focus of the orbit. Then we have $|OA|+|AF| = |OB|+|BF|$ and $|OF| = e(|OA|+|AF|)$, which gives us a system of equations on the coordinates of $F$. I don't know if it can be solved analytically, but you can solve it numerically, and from there, you will have enough information to construct the ellipse.

  • 1
    $\begingroup$ Unfortunately, the system of equations doesn't have a unique solution. $\endgroup$
    – Mark
    Commented Dec 23, 2021 at 2:38

Another partial answer:

Assuming the two points $\mathbf{x_1}, \mathbf{x_1}$ are not identical nor coincident with the origin, then the three points exactly define a plane, so let's solve the 2D orbit problem within this plane first.

In polar coordinates, with the focus at the origin:

$$r(\theta) = \frac{a(1-e^2)}{1-e \cos(\theta-\theta_0)}$$

  1. transform your $\mathbf{x_1}, \mathbf{x_1}$ in 3D space to $(x_1, y_1), (x_2, y_2)$ positions in the plane,
  2. convert those to two $(r_1, \theta_1), (r_2, \theta_2)$ positions in the plane
  3. write the problem as two equations and two unknowns $a$ and $\theta_0$:

$$r_1 = \frac{a(1-e^2)}{1-e \cos(\theta_1-\theta_0)}$$ $$r_2 = \frac{a(1-e^2)}{1-e \cos(\theta_2-\theta_0)}$$

Solve for $a$ and $\theta_0$.

$\theta_0$ will be your periapsis point, defining your line of nodes.

Transform your ellipse in the plane back to your 3D space.

To get your six-dimensional state vector, choose any point on the ellipse. That gives you $x, y, z$.

Get the radius $r = \sqrt{x^2 + y^2 + z^2}$

Get the speed from the vis-viva equation:

$$v^2 = GM \left(\frac{2}{r} - \frac{1}{a} \right)$$

Calculate the normal tangent to the ellipse $\hat{n}_T$

$$v_x, v_y, v_z = v \hat{n}_T$$

  • 1
    $\begingroup$ Assuming you have all the information to define that 2-D orbit, how would you actually find nT from the information? the only "n" I can find in the original document was for the ascending node, not the tangent to the ellipse. $\endgroup$
    – frank
    Commented Jan 5, 2022 at 17:41
  • $\begingroup$ @frank ya the reason I preface my post with "partial answer" is that it doesn't fully answer your question. If there's something helpful here for you or for future readers, that's great! But I can't fully solve this problem; it's not an easy one. Sorry! $\endgroup$
    – uhoh
    Commented Jan 5, 2022 at 17:45
  • 1
    $\begingroup$ fair, well thank you anyways! I'm assuming that there's some way to use linear algebra to rotate the plane to solve this, but I have no clue what it would be. thank you for the help anyways though, I really appreciate it! $\endgroup$
    – frank
    Commented Jan 5, 2022 at 17:50
  • $\begingroup$ @frank if Notovny's answer is not helping to solve the problem specified in the question, what else is needed? I can add a bounty to the question which could attract more answers that might work for you, but I'd need to know what it is exactly that's missing from the current answers. $\endgroup$
    – uhoh
    Commented Jan 5, 2022 at 18:44

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.