public class GeographicZoneDetector extends AbstractDetector<GeographicZoneDetector>
该探测器标识了当飞船穿越定义在地球表面上的一般形状边界时。感兴趣的典型形状可以是国家、陆地或物理区域,如南大西洋异常区。形状可以是任意复杂的:凸多边形或非凸多边形,可以是一个整体或几个非连接的岛屿,它们可以包括极点,也可以像里海那样有洞(当然,如果只关心陆地,这将是一个洞)。复杂的形状当然需要比简单形状更多的计算时间。
FootprintOverlapDetector
DEFAULT_MAX_ITER, DEFAULT_MAXCHECK, DEFAULT_THRESHOLD
Modifier | Constructor and Description |
---|---|
protected |
GeographicZoneDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, BodyShape body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, org.hipparchus.geometry.enclosing.EnclosingBall<org.hipparchus.geometry.spherical.twod.Sphere2D,org.hipparchus.geometry.spherical.twod.S2Point> cap, double margin)
具有完整参数的受保护构造函数。
|
|
GeographicZoneDetector(BodyShape body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, double margin)
构建一个新的探测器。
|
|
GeographicZoneDetector(double maxCheck, double threshold, BodyShape body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, double margin)
构建一个探测器。
|
Modifier and Type | Method and Description |
---|---|
protected GeographicZoneDetector |
create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
构建一个新实例。
|
double |
g(SpacecraftState s)
计算探测函数的值。
|
BodyShape |
getBody()
获取定义地理区域的天体。
|
double |
getMargin()
获取要应用的角度边界(弧度)。
|
org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet |
getZone()
获取地理区域。
|
GeographicZoneDetector |
withMargin(double newMargin)
设置探测器边界。
|
getHandler, getMaxCheckInterval, getMaxIterationCount, getThreshold, init, isForward, withHandler, withMaxCheck, withMaxCheck, withMaxIter, withThreshold
public GeographicZoneDetector(BodyShape body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, double margin)
新实例使用默认值进行最大检查间隔(AbstractDetector.DEFAULT_MAXCHECK
)和收敛阈值(AbstractDetector.DEFAULT_THRESHOLD
)。
body
- 定义地理区域的天体
zone
- 要考虑的地理区域
margin
- 要应用到区域的角度边界
public GeographicZoneDetector(double maxCheck, double threshold, BodyShape body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, double margin)
maxCheck
- 最大检查间隔(秒)
threshold
- 收敛阈值(秒)
body
- 定义地理区域的天体
zone
- 要考虑的地理区域
margin
- 要应用到区域的角度边界
protected GeographicZoneDetector(AdaptableInterval maxCheck, double threshold, int maxIter, EventHandler handler, BodyShape body, org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet zone, org.hipparchus.geometry.enclosing.EnclosingBall<org.hipparchus.geometry.spherical.twod.Sphere2D,org.hipparchus.geometry.spherical.twod.S2Point> cap, double margin)
此构造函数不是公共的,因为用户应该使用建造者API,通过各种withXxx()
方法设置实例,以便以可读的方式设置实例,而不使用大量参数。
maxCheck
- 最大检查间隔
threshold
- 收敛阈值(秒)
maxIter
- 事件时间搜索中的最大迭代次数
handler
- 在事件发生时调用的事件处理程序
body
- 定义地理区域的天体
zone
- 要考虑的地理区域
cap
- 包围区域的球形帽
margin
- 要应用到区域的角度边界
protected GeographicZoneDetector create(AdaptableInterval newMaxCheck, double newThreshold, int newMaxIter, EventHandler newHandler)
create
在类 AbstractDetector<GeographicZoneDetector>
newMaxCheck
- 最大检查间隔(秒)
newThreshold
- 收敛阈值(秒)
newMaxIter
- 事件时间搜索中的最大迭代次数
newHandler
- 在事件发生时调用的事件处理程序
public GeographicZoneDetector withMargin(double newMargin)
newMargin
- 要应用到区域的角度边界
public BodyShape getBody()
public org.hipparchus.geometry.spherical.twod.SphericalPolygonsSet getZone()
public double getMargin()
public double g(SpacecraftState s)
该值是到边界的有符号距离减去边界。如果飞船在区域外部,则为正,如果在区域内部,则为负。
g
在接口 EventDetector
g
在类 AbstractDetector<GeographicZoneDetector>
s
- 当前状态信息:日期、运动学、姿态
Copyright © 2002-2023 CS GROUP. All rights reserved.