STK组件基础篇:点、矢量、坐标轴和坐标系
STK组件包含一个功能齐全的几何引擎,用于对点(Point
)、矢量(Vector
)、坐标轴(Axes
)和坐标系(Reference Frame
)进行建模。此几何引擎能够将这些对象中的每一个建模为静态或时间动态的几何概念。例如,点(Point
)可以表示卫星的位置。轴(Axes
)可以代表地球固定轴。STK组件中的几何引擎是以STK桌面版的矢量几何工具为模型的。
1. 坐标轴(Axes)
坐标轴提供了一种表示几何对象(如点和矢量)坐标的方法。例如,它们可用于表示物体相对于地固坐标系或移动车辆本体坐标系的位置。坐标轴可以独立于其他坐标轴定义,也可以根据其它坐标轴,点和矢量定义。X轴称为第一轴、Y轴称为第二轴、Z轴称为第三轴。
在STK组件中,预定义了二十多中坐标轴,一些常用的坐标轴类型:
-
AxesInAxes(axesToObserve, inAxes)
:定义从inAxes
到axesToObserve
的转换,这对于观察在axesToObserve
中的inAxes
中定义的矢量很有用。 -
AxesAlignedConstrained(principal, principalAxis, reference, referenceAxis)
:其中一个轴与principal
矢量对齐,另一个轴被约束以保持其自身与所提供的reference
矢量之间的角度间隔最小。未指定的轴由右手法则描述。 -
AxesTargetingLink(link, observer, reference)
:其具有沿两个平台之间的链接方向对齐的第三轴。第一轴被约束为输入参考矢量。第二轴由右手规则描述。此类对于将传感器及其天线指向其预期目标非常有用。这种类型的轴与AxesAlignedConstrained
非常相似 。 -
AxesNorthEastDown(centralBody, referencePoint)
:定义为给定centralBody
上指定位置点的本地北东下坐标轴 。向下的第三主轴指向该点处的本地法线的反方向。 -
AxesAlongTerrain(referencePoint, terrain)
:由与地形表面垂直的曲面定义坐标轴。这在对在地形上移动的地面车辆的方向进行建模时非常有用。x轴指向运动方向,y轴平行于地形表面,z轴与地形表面正交并指向下方。 -
AxesFixedOffset(referenceAxes, offset)
:定义为相对于referenceAxes
方向固定不变的坐标轴。 -
AxesInterpolator(referenceAxes, interpolator)
:由给定参考轴和插值出的旋转计算得到的坐标轴。 -
CompositeAxes(intervals)
:由间隔集合定义的轴,其中与每个间隔关联的数据是表示该间隔的方向的另一个轴。使用此类进行分析时,生成的轴必须是连续的;否则任何分析结果都是不正确的。
2. 点(Points)
点(Point
)表示目标的位置。当点(Point
)和坐标系(Reference Frame
)一起使用时,可以求出目标的精确位置、定义矢量或执行其它几何计算。
在STK组件中,预定义了二十多中点类型,一些常用的点类型:
-
PointCartographic(centralBody, location)
:表示在指定centralBody
上的固定点,以地图坐标的形式。 -
PointFixedOffset(frame, offset)
:表示在指定坐标系中位置不变的点,以固定偏移的形式。 -
PointInPointsFrame(observedPoint, frameOwner)
:表示在点frameOwner
的坐标系中观察点observedPoint
。 -
PointInReferenceFrame(point, frame)
:表示在指定坐标系frame
中观察point
的点。 -
PointVectorToPoint(displacementVector, basePoint)
:表示对basePoint
平移displacementVector
得到的点。 -
PointInterpolator(referenceFrame, interpolator)
:表示通过插值得到的点。 -
CompositePoint(intervals)
:表示由间隔集合定义的点,其中与每个间隔关联的数据是表示该间隔的位置的另一个点。使用此类进行分析时,生成的Point必须是连续的;否则任何分析结果都是不正确的。 -
PointDifferentiator(differentiatedPoint, increment)
:表示通过对另一点进行有限差分来提供高阶导数的点。
3. 矢量(Vectors)
STK组件中的矢量是相对于指定的坐标轴。这些矢量支持常用的标量操作方法:(以时变形式和固定形式)乘法、除法、加法、减法和求模。矢量还支持常用的矢量运算:叉乘、点乘、加法、减法和矢量导数。
在STK Components中,预定义了二十多中矢量类型,一些常用的矢量类型:
-
VectorTrueDisplacement(initialPoint, finalPoint)
:表示两个随时间而变化的点之间的真位移矢量。 -
VectorApparentDisplacement(initialPoint, finalPoint, inertialFrame)
:表示两个随时间而变化的点之间的视位移矢量,考虑光行时、视差等影响。 -
VectorInVectorsAxes(observedVector, axesOwner)
:表示在axesOwner
的坐标轴中观测矢量observedVector
得到的矢量。 -
VectorInAxes(vectorToObserve, inAxes)
:表示在坐标轴inAxes
中观测矢量vectorToObserve
得到的矢量。 -
VectorNormalized(vectorToNormalize)
:表示对矢量vectorToNormalize
归一化后得到的矢量。 -
VectorCrossProduct(vectorOne, vectorTwo)
:表示两个矢量叉乘得到的矢量。 -
VectorFixed(definedInAxes, components)
:表示在指定坐标轴中固定不变的矢量。 -
VectorSum(vectors)
:表示对多个矢量在共同的坐标轴中求和得到的矢量。
4. 坐标系(Reference Frames)
坐标系由坐标原点和坐标轴组成。在STK组件中,从Point
派生出来了的点类型均可作为坐标原点,从Axes
派生出来的类型均可作为坐标系的坐标轴。
public ReferenceFrame(Point origin, Axes axes)
常见的坐标系如地固坐标系EarthCentralBody.FixedFrame
,原点位于地球质心,坐标轴X轴指向0经0纬点,Z轴指向北极点,Y轴由右手法则定义。