<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://patrius.cnes.fr/index.php?action=history&amp;feed=atom&amp;title=User_Manual_4.15_Directions</id>
	<title>User Manual 4.15 Directions - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://patrius.cnes.fr/index.php?action=history&amp;feed=atom&amp;title=User_Manual_4.15_Directions"/>
	<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.15_Directions&amp;action=history"/>
	<updated>2026-04-05T21:35:00Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_4.15_Directions&amp;diff=3901&amp;oldid=prev</id>
		<title>Admin tsn le 28 novembre 2024 à 09:37</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.15_Directions&amp;diff=3901&amp;oldid=prev"/>
		<updated>2024-11-28T09:37:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 28 novembre 2024 à 09:37&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l145&quot;&gt;Ligne 145 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 145 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&amp;#039;&amp;#039;&amp;#039;BodyPointTargetDirection&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&amp;#039;&amp;#039;&amp;#039;BodyPointTargetDirection&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Defined by target which is a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GeodeticPoint &lt;/del&gt;on a BodyShape.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Defined by target which is a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BodyPoint &lt;/ins&gt;on a BodyShape.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/BodyPointTargetDirection.html ...]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/BodyPointTargetDirection.html ...]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key w3?hpatrius?hprod:diff:1.41:old-3846:rev-3901:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin tsn</name></author>
	</entry>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_4.15_Directions&amp;diff=3846&amp;oldid=prev</id>
		<title>Admin tsn : Page créée avec « __NOTOC__ == Introduction == === Scope === The “direction” objects are used for attitude computation purposes to describe different types of axis in space that can evo... »</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.15_Directions&amp;diff=3846&amp;oldid=prev"/>
		<updated>2024-11-21T15:17:44Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « __NOTOC__ == Introduction == === Scope === The “direction” objects are used for attitude computation purposes to describe different types of axis in space that can evo... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
