calculating relative inclination

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,862
Reaction score
2,126
Points
203
Location
between the planets
Pretty straight-forward question to which my google-fu somehow won't spit out an answer: If I have the inclination of two objects, as well as the longitude of the ascending node, how do I calculate their relative inclination? Do I have to go through all the rotation shenanigans or is there a shortcut for this?
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,914
Reaction score
2,908
Points
188
Website
github.com
Don't think so... :unsure:
You could probably do it by calculating the normal of each plane and then the angle between those 2 vectors.
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,694
Reaction score
1,352
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
Relative inclination is the angle between the two normals of the plains in which each orbit coïncides, as @GLS said.

Orbital_state_vectors.png


In the image above, you can see that the planet-relative position vector, and the velocity vector both lie in the orbital plane, so the norm of the right handed cross product between r and v would be your normal vector. Get these for both vessels and use the dot product to find the angle between them.

Doing it with just two inclinations and two LaNs, is more of a geometry problem than my brain can do this late, but consider the case where the inclinations are equal and you sweep LaN through 360 degrees while leaving inclination the same. Rinc should go from 0 up to 180°+Inc and then back to 0.
 
Last edited:

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,862
Reaction score
2,126
Points
203
Location
between the planets
Rinc should go from 0 up to 180°+Inc and then back to 0.
Wait, why would it go 180 + Inc? Somehow that looks different in my head... If I have two inclinations at 10 degrees, and I rotate one by 180, wouldn't the relative inclination between them (i.e. the angle by which you'd have to change your plane to match) be 20 degrees?
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,914
Reaction score
2,908
Points
188
Website
github.com
Wait, why would it go 180 + Inc? Somehow that looks different in my head... If I have two inclinations at 10 degrees, and I rotate one by 180, wouldn't the relative inclination between them (i.e. the angle by which you'd have to change your plane to match) be 20 degrees?
Yes.
 

asbjos

tuanibrO
Addon Developer
Joined
Jun 22, 2011
Messages
696
Reaction score
259
Points
78
Location
This place called "home".
The normal vector of an orbit is given by
\[ \vec{n} = \left[ -\sin i \cos \Omega, -\sin i \sin \Omega, \cos i \right], \]
where \(i\) is the inclination and \(\Omega\) is the longitude of ascending node.

If you know the equation for angle between two vectors, and have two ships 1 and 2 with elements \(i_1\), \(\Omega_1\) and \(i_2\), \(\Omega_2\), the relative inclination \(\theta\) between the two orbits is given by
\[\theta = \arccos \left( \sin i_1 \sin i_2 \cos \left[\Omega_1 - \Omega_2\right] + \cos i_1 \cos i_2 \right). \].

Sources: none, but I tested it with the readout in Align planes MFD. :)
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,694
Reaction score
1,352
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
Wait, why would it go 180 + Inc? Somehow that looks different in my head... If I have two inclinations at 10 degrees, and I rotate one by 180, wouldn't the relative inclination between them (i.e. the angle by which you'd have to change your plane to match) be 20 degrees?
Yep. Whoops. I knew I should've grabbed the whiteboard..
 

MontBlanc2012

Active member
Joined
Aug 13, 2017
Messages
138
Reaction score
26
Points
28
If you know the equation for angle between two vectors, and have two ships 1 and 2 with elements \(i_1\), \(\Omega_1\) and \(i_2\), \(\Omega_2\), the relative inclination \(\theta\) between the two orbits is given by
\[\theta = \arccos \left( \sin i_1 \sin i_2 \cos \left[\Omega_1 - \Omega_2\right] + \cos i_1 \cos i_2 \right). \].

Sources: none, but I tested it with the readout in Align planes MFD. :)

Yes, this is the correct expression for the relative inclination.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,862
Reaction score
2,126
Points
203
Location
between the planets
So after a while I decided to give that one little project of mine another go, and I came back here to look up the equation, only to realise that I still can't read math...
Explicitly, what does this notation mean?
[Ω1−Ω2]
I know what Omega1 and 2 are, but this is not a difference, this is some kind of product, right?
 

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,278
Reaction score
3,247
Points
203
Location
Toulouse
I know what Omega1 and 2 are, but this is not a difference, this is some kind of product, right?

I'm certainly no math expert but it looks like an honest difference to me. I think the most difficult thing, as often, is to get all the operations in the right order. You already have a parenthesis (...) so the brackets [...] indicate a "second level".
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,862
Reaction score
2,126
Points
203
Location
between the planets
Ahhhh... silly me. I only ever look at math in code, so I completely forgot about that convention... ?
 

asbjos

tuanibrO
Addon Developer
Joined
Jun 22, 2011
Messages
696
Reaction score
259
Points
78
Location
This place called "home".
I'm certainly no math expert but it looks like an honest difference to me. I think the most difficult thing, as often, is to get all the operations in the right order. You already have a parenthesis (...) so the brackets [...] indicate a "second level".

Yes, that is the notation I use for writing nested parentheses.
I've noticed that it's unusual. Most people start with parentheses on the "inside", and then alternate outward, e.g.
\[ [(2+2)+3]*4 = 28 \]
While I prefer starting with parentheses outside, and alternate inward, e.g.
\[ ([2+2]+3)*4 = 28 \]

Programming languages simply use parentheses everywhere, so in code:
C++:
double relativeInclination = acos(sin(inc1) * sin(inc2) * cos(LAN1 - LAN2) + cos(inc1) * cos(inc2));
 
Last edited:
Top