View along a string
This function allows you introduce some simple animation into the visualisation of your data. To understand how this function works you must first understand the terms Camera Target and Camera Position. The Camera Position is the point at which your eye is located. The Camera Target is the point towards which you are looking. This function provides simple animation by letting you use a string segment to define successive locations for the Camera Position and Camera Target.
This function is ideal for the simulation of flying over the data as if seated in a plane, or for driving through or around the data to appreciate the visual impact of earthworks on passers by.
To run this function: Choose View > Data view options > View along a string, or...
The Camera Position is simply determined by choosing successive points along the selected viewing string. The option of having additional Camera Positions interpolated between points on the string is also available. This is to permit gradual changes in the view as you traverse along a string where the points are spaced far apart.
A number of different methods are available to determine how the Camera Target is determined, these methods include:
- along fixed angle
Use the string to define the camera positions but always look away from the string by some fixed angle both in the horizontal and vertical planes. This gives the effect of looking out of a car window as you drive along.
- along a fixed bearing
Use the string to define the camera positions but always look in the same direction, for example, always looking to the North. The angle of inclination of the line of site to the horizontal can also be defined.
- along string
Use the next point along the string from the current camera position as the camera target. This gives the effect of travelling along the string and looking straight ahead all the time. This method is particularly useful for simulating driving through an tunnel in underground workings.
- to a point
Use the string to define the camera positions but always look towards the same point. The camera target is defined by selecting a point in your data. This method is particularly useful for simulating a drive by as you will always be looking towards the same point.
As well as defining the path of the camera for the animation, a number of parameters can be recorded in the description fields of the string file so that the field of width of the camera and viewing direction of the camera can be controlled as the camera location traverse the segment defining the camera path. This permits you to zoom in and out as well as to alter the viewing direction as the camera travels along the viewing path.
To assist in the creation of animations that you plan to save as a 'movie', it is possible to save an image of the scene at each camera location. The images can be saved as GIF or PNG files. Converting these to an AVI or some other animation file format can then be easily achieved with any of a number of movie maker utilities.
View
Enter the viewing method, choose from:
- along fixed angle
- along fixed bearing
- along string
- to a point
Each of these methods are described in detail above. If you choose the "to a point" viewing method then you will need to select a point to use as the camera target after completing this form.
Camera field width
The value which you enter here has a significant effect on the images which are generated. This value controls the width of the field of view of the camera. A small value will be like looking through a zoom lens with a high magnification factor, that is it will focus in on a small area of your data. A large value will be like looking through a fish-eye lens, that is you will see most, or perhaps all of your data. In addition very large values will tend to distort the view of the data somewhat.
You may also define the field of width value in the D1 field of the segment that defines the camera path. If the D1 field is non numeric for any point in the segment then the value entered for this field will be used.
By using different values for this viewing parameter in different points of the camera path segment you can achieve a smooth linear transition in the field of width parameter as the camera travels between successive pairs of points. It is possible therefore to zoom in or out (by decreasing or increasing the field of width respectively) as the camera location changes.
View Angle/Bearing
If you have chosen to view either "along fixed angle" or "along fixed bearing" then you must enter a value here. The value which you enter is interpreted as an angle with respect to the direction of the string if you chose "along fixed angle" or as a bearing, that is, a clockwise angle from North, if you chose "along fixed bearing".
For "along fixed angle" use angles which are less than ZERO to look to the left of the string and angles greater than ZERO to look to the right of the string.
The value which you enter must be in decimal degrees.
You may also define the view angle/bearing value in the D2 field of the segment that defines the camera path. If the D2 field is non numeric for any point in the segment then the value entered for this field will be used.
By using different values for this viewing parameter in different points of the camera path segment you can achieve a smooth linear transition in the viewing angle/bearing parameter as the camera travels between successive pairs of points. It is possible therefore to be looking to the left of the segment path at a point and then to be looking to the right of the camera path at the next point and to achieve a smooth rotation of the camera orientation between these points.
View Dip
If you have chosen to view either "along fixed angle" or "along fixed bearing" then you must enter a value here. The value which you enter defines the inclination of your line of site to the horizontal.
A value of ZERO means that your line of site will be horizontal. A value less than ZERO indicates an angle of depression, that is, you are looking below the horizontal and an angle greater than ZERO indicates that your line of site is above the horizontal.
The value which you enter must be in decimal degrees.
You may also define the view dip value in the D3 field of the segment that defines the camera path. If the D3 field is non numeric for any point in the segment then the value entered for this field will be used.
By using different values for this viewing parameter in different points of the camera path segment you can achieve a smooth linear transition in the viewing dip parameter as the camera travels between successive pairs of points. It is possible therefore to be looking horizontally at a point and then to be looking vertically down at the next point and to achieve a smooth rotation of the camera orientation between these points.
Camera Z offset
An offset in the Z direction from the camera path segment to the camera position for each frame may be entered here.
To provide additional control over the camera location, it is possible to define a height offset in the D4 field of the camera segment so that the camera can be moved above or below the camera path segment. The camera Z offset from the camera path segment is linearly interpolated between successive points in the camera segment.
If no camera offset is defined in the D4 field a the Z offset entered here is used.
Pause at each frame
You can choose to progress through the sequence of frames with a pause after each frame or with no pause at all. Enter 'Y' to pause after each frame, or 'N' to proceed through each frame without pausing. On slower computers, or with large data sets you will find that it will be necessary to pause after each frame so that you get to see the image before the next image starts generating.
On faster computers you will find that the images are generated fast enough that it will appear as if animation is occurring.
Max distance between frames
This input will help to make the transition from one frame to the next a bit smoother. It does this by choosing camera positions along the selected string so that the distance from one camera position to the next is no greater than the value entered here. This is particularly useful if the string which you use to define the camera positions has points separated by large distances.
Choose the value that you enter here with caution as a value which is too small will make you think that you are "standing still", when in fact its just because the camera is not moving very far for successive frames and so the image remains the same.
Base name for image files
If a non-blank name is entered for this field an image file will be created at each camera location along the camera path. The filenames for the many images files that are created will use the base name entered and a 6 digit integer field starting at 000001 for the first file, incrementing by 1 for each new image.
Note that this can cause numerous image files to be created. The animation can be cancelled by pressing the escape key at any time.
Image type
The image files may be created as either GIF or PNG format files.
X resolution, y resolution
The resolution, the number of pixels that is, may be defined for both the X and Y directions. This is sometimes useful for the creation of higher resolution images. If you choose to alter the resolutions the best results will be achieved by altering both resolutions by the same factor. If the resolutions are altered by different factors the aspect ratio (height/width) will change.
Using higher resolutions will cause the time to create each image to be greater.
After completing the VIEW ALONG string form choose Apply to display the prompt:
Select the target point at which to look
Note that this prompt will only be displayed if you chose the "to a point" method of viewing.
Select the point which you wish to use as the camera target to display the prompt:
Select the segment to view along
Select the segment which you wish to use to define the camera positions. The segment which you choose must have at least 2 points but ideally it will have more than 2 points. Note that the camera will never be positioned at the last point of the segment as 2 points, one for the camera and one for the target are required for each image.
After all the inputs have been defined the view will be changed to suit the new camera and target positions and the field of view as defined by the field width. The view automatically switches to a Perspective projection which as far more suitable for this purpose than an Orthographic projection.
If you chose to pause after each frame you will need to press a key or a button on the mouse to proceed to the next frame. If you chose not to pause after each frame then the screen image will change continuously to reflect the changing camera and target positions.
If you wish to abort viewing during the viewing sequence you can use the CONTROL-C or ESCAPE keys. Pressing either of these keys will abort the viewing immediately.
The more data which you display the slower and "jerkier" the transition from one frame to the next will become. Careful selection of the data to be displayed may produce more desirable results. Displaying DTMs or 3DMs with hidden surface removal enabled will slow things down even more.
Using "double buffering" causes the system to reserve enough memory for the current frame and for the next frame which is to be displayed. By doing this the image for the next frame is constructed "behind the scene" and when displayed, it appears immediately without the progressive generation as normally occurs. The final effect when viewing will be dictated by whether the workstation has "double buffering" implemented in hardware, or whether it has to emulate it in software.
Typically only the higher end of graphics workstations have double buffering implemented in hardware. This will produce superior results when viewing the data. If your workstation has to emulate double buffering in software you probably notice that most things will in fact appear to be slower, but the transition from one frame to the next will be very smooth. If this is the case you might elect to only use double buffering only when using this function.