20,741
edits
| Line 38: | Line 38: | ||
=== Milestone 4: Continue using extrapolation when no new data is available {{Pending }}=== | === Milestone 4: Continue using extrapolation when no new data is available {{Pending }}=== | ||
=== Milestone: Use FGExternalMotionData properly {{Pending}} === | === Milestone: Use FGExternalMotionData properly {{Pending}} === | ||
=== FGExternalMotionData === | |||
* "orientation" is where the nose of the aircraft is pointing | |||
* "linearVel" is it's velocity vector (whereto it's flying) | |||
* "angularVel": angular velocity vector (how it is rotating) | |||
* and then the corresponging acceleration vectors | |||
This data is used for displaying the orientation, velocity and | |||
accelerations of the aircrafts in the simulation at the receiver of the | |||
datagrams. Since the position is only updated at intervals (shortly after | |||
the reception of each datagram), the velocity value is used for displaying | |||
it in the meantime, between updates. If velocity was zero but position | |||
changes, then the aircraft would jump between positions at each new | |||
datagram. | |||
If the heading (included in "orientation") is zero, the nose of the | |||
aircraft will always point north (I presume), regardless of where it's | |||
flying. And so on. Of course, that may look funny in the simulation. But | |||
that's as good as it can be without any data about orientation, velocity | |||
and accelerations. | |||
You could simply set the unknown data to zeros to begin with, to comply to | |||
the protocol. (and live with aircrafts jumping around with their noses always | |||
pointing north and never banking in turns) | |||
Or you could try to design an algorithm to calculate/predict/guess them. | |||
And then you have to find a compromise between correctness and time delay, | |||
according to the sampling theorem. And live with strange flying aircraft | |||
each time you guess wrong, depending on how much time delay you can | |||
accept. (Aftermath is the only truly exact science.) | |||
* http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg08430.html | |||
=== Milestone: Make more use of smart pointers {{Pending}} === | === Milestone: Make more use of smart pointers {{Pending}} === | ||
=== Milestone: Get rid of threading issues {{Pending}} === | === Milestone: Get rid of threading issues {{Pending}} === | ||