public class CircularFieldOfView extends SmoothFieldOfView
视场由一个轴和一个半孔径角定义。
Constructor and Description |
---|
CircularFieldOfView(org.hipparchus.geometry.euclidean.threed.Vector3D center, double halfAperture, double margin)
构建一个新实例。
|
Modifier and Type | Method and Description |
---|---|
protected org.hipparchus.geometry.euclidean.threed.Vector3D |
directionAt(double angle)
获取角度处的边界方向。
|
double |
getHalfAperture()
获取FOV半孔径角。
|
double |
offsetFromBoundary(org.hipparchus.geometry.euclidean.threed.Vector3D lineOfSight, double angularRadius, VisibilityTrigger trigger)
获取目标体相对于视场边界的偏移量。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
projectToBoundary(org.hipparchus.geometry.euclidean.threed.Vector3D lineOfSight)
找到视场边界上距离视线最近的方向。
|
getCenter, getFootprint, getX, getY, getZ
getMargin
public CircularFieldOfView(org.hipparchus.geometry.euclidean.threed.Vector3D center, double halfAperture, double margin)
center
- FOV中心的方向,以航天器坐标系表示
halfAperture
- FOV半孔径角
margin
- 应用于区域的角度边界(如果为正,则视场将考虑略微超出区域的点仍然可见)
public double getHalfAperture()
public double offsetFromBoundary(org.hipparchus.geometry.euclidean.threed.Vector3D lineOfSight, double angularRadius, VisibilityTrigger trigger)
偏移量是目标体与最近边界点之间的有符号角距离,考虑到VisibilityTrigger
和margin
。
由于视场可以具有可能需要长时间计算的复杂形状,因此当可以证明目标点在视场之外时,可以使用更快但近似的计算。此近似仅在视场外部约0.01弧度处执行,该弧度外部由目标体半径和视场边界定义的死区增加,并且应设计为仍然在完全准确计算将返回正值的情况下返回正值。当目标点靠近区域时(而且当它在区域内时),执行完全准确的计算。此设计允许将此偏移量用作可靠检测视场边界穿越的方法(考虑VisibilityTrigger
和margin
),这对应于偏移的符号更改。
lineOfSight
- 从FOV支持单位球的中心到航天器坐标系中目标的视线
angularRadius
- 目标体角半径
trigger
- 球形体的可见性触发器
FieldOfView.offsetFromBoundary(Vector3D, double, VisibilityTrigger)
public org.hipparchus.geometry.euclidean.threed.Vector3D projectToBoundary(org.hipparchus.geometry.euclidean.threed.Vector3D lineOfSight)
lineOfSight
- 从FOV支持单位球的中心到航天器坐标系中目标的视线
protected org.hipparchus.geometry.euclidean.threed.Vector3D directionAt(double angle)
directionAt
在类 SmoothFieldOfView
angle
- 边界方向的相位角
Copyright © 2002-2023 CS GROUP. All rights reserved.