mil.navy.nps.rra
Class Targets

This class provides methods for random target generation, tracking
updates to the dead-reckoned positions of targets, and detecting
whether a sonar ping has collided with any of the Targets.

As acoustic waves traverse the ocean environment, they can impinge
on objects. The bottom and suface are boundary constraints on the
extent of the water column, and as such they are handled in special
classes by themselves. All other objects in the water column can be
considered detection targets. When sonar hits an underwater target,
energy is scattered back from the target in a mainly isotropic manner.
This scattered energy is what returns to the sending sonar, revealing
the presence and location of the target.

In this simulation, the distance between targets and sonar is determined
by means of a vector algebra calculation. Specifically, the plane
containing the front of the wave front is compared to the distance
of the target away from the plane. When this easily computed distance
changes sign, there is a possibility that the sonar pulse has intersected
the object. Higher-resolution checks are then performed to verify
whether or not a detection event has occurred. This two-step process
keeps the calculations computationally tractable. Detection results
are made available to the calling method as the return value.

This class also provides a method for randomly generating sample targets.
It is the logical place to add code to receive position information
from external sources, for example using the network
via the Distributed Interactive Simulation (DIS) protocol.

Targets(Surface s,
Bottom b,
int numberMines,
int numberSubs)
The first two arguments determine the Surface
and Bottom types, while the last two arguments indicate how many mines
and submarines are added to the target data base.

Method Summary

double

getCollisionArea()
This method returns the cross sectional area of the object that was detected.

java.lang.String

getVRMLTargets()
This method returns a VRML string representing the targets in the ocean.

Targets

The first two arguments determine the Surface
and Bottom types, while the last two arguments indicate how many mines
and submarines are added to the target data base.
The total number of mines and submarines is currently limited to 100,
and all are randomly placed.

Targets

Constructor for the tartgets class. The first two arguments are
the bottom and surface objects. The next two are the max and min
x-direction boundaries for a minefield and the next two are for
the z-direction. The last is the number of mines. The maximum
number of mines is 100 and they are randomly placed.

Method Detail

resetTargets

public void resetTargets()

This method resets the parameters that speed up target collision detection.
It is used whenever a new beam is calculated.

getVRMLTargets

public java.lang.String getVRMLTargets()

This method returns a VRML string representing the targets in the ocean.