cspice_inelpl |
|||

## AbstractCSPICE_INELPL finds the intersection of an ellipse and a plane. ## I/OGiven: ellipse a structure describing a SPICE ellipse. The ellipse is allowed to be degenerate: one or both semi-axes may have zero length. [1,1] = size(ellipse); struct = class(ellipse) The structure has the fields: center: [3,1] = size(center); double = class(center) semiMajor: [3,1] = size(semiMajor); double = class(semiMajor) semiMinor: [3,1] = size(semiMinor); double = class(semiMinor) plane a structure describing a SPICE plane. The intersection of 'plane' and 'ellipse' is sought. [1,1] = size(plane); struct = class(plane) The structure has the fields: normal: [3,1] = size(normal); double = class(normal) constant: [1,1] = size(constant); double = class(constant) the call: [ nxpts, xpt1, xpt2] = ## ExamplesAny numerical results shown for this example may differ between platforms as the results depend on the SPICE kernels used as input and the machine specific arithmetic implementation. Use the meta-kernel shown below to load the required SPICE kernels. KPL/MK This meta-kernel is intended to support operation of SPICE example programs. The kernels shown here should not be assumed to contain adequate or correct versions of data required by SPICE-based user applications. In order for an application to use this meta-kernel, the kernels referenced here must be present in the user's current working directory. The names and contents of the kernels referenced by this meta-kernel are as follows: File name Contents --------- -------- de421.bsp Planetary ephemeris pck00009.tpc Planet orientation and radii naif0009.tls Leapseconds \begindata KERNELS_TO_LOAD = ( '/kernels/gen/lsk/naif0009.tls' '/kernels/gen/spk/de421.bsp' '/kernels/gen/pck/pck00009.tpc' ) \begintext % % Standard SPK, LSK, PCK files. % cspice_furnsh( 'standard.tm' ) % % Retrieve the triaxial radii of Saturn (699) % radii = cspice_bodvrd( 'SATURN', 'RADII', 3 ); % % Define a position in the body frame at one hundred equatorial % radii out along the x axis, one hundred radii above the % equatorial plane. % vertex = [ 100.0 * radii(1), 0.0, radii(1) *100.0 ]'; % % Find the limb of the ellipsoid as seen from the % point 'vertex'. 'limb' returns as a CSPICE_ELLIPSE. % limb = cspice_edlimb( radii(1), radii(2), radii(3), vertex ); % % Define the equatorial plane as a SPICE plane. The Z % axis is normal to the plane, the origin lies in the % plane. % normal = [ 0., 0., 1.]'; point = [ 0., 0., 0.]'; plane = cspice_nvp2pl( normal, point); % % Calculate the intersection of the 'limb' and 'plane'. % [ nxpts, xpt1, xpt2] = ## ParticularsThis routine computes the intersection set of a non-degenerate plane with a possibly degenerate ellipse. The ellipse is allowed to consist of a line segment or a point. A plane may intersect an ellipse in 0, 1, 2, or infinitely many points. For there to be an infinite set of intersection points, the ellipse must lie in the plane and consist of more than one ## Required ReadingFor important details concerning this module's function, please refer to the CSPICE routine inelpl_c. MICE.REQ ELLIPSES.REQ PLANES.REQ ## Version-Mice Version 1.0.0, 27-AUG-2012, EDW (JPL) ## Index_Entriesintersection of ellipse and plane |

Wed Apr 5 18:00:33 2017