Codebase list dx / upstream/4.4.4+git20200205.1.3b5866d help / dxall598
upstream/4.4.4+git20200205.1.3b5866d

Tree @upstream/4.4.4+git20200205.1.3b5866d (Download .tar.gz)

dxall598 @upstream/4.4.4+git20200205.1.3b5866draw · history · blame

#!F-adobe-helvetica-medium-r-normal--18*
#!N 
#!CSeaGreen #!N  #!Ranimat Animation #!N #!EC #!N 
#!N The Sequencer tool is the primary device used in Data 
Explorer to produce animation or motion control. There are two basic 
types of animation: show a series of steps one after another, 
or, cause an object to move or rotate or change scale 
in order to study it from different points of view. #!N 
#!N Since many data sets are measured at a series of 
different times, your data may have a "time value" associated with 
each measurement set. There are two ways to read in these 
time step data files in order to study the dynamic process 
you have measured. #!N #!N In one scheme, you can collect 
all your data files into a  #!F-adobe-times-medium-i-normal--18*   Series #!EF , a 
special Group of Fields understood by Data Explorer. Each Series member 
can represent a data collection event at a certain time. Series 
do not have to be based on time; you may have 
a set of experimental measurements made at different voltages (e.g., a 
voltage series). Each series member is assumed to have the same 
type (scalar, vector, etc.) and the same dimensionality (2-D, 3-D, etc.), 
but the data and even the grid size or number of 
connections and positions may be different for each Series member. The 
Series Field is described in detail in  #!Lsergrp,dxall262 h Series Groups  #!EL  . Series "values" 
do not have to be continuous but may represent useful information 
like the actual voltage setting for that Series entry (0.04, 2.3, 
13.4). Series members are accessed by their ordinal position, starting at 
0, regardless of their "value." #!N #!N Another way to organize 
a collection of associated data files is to create individual files 
for each time step (or voltage measurement, etc.). Give each file 
a filename containing an ordinal number so you can access them 
easily with a computer program (e.g., myfield.001.dx, myfield.002.dx, and so on). 
Each file will contain the Field to be imported at each 
time step. #!N #!N In either case (Series Field or separately 
numbered files), you can control when a particular time step is 
visualized in a visual program using the Sequencer tool. This tool 
emits a series of integers. You set the minimum, maximum, and 
increment, as well as choosing to start at a specific number 
(so you can jump ahead in the series if you like). 
The Sequencer can be connected to the Import module to specify 
which Series member to read in from the specified input file 
at the next iteration. Alternately, you could Import the Series Group 
file with Import, then use the Select module. Select takes an 
integer input (from Sequencer, for example) to choose the appropriate series 
member. #!N #!N If you choose to use separate files for 
separate data samples, you would likely want to use the Sequencer 
as an input to a Format module. The Format module could 
construct the filename with a format string like %s%03d%s along with 
three inputs, "myfield.," the output of the Sequencer, and ".dx." Then, 
when the Sequencer emits the integer "2," the output string from 
Format becomes "myfield.002.dx." This can be fed into Import as the 
name of the .dx file to read. The result is that 
you can use the Sequencer to specify either any specific file 
or a whole series of files to import and image one 
after another. #!N #!N Another common type of animation is to 
use the Sequencer to control object motion. Usually, this requires that 
you run the output of Sequencer through at least one Compute 
module. For instance, you can rotate an object around the Y-axis 
one full revolution by employing the Rotate module. The smaller the 
angular increment, the smoother the animation will appear, but there is 
a trade-off in apparent motion rate if your graphics workstation is 
not very fast. So you may have to adjust the incremental 
angular amount to your liking. #!N #!N You will find the 
technique of wiring Interactors to Compute modules useful for converting the 
output of Sequencer to arbitrary floating-point values. If you wanted to 
vary the Scale of your object using the Scale module, it 
might be more convenient to adjust the scale in increments of 
0.01. With a little thought, you can extend this idea so 
that the same (one and only) Sequencer integer series can be 
converted into several different series of numbers that can simultaneously rotate, 
scale, and read in different time steps of data. Just a 
caution, though: too much changing at the same time will probably 
not help you visualize your data, but instead will cause confusion. 
Is the object getting bigger because the data values are increasing, 
or because you are changing the scale, or because you are 
moving the object closer to you with Translate? When you start 
out, keep your animations simple and they will be much more 
effective. #!N #!N #!N  #!F-adobe-times-medium-i-normal--18*   Next Topic #!EF #!N #!N  #!Lannot,dxall599 h Annotation  #!EL  
#!N  #!F-adobe-times-medium-i-normal--18*   #!N