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