cspice_pltvol |
|||

## AbstractCSPICE_PLTVOL computes the volume of a three-dimensional region bounded by a collection of triangular plates. ## I/OGiven: vrtces is an array containing the plate model's vertices. [3,nv] = size(vrtces); double = class(vrtces) Elements vrtces(1,i) vrtces(2,i) vrtces(3,i) are, respectively, the X, Y, and Z components of the ith vertex, where `i' ranges from 1 to nv. This routine doesn't associate units with the vertices. plates is an array containing 3-tuples of integers representing the model's plates. The elements of `plates' are vertex indices. The vertex indices are 1-based: vertices have indices ranging from 1 to nv. [3,np] = size(plates); int32 = class(plates) The elements plates(1,i) plates(2,i) plates(3,i) are, respectively, the indices of the vertices comprising the ith plate. Note that the order of the vertices of a plate is significant: the vertices must be ordered in the positive (counterclockwise) sense with respect to the outward normal direction associated with the plate. In other words, if v1, v2, v3 are the vertices of a plate, then ( v2 - v1 ) x ( v3 - v2 ) points in the outward normal direction. Here "x" denotes the vector cross product operator. the call: pltvol = ## 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. Example(1): Compute the volume of the pyramid defined by the four triangular plates whose vertices are the 3-element subsets of the set of vectors: ( 0, 0, 0 ) ( 1, 0, 0 ) ( 0, 1, 0 ) ( 0, 0, 1 ) function pltvol_t % % Let the notation % % < A, B > % % denote the dot product of vectors A and B. % % The plates defined below lie in the following planes, % respectively: % % Plate 1: { P : < P, (-1, 0, 0) > = 0 } % Plate 2: { P : < P, ( 0, -1, 0) > = 0 } % Plate 3: { P : < P, ( 0, 0, -1) > = 0 } % Plate 4: { P : < P, ( 1, 1, 1) > = 1 } % vrtces =[ [ 0.0, 0.0, 0.0 ]', ... [ 1.0, 0.0, 0.0 ]', ... [ 0.0, 1.0, 0.0 ]', ... [ 0.0, 0.0, 1.0 ]' ]; plates =[ [ 1, 4, 3 ]', ... [ 1, 2, 4 ]', ... [ 1, 3, 2 ]', ... [ 2, 3, 4 ]' ]; vol = ## ParticularsThis routine computes the volume of a spatial region bounded by a set of triangular plates. If the plate set does not actually form the boundary of a spatial region, the result of this routine is invalid. Examples: Valid inputs ------------ Tetrahedron Box Tiled ellipsoid Two disjoint boxes Invalid inputs -------------- Single plate Tiled ellipsoid with one plate removed Two boxes with intersection having positive volume ## Required ReadingFor important details concerning this module's function, please refer to the CSPICE routine pltvol_c. MICE.REQ DSK.REQ ## Version-Mice Version 1.0.0, 16-MAR-2016, EDW (JPL), NJB (JPL) ## Index_Entriescompute plate model volume |

Wed Apr 5 18:00:34 2017