The ScalePositions3D macro simply scales the positions of the field by three scalars, one for each of the components in the positions of the data. This was done using a combination of Mark, Compute and Unmark modules provided by OpenDX. The ScalePositions2D macro is identical, except that it works on 2-D data rather than 3-D.