Staying Grounded While Drifting in Space: Understanding PCI Coordinates

Introduction

Juno: New Origins uses a Planet-Centered Inertial (PCI) coordinate system to track the position and motion of objects in space. Unlike surface-based coordinate systems, PCI coordinates do not rotate with the planet — they remain fixed relative to the stars.

This section explains how PCI works in the game and why it’s essential for trajectory planning, orbital mechanics, and precise maneuvering.

What is PCI?

PCI coordinates are a three-dimensional Cartesian coordinate system with the planet’s center as the origin.

  • The axes remain fixed in space rather than rotating with the planet.
  • Position (x, y, z) is absolute relative to the planet’s center, not to its surface.
  • PCI is commonly used in real-world orbital mechanics because it simplifies motion calculations.

How PCI Works in Juno: New Origins

  • The position of an object is given as a 3-dimensional vector: (x, y, z). Here are some of the properties you can reference in Vizzy that use PCI coordinates:

  • The position vectors represent the object’s location relative to the planet’s center. All position properties use meters as their unit, and so the numbers returned may be quite large.

  • As you enter or exit one planetary body’s sphere of influence, remember that the PCI values will instantaneously change to reference the new body’s center. Keep this in mind when planning interplanetary transfers.
    Important Note: unlike typical Earth-Centered Inertial coordinates where z is pointing ‘up’ toward the North Pole, in Juno the y coordinate is ‘up’ toward the North Pole. This can be a confusing difference, but is crucial to remember.

Why Use PCI Instead of Surface-Based Coordinates?

“A stable reference frame is the key to stable orbits.”

  • Stable Reference Frame —> PCI allows for accurate orbital predictions without interference from planetary rotation.
  • Simplifies Orbital Calculations —> No need to compensate for a moving ground frame.
  • Essential for Vizzy Programming —> Many built-in functions return PCI values, making them crucial for scripting.

Examples & Applications

Use Vizzy to reference and display an object’s PCI position:

This returns the (x, y, z) PCI position of the craft relative to the planet’s center. But, the default vector display is not so great…

However, you can improve things with a handy vector display function:

Which results in a much more user-friendly format:


4 Comments

  • Log in to leave a comment
  • Profile image
    2,821 lafario

    I've just make a vizzy program, (Called Flight Log 1.0) it's on my forum named How to make a simple flight log.

    +1 20 days ago
  • Profile image
    43.9k goz

    @YaMomzBox420 I’ve made quite a few updates to the post and I will add a separate post later about handedness and vector operations.

    one month ago
  • Profile image
    43.9k goz

    @YaMomzBox420 Thanks! Yeah definitely still a work in progress. I'm adding some visuals, and great reminder on the vector handedness. I have a few ideas for how to explain it nicely.

    +1 one month ago
  • Profile image
    1,191 YaMomzBox420

    That's a great introduction to the subject. I had to learn all of this the hard way, and now you've got it all in one spot(i realize it's not done, but I'm assuming you're adding more in the future).

    Anyway, i just wanted to make sure you don't forget about "handedness" when doing math with vectors in PCI. Standard vector calculations are "right handed", but thanks to Unity, PCI calculations are "left handed". This breaks a lot of common physics equations if not accounted for, typically by inverting cross products

    +1 one month ago

2 Upvotes

Log in in to upvote this post.