== Introduction ==&lt;br /&gt;
=== Scope ===&lt;br /&gt;
The “direction” objects are used for attitude computation purposes to describe different types of axis in space that can evolve in time. A direction provides a vector in space at any date in a given frame.&lt;br /&gt;
A direction can be for example &amp;quot;spacecraft-moon&amp;quot; or &amp;quot;nadir direction of the spacecraft&amp;quot;.&lt;br /&gt;
An attitude law can then be defined using two of those directions.&lt;br /&gt;
&lt;br /&gt;
All available directions belong to the following categories:&lt;br /&gt;
* Defined by a &amp;quot;target&amp;quot; moving point, and a given origin point;&lt;br /&gt;
&lt;br /&gt;
* Defined by a vector only known to be constant in time in a particular frame, or defined by a physical property.&lt;br /&gt;
&lt;br /&gt;
The available features are listed in the description of the general &amp;lt;code&amp;gt;IDirection&amp;lt;/code&amp;gt; interface or of the more specific &amp;lt;code&amp;gt;ITargetDirection&amp;lt;/code&amp;gt; interface (for directions pointing a target).&lt;br /&gt;
&lt;br /&gt;
=== Javadoc ===&lt;br /&gt;
The directions are available in the package &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.attitudes.directions&amp;lt;/code&amp;gt; of the PATRIUS library.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Library&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|Patrius&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/package-summary.html Package fr.cnes.sirius.patrius.attitudes.directions]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
None as of now.&lt;br /&gt;
&lt;br /&gt;
=== Useful Documents ===&lt;br /&gt;
None as of now.&lt;br /&gt;
&lt;br /&gt;
=== Package Overview ===&lt;br /&gt;
The following diagram represents the two main interfaces of the &amp;quot;directions&amp;quot; package, and for each interface some of the implemented directions.&lt;br /&gt;
&lt;br /&gt;
Please note that not all implementations are present in the following diagram for the sake of clarity.&lt;br /&gt;
&lt;br /&gt;
[[File:PATRIMOINESIRIUSdirections.png]]&lt;br /&gt;
&lt;br /&gt;
== Features Description ==&lt;br /&gt;
=== Directions ===&lt;br /&gt;
The available directions are:&lt;br /&gt;
&lt;br /&gt;
==== Basic direction ====&lt;br /&gt;
This direction is defined at any date by a vector; this vector can be constant in a frame, or it can be defined by a physical property (for instance the axis of the poles of a celestial body, the orbit momentum, the velocity vector...).&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;getVector&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;getLine&amp;lt;/code&amp;gt; methods of this interface use a &amp;lt;code&amp;gt;PVCoordinatesProvider&amp;lt;/code&amp;gt; to represent the origin of the direction, but for some of them this input parameter is unused (for instance for the poles of a celestial body direction). See each javadoc for the associated behavior.&lt;br /&gt;
&lt;br /&gt;
All directions can also provide the line containing the given origin and directed by the vector, expressed in any frame of the tree.&lt;br /&gt;
&lt;br /&gt;
===== Ground velocity direction =====&lt;br /&gt;
This direction is used for instance when it comes to take pictures of the ground. To avoid distortion, the satellite has to compensate the earth rotation around its yaw axis. On the following drawing, the red direction is the one that has to be followed to compensate the earth rotation.&lt;br /&gt;
&lt;br /&gt;
[[File:vitsol.png|center]]&lt;br /&gt;
&lt;br /&gt;
==== Target direction ====&lt;br /&gt;
This direction also implements the methods of basic directions.&lt;br /&gt;
It is defined at any date by the position of two points of space: the target (that defines the direction) and the origin given by the user. The associated vector (and line) is computed from the origin to the target.&lt;br /&gt;
&lt;br /&gt;
=== Aberration corrections ===&lt;br /&gt;
The available aberration corrections are:&lt;br /&gt;
* NONE: no aberration correction is applied.&lt;br /&gt;
* LIGHT_TIME: the light-time aberration correction is applied. This aberration correction takes into account the apparent displacement of the source (from the receiver point of view) or of the observer (from the transmitter point of view) during the time of propagation.&lt;br /&gt;
* STELLAR: the stellar aberration correction is applied. This aberration correction takes into account the observer velocity at reception time (from the receiver point of view) or the source velocity at transmission time (from the transmitter point of view).&lt;br /&gt;
* ALL: both the light-time and the stellar aberration corrections are applied.&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
=== Use ===&lt;br /&gt;
==== For all directions ====&lt;br /&gt;
&lt;br /&gt;
All the directions implement the &amp;quot;IDirection&amp;quot; interface and so provide the &amp;quot;getVector&amp;quot; method. This method needs a date and a frame to express the vector, and the PV coordinates of the origin point (unused for some of them). It shall be used this way :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Vector3D directionVector = myDirection.getVector(pvCoordinatesProvider, date, frame);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
They also provide the &amp;quot;getLine&amp;quot; method, with the same arguments. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
Line directionLine = myDirection.getLine(pvCoordinatesProvider, date, frame);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB : when the PVCoordinatesProvider is null then the origin of the direction is tacitly the frame origin.&lt;br /&gt;
&lt;br /&gt;
==== For target directions ====&lt;br /&gt;
&lt;br /&gt;
The directions that implement the &amp;quot;ITargetDirection&amp;quot; interface also provide the &amp;quot;getTarget&amp;quot; method :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
PVCoordinates directionTarget = myTargetDirection.getTargetPVCoordinates(date, frame);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
=== Interfaces ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interface&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Summary&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;IDirection &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|General interface for all directions classes. All basic directions implement it.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/IDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;ITargetDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This interface extends IDirection for the particular case of directions defined by a target point. The vector&amp;#039;s direction is oriented from the given origin to the target.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/ITargetDirection.html ...]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Summary&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;ConstantVectorDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Vector constant in one of the frames of the tree.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/ConstantVectorDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;VelocityDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Velocity of the origin point expressed in a reference frame, projected in the given one.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/VelocityDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;MomentumDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Momentum : normal vector to the trajectory plane of the origin point around a celestial body.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/MomentumDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;CelestialBodyPolesAxisDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Axis of the poles of a celestial body.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/CelestialBodyPolesAxisDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;ToCelestialBodyCenterDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Vector from the origin to the center of a celestial body.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/ToCelestialBodyCenterDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;EarthCenterDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Vector from the origin to the center of the Earth central body.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/EarthCenterDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;GenericTargetDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Defined by a PVCoordinatesProvider target.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/GenericTargetDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;BodyPointTargetDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Defined by target which is a GeodeticPoint on a BodyShape.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/BodyPointTargetDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;GroundVelocityDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Defined by the location of the ground target point given by the pointing direction of the satellite and the body shape.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/GroundVelocityDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;NadirDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Defined by the location of the nadir point and the satellite position.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/NadirDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;CrossProductDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Cross Product of two directions.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/CrossProductDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;GlintApproximatePointingDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Direction to the Sun specular reflexion point.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/GlintApproximatePointingDirection.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;EarthToCelestialBodyCenterDirection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Direction from Earth to the celestial body center.&lt;br /&gt;
|[{{JavaDoc4.15}}/fr/cnes/sirius/patrius/attitudes/directions/EarthToCelestialBodyCenterDirection.html ...]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Manual_4.15_Attitude]]&lt;/div&gt;</summary>
		<author><name>Admin tsn</name></author>
	</entry>
</feed>