Sun position
Sun position algorithm
|
Go to the documentation of this file.
105 void v3d_polar2Rect(
double alpha_rad,
double delta_rad,
V3D_Vector *R);
107 bool alphaNonNegative,
double v3d_magVSq(const V3D_Vector *srcV)
Return the square of the magnitude of the specified vector.
V3D_Matrix * v3d_multMxM(V3D_Matrix *destM, const V3D_Matrix *srcM1, const V3D_Matrix *srcM2)
Multiply 3x3 matrix by 3x3 matrix to give a new 3x3 matrix, as per [destM] = [srcM1]*[srcM2].
V3D_Vector * v3d_polarToRect(V3D_Vector *destV, double alpha_rad, double delta_rad)
Converts polar (curvilinear) coordinates to equivalent rectangular (Cartesian) coordinates.
double v3d_magV(const V3D_Vector *srcV)
Return the magnitude of the specified vector.
V3D_AxisNames
Enumeration to be used by the v3d_createRotationMatrix() function.
void v3d_rectToPolar(double *alpha_rad, double *delta_rad, const V3D_Vector *srcV)
Converts rectangular (Cartesian) coordinates to the equivalent polar (curvilinear) ones.
V3D_Vector * v3d_addToUV(V3D_Vector *modV1, const V3D_Vector *srcV2)
Modify a unit length rectangular position vector modV1 by adding a correction vector srcV2 to it and ...
V3D_Vector * v3d_multMtransxV(V3D_Vector *destV, const V3D_Matrix *srcM, const V3D_Vector *srcV)
Multiply 3x1 vector by the transpose of the 3x3 matrix to give a new 3x1 vector, as per equation [des...
V3D_Vector * v3d_crossProductV(V3D_Vector *destV, const V3D_Vector *srcV1, const V3D_Vector *srcV2)
Return the cross product of the two vectors: [destV] = [srcV1] x [srcV2].
V3D_Vector * v3d_subFromV(V3D_Vector *modV1, const V3D_Vector *srcV2)
Modify first vector by subtracting a second one: [modV1] -= [srcV2].
V3D_Vector * v3d_addToV(V3D_Vector *modV1, const V3D_Vector *srcV2)
Modify first vector by adding a second one: [modV1] += [srcV2].
V3D_Vector * v3d_subtractV(V3D_Vector *destV, const V3D_Vector *srcV1, const V3D_Vector *srcV2)
Vector subtraction: [destV] = [srcV1] - [srcV2].
double v3d_dotProductV(const V3D_Vector *srcV1, const V3D_Vector *srcV2)
Return the dot product of the two vectors: res = [srcV1] ยท [srcV2] or res = ||srcV1|| * ||srcV2|| * c...
V3D_Vector * v3d_addV(V3D_Vector *destV, const V3D_Vector *srcV1, const V3D_Vector *srcV2)
Add two vectors: [destV] = [srcV1] + [srcV2].
V3D_Matrix * v3d_createRotationMatrix(V3D_Matrix *destM, V3D_AxisNames axis, double angle_rad)
Creates a matrix to rotate a coordinate system about an axis.
V3D_Vector * v3d_addToUVfast(V3D_Vector *modV1, const V3D_Vector *srcV2)
Modify a unit length rectangular position vector modV1 by adding a small correction vector srcV2 to i...
V3D_Vector * v3d_multMxV(V3D_Vector *destV, const V3D_Matrix *srcM, const V3D_Vector *srcV)
Multiply 3x3 matrix by 3x1 vector to give a new 3x1 vector, as per equation [destV] = [srcM] * [srcV]...