Circular Restricted 3-Body Problem (CR3BP)

Includes the computation of Lagrange points

poliastro.threebody.restricted.lagrange_points(r12, m1, m2)

Computes the Lagrangian points of CR3BP.

Computes the Lagrangian points of CR3BP given the distance between two bodies and their masses. It uses the formulation found in Eq. (2.204) of Curtis, Howard. ‘Orbital mechanics for engineering students’. Elsevier, 3rd Edition.

  • r12 (Quantity) – Distance between the two bodies

  • m1 (Quantity) – Mass of the main body

  • m2 (Quantity) – Mass of the secondary body


Distance of the Lagrangian points to the main body, projected on the axis main body - secondary body

Return type


poliastro.threebody.restricted.lagrange_points_vec(m1, r1, m2, r2, n)

Computes the five Lagrange points in the CR3BP.

Returns the positions in the same frame of reference as r1 and r2 for the five Lagrangian points.

  • m1 (Quantity) – Mass of the main body. This body is the one with the biggest mass.

  • r1 (Quantity) – Position of the main body.

  • m2 (Quantity) – Mass of the secondary body.

  • r2 (Quantity) – Position of the secondary body.

  • n (Quantity) – Normal vector to the orbital plane.


Position of the Lagrange points: [L1, L2, L3, L4, L5] The positions are of type ~astropy.units.Quantity

Return type