# calculating relative inclination

#### jedidia

##### shoemaker without legs
Addon Developer
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

##### Addon Developer
Addon Developer
Don't think so...
You could probably do it by calculating the normal of each plane and then the angle between those 2 vectors.

#### n72.75

##### Addon Developer
Addon Developer
Tutorial Publisher
Donator
Relative inclination is the angle between the two normals of the plains in which each orbit coïncides, as @GLS said.

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
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

##### Addon Developer
Addon Developer
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
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

##### Addon Developer
Addon Developer
Tutorial Publisher
Donator
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

##### Member
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
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
Addon List Curator
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
Ahhhh... silly me. I only ever look at math in code, so I completely forgot about that convention...

#### asbjos

##### tuanibrO
Addon Developer
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: