Converting boundary data to parent object body frame
Body Mask File Format (*.bmsk)
A body mask file is an ASCII text file formatted for compatibility with STK that ends in a .bmsk
extension. Body mask files provide data used to restrict visibility to a sensor. Body mask files can be useful when you need to provide STK with data for a sensor to model certain unique circumstances.
Keywords
Keyword | Required | Description |
---|---|---|
stk.v.<major release number>.<minor release number> | Yes | Enter the version of STK software for which the file is formatted to be used. You can create files in, and imported into, STK software versions consistent with the file version stamp or later.
The version stamp must be the first line in the body mask file. Example:
|
CoordinateAxes | No |
Defines the reference axes used when interpreting the azimuth and elevation values in the file. This keyword is supported when a sensor uses the file but not when a facility, place, or target uses the file. If you do not provide this, STK uses the sensor parent's body axes as the reference axes. Supported values are the following:
You must specify this keyword outside all Inclusion/Exclusion sections. The specified references axes apply to all sections. |
BEGIN Inclusion END Inclusion |
Yes | Sets off the beginning and end of the specification of the actual inclusion OR exclusion zone. All other keyword phrases and data point specification (except the version stamp) will be inside these two keyword phrases. Refer to the sample file for a more detailed example. |
BEGIN Exclusion END Exclusion |
||
LocalZ LocalX |
Specify the relationship between the Z and X axes used in the description of the Az/El coordinates and the body frame of the parent object of the sensor. Elevation is measured as the angle out of the local X-Y plane, positive in the direction of +Z. Azimuth is measured as the angle in the local X-Y plane from X positive in the direction of Y.
Example:
LocalX -1 0 0 |
|
NumAzElPairs | Yes | The maximum number of azumith/elevation coordinate sets to follow.
Example: If you enter:
|
A body mask file where the Az/El coordinates are measured in a frame where the Z axis is along the -Z axis of the parent body frame and the X axis is along the -X axis in the parent body frame might look like this sample file.
Converting boundary data to mask reference axes frame
Points along an exclusion or inclusion boundary are identified by azimuth/elevation pairs, where the angles are measured in a local reference frame that is related to the mask references axes frame by the local axis directions specified with the contour. You can convert points along an exclusion or inclusion boundary to azimuth/elevation directions in the mask references axes frame as follows:
Compute the transformation from the boundary local frame to the mask references axes frame:
YLocal = ZLocal x XLocal
MLocal_to_RefAxes = [XLocal YLocal ZLocal]
Convert each azimuth/elevation pair to a Cartesian direction in the local reference frame:
Convert local direction to direction in the mask references axes frame:
ȓRefAxes = MLocal_to_RefAxes ȓLocal
Convert direction in the mask references axes frame to azimuth and elevation angles:
AzRefAxes = tan-1 [ȓRefAxes (Y) / ȓRefAxes (X)]
ElRefAxes = sgn*sin-1 [ȓRefAxes (Z) ]
where sgn=+1 if elevation is measured positively toward +Z, and sgn=-1 if elevation is measured as positive toward -Z.
If the reference axes are the body axes of a facility, place, or target, then the +X axis points toward local north while the +Z axis points downward into the ground (along detic nadir). Thus, the measuring of elevation as positive toward the -Z axis (i.e., toward detic zenith) in this case is in keeping with common conventions.