Implementation of Conic Field of View


I am trying to implement a conic (elliptic cone) field of view. For this I used the following definition of FieldOfView <FieldOfView( final Vector3D center, final Vector3D meridian,

final double insideRadius, final int n, final double margin)>, where I approximated the conic shape with a polygon with 100 sides.

Could you please tell me if my approach is correct or if there is any other way to define a conical shape for the field of view in Orekit?

Thanks a lot!

It is the right approach if your cone has a flattened ellipse as its base. If the basis is circular, then
you should probably use CircularFieldOfViewDetector.

This thread is old, but there are new features available that are worht mentioning here.

First, a new hierarchy for fields of view has been defined, which allows any field of view to be used in both FieldOfViewDetector, FootprintOverlapDetector, GroundFieldOfViewDetector and all provide a way to compute the footprint on ground. Previously, only the general field of view defined from a SphericalPolygonsSet (or a regular polygon as in the original post above) could be used in such a way. As there is a perfectly circular field of view in this hierarchy, there is no need anymore to approximate it with a 100 sides polygon to use it for footprint-related computation. My first answer to the original post is therefore obsolete, there is now a better way to do it.

Second, this hierarchy also include a new field of view shape: EllipticalFieldOfView, which is a regular shape with one half aperture angle along one principal axis and a different half aperture angle along the other principal axis. Note that there are different ways to define the ellipticity constraint. Specifying only the two half aperture angles is not sufficient, you have to select one type of ellipticity constraint convention (see documentation for the EllipticalFieldOfView.EllipticalConstraint enumerate).