The user has multiple models that can be employed to assign a moving object description to individual scene object instances or the imaging platform.

  • The Delta motion model (scene objects only)

    • Employs a key-frame style approach, where the motion is described by an initial state (location and orientation) followed by a set of records that describe changes to the previous state as a function of time.

    • Pros

      • Easy to change initial state to shift an object’s entire motion profile.

    • Cons

      • Can be awkward to translate location vs. time data into delta style changes.

      • Only supports the Scene ENU coordinate system.

  • The Generic motion model (scene objects and platform)

    • Employs explicit location and orientation vs. time records.

    • Pros

      • Supports all the DIRSIG local and global coordinate systems.

      • Built-in wizards can be used to create simple motion descriptions and tools to import external motion descriptions.

    • Cons

      • Requires all records to be recomputed to shift an objects motion.

      • Employe Euler angle rotations only (no quaternion support).

  • The Flexible motion model (scene objects and platform)

    • Employs a suite of separate location and orientation engines that allow the user to employ either data-driven or parameterized descriptions.

    • Pros

      • Supports all the DIRSIG local and global coordinate systems.

      • Supports both Euler Angle and Quaternion orientation descriptions.

      • Support for either internal data or external files for data-driven descriptions.

    • Cons

      • No graphical user interface at this time.

Scene Geometry Motion

The user can create scene object instances that utilize the various motion models.

Instance Motion via the ODB File

The ODB file allows the user to define static and dynamic instances.

Delta Motion

An object can be dynamically positioned, scaled and rotated as a function of time using the Delta motion model:

DIRSIG_ODB = 1.0

OBJECT {
    GDB_FILENAME = car.gdb
    UNITS = METERS
    INSTANCES {
        INFO = car.mov
    }
}
Important Only the Delta motion model can be used to create dynamic instances in the ODB file.

Instance Motion via the GLIST File

The GLIST file allows the user to define static and dynamic instances using any of the described motion models.

Delta (Keyframe) Motion

An object can be dynamically positioned as a function of time using an external Delta Movement (sometimes referred to as "keyframe" movement) file:

<dynamicinstance>
  <motion type="delta">
    <filename>truck.mov</filename>
  </motion>
</dynamicinstance>

This model is explained more in the DeltaMotion1 demo.

Generic Motion

An object can be dynamically positioned as a function of time using an external Generic Platform Position Data file:

<dynamicinstance>
  <motion type="generic">
    <filename>truck.ppd</filename>
  </motion>
</dynamicinstance>

This model is explained more in the GenericMotion1 demo.

Flexible Motion

An object can be dynamically positioned and oriented as a function of time using the Flexible Motion model:

<dynamicinstance>
  <motion type="flexible">
    <locationengine type="straight">
      <start type="scene">
        <x>0.0</x><y>0.0</y><z>12500.0</z>
      </start>
      <heading>20</heading>
      <velocity>200</velocity>
    </locationengine>
  </motion>
</dynamicinstance>

This model is explained more in the FlexibleMotion1 demo.

Platform Motion

Either the Generic or Flexible motion model can be used to define the motion of the imaging platform in a simulation. The platformmotion element in a .sim file can be specified to point to either a .ppd (Generic) or a .motion Flexible) file:

<simulation>
  <scene externalfile="demo.scene"/>
  <atmosphericconditions externalfile="demo.atm"/>
  <platform externalfile="demo.platform"/>
  <platformmotion externalfile="stk.motion"/>
  <tasklist externalfile="stk.tasks"/>
</simulation>