dvdot_c |

Table of contents## Proceduredvdot_c ( Derivative of Vector Dot Product, 3-D ) SpiceDouble dvdot_c ( ConstSpiceDouble s1[6], ConstSpiceDouble s2[6] ) ## AbstractCompute the derivative of the dot product of two double precision position vectors. ## Required_ReadingNone. ## KeywordsDERIVATIVE VECTOR ## Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- s1 I First state vector in the dot product. s2 I Second state vector in the dot product. The function returns the derivative of the dot product <s1,s2> ## Detailed_Inputs1 is any state vector. The components are in order (x, y, z, dx/dt, dy/dt, dz/dt ) s2 is any state vector. ## Detailed_OutputThe function returns the derivative of the dot product of the position portions of the two state vectors `s1' and `s2'. ## ParametersNone. ## ExceptionsError free. ## FilesNone. ## ParticularsGiven two state vectors `s1' and `s2' made up of position and velocity components (p1,v1) and (p2,v2) respectively, ## ExamplesThe numerical results shown for this example may differ across platforms. The results depend on the SPICE kernels used as input, the compiler and supporting libraries, and the machine specific arithmetic implementation. 1) Suppose that given two state vectors whose position components are unit vectors, and that we need to compute the rate of change of the angle between the two vectors. Example code begins here. /. Program dvdot_ex1 ./ #include <math.h> #include <stdio.h> #include "SpiceUsr.h" int main( ) { /. Local variables. ./ SpiceDouble dtheta; /. Define the two state vectors whose position components are unit vectors. ./ SpiceDouble s1 [6] = { 7.2459e-01, 6.6274e-01, 1.8910e-01, -1.5990e-06, 1.6551e-06, 7.4873e-07 }; SpiceDouble s2 [6] = { 8.4841e-01, -4.7790e-01, -2.2764e-01, 1.0951e-07, 1.0695e-07, 4.8468e-08 }; /. We know that the Cosine of the angle `theta' between them is given by cos(theta) = vdot_c(s1,s2) Thus by the chain rule, the derivative of the angle is given by: sin(theta) dtheta/dt = ## Restrictions1) The user is responsible for determining that the states `s1' and `s2' are not so large as to cause numeric overflow. In most cases this won't present a problem. 2) An implicit assumption exists that `s1' and `s2' are specified in the same reference frame. If this is not the case, the numerical result has no meaning. ## Literature_ReferencesNone. ## Author_and_InstitutionJ. Diaz del Rio (ODC Space) W.L. Taber (JPL) E.D. Wright (JPL) ## Version-CSPICE Version 1.0.1, 26-MAY-2021 (JDR) Edited the header to comply with NAIF standard. Added complete code examples. Added entry #2 to -Restrictions section. Re-ordered header sections. -CSPICE Version 1.0.0, 07-JUL-1999 (EDW) (WLT) ## Index_EntriesCompute the derivative of a dot product |

Fri Dec 31 18:41:05 2021