FORMAT OF WORLD & SEQUENCE FILES -------------------------------- AERO data files are user-readable ASCII files. Comments start with a hash mark ("#") and extend to the end of the line. Lower case characters denote an optional value and need not be specified - in this case the default values (often 0) are used. STATE FORMAT Z # begin of a new state t g s # any number of bodies K m # mass in kg p # position of the center of gravity in meter v # in meter per second a # [m/s^2] q # w # rotary velocity [rad/s] u # rotary acceleration [rad/s^2] c # color n # for ray tracer b -[g][m][k] # type of movement: no gravity, # no mass, no collision check i # identification nummber For a "composed" body, the corresponding embedded bodies with their parameters should be following the body definition. The position of the composed object is computed as the center of gravity of the embedded bodies! E # only cuboid, sphere and cylinder are allowed m # mass [kg] p # position [m] q # quaternion ref. Inertialsystem c # color X # end marker of a composed object Links are entered as follows: V K K # any number of links a # position of connection at body b # and at body A constant force of is applied at a point of a body during the time intervall t0 and t1. F K [] Q # denotes the end of the current state For all definitions above, the following types apply: long = 0..2^31 ushort = 0..65535 vector = quaternion = bodytype = sphere | box | cylinder | plane | nail | mpoint | point | composed bodygeometry of "sphere" = bodygeometry of "cylinder" = bodygeometry of "box" = = material name from the material table e.g.: iron, plastic, .. # this is only set for sphere, box, cylinder und plane ! = spring | damper | joint | rod linkparameter for "spring" = linkparameter for "damper" = linkparameter for "rod" = = inertial # const. force in inertial system [N] = local # force ref to body coord. system = guided K [] # constant force in [N] directed always to a point at the target body The following samples show erroneous entries, which will be checked when read by AERO: * Z * g 0 -9.81 0 # negative gravity * * K1 box 0.1 0.2 0.3 iron # iron cuboid falls down to nowhere * v -1.0 0 0 * * K2 sphere 0.05 plastic # plastic sphere as pendulum * p -2.0 10.0 0 * * K3 nail * p 0.0 10.0 0.0 * * V1 K2 K3 rod 2.0 * * F1 K1 0 1 0 0 0 inertial 10 0 0 # force in the center of K1 in x-diection with * # strength 10N is applied during time 0s <= t <= 1s * Q MATERIAL FORMAT: # this is an remark M m [ ] # density in [kg/m^3] # transparency in the interval 0..1 Q CONFIGURATION FORMAT P h e (Y|N) # error control Y(es) or N(o) k (Y|N) # collision activated Y(es) or N(o) b u g (Y|N) r j m q s (Y|N) # spring impact YES, NO a (Y|N) Q The AERO internal format is now described by using an example. Sample world (state) file: W # start world file M 32 # material table, may contain 32 entries # two materials, "iron" and "wood" are entered m iron 7.8000e+03 1.0000e+00 1.3000e+00 9.0000e-01 5.0000e+04 5.0000e+02 m wood 6.0000e+02 5.0000e-01 6.5000e-01 7.0000e-01 5.0000e+04 5.0000e+02 Q # end of material table Z # start description of current state: objects, forces, and links t 1 # time of state description g 0 -9.81 0 # gravitation vector # object definitions start with letter "K" plus a number # "K1" is the first object: sphere, radius 5cm, material iron K1 sphere 5.00000000e-02 iron # mass m 4.08398627e+00 # position p -2.14595881e-01 8.11705112e-02 0.00000000e+00 # orientation q 6.61532809e-01 0.00000000e+00 0.00000000e+00 -7.49916216e-01 # velocity v -1.54115612e-03 1.68088549e-03 0.00000000e+00 # rotary velocity w 0.00000000e+00 0.00000000e+00 1.72884763e-02 K2 nail # object labelled "K2": immmovable point (nail) p 0.00000000e+00 4.00000000e-01 0.00000000e+00 # link definitions start with letter "V" plus a number # "V1" links objects K1 and K2 with a rod of specified length V1 K1 K2 rod 3.26810113e-01 # the following line(s) denotes the link's fixture point for # the first and/or second object (marked "a" or "b"), in case # it is not identical to an object's center. a 3.75000000e-02 -4.00000000e-02 0.00000000e+00 V2 K1 K2 rod 4.12310563e-01 # the second link "V2" is again between object K1 and K2 a 3.00000000e-02 4.00000000e-02 0.00000000e+00 b -5.50000000e-01 -3.12250226e-17 0.00000000e+00 # force definitions start with letter "F" # next params: start and termination time for applying force # next params: object (here "K1"), force type (guided, # inertial, or local), force attack vector (includes strength) F 1 1.01 K1 inertial 0 0 4 Q # end description of current state # end of world file Sequence files are similar to world files, however, they may conatain several "world" states. For these, a mark "X" has to be placed before the first state, and a mark "Y" has to be placed after the last state.