FACT++
1.0
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
c2s.c
Go to the documentation of this file.
1
#include "
erfa.h
"
2
3
void
eraC2s
(
double
p[3],
double
*theta,
double
*phi)
4
/*
5
** - - - - - - -
6
** e r a C 2 s
7
** - - - - - - -
8
**
9
** P-vector to spherical coordinates.
10
**
11
** Given:
12
** p double[3] p-vector
13
**
14
** Returned:
15
** theta double longitude angle (radians)
16
** phi double latitude angle (radians)
17
**
18
** Notes:
19
**
20
** 1) The vector p can have any magnitude; only its direction is used.
21
**
22
** 2) If p is null, zero theta and phi are returned.
23
**
24
** 3) At either pole, zero theta is returned.
25
**
26
** Copyright (C) 2013-2015, NumFOCUS Foundation.
27
** Derived, with permission, from the SOFA library. See notes at end of file.
28
*/
29
{
30
double
x, y, z, d2;
31
32
x = p[0];
33
y = p[1];
34
z = p[2];
35
d2 = x*x + y*y;
36
37
*theta = (d2 == 0.0) ? 0.0 : atan2(y, x);
38
*phi = (z == 0.0) ? 0.0 : atan2(z, sqrt(d2));
39
40
return
;
41
42
}
43
/*----------------------------------------------------------------------
44
**
45
**
46
** Copyright (C) 2013-2015, NumFOCUS Foundation.
47
** All rights reserved.
48
**
49
** This library is derived, with permission, from the International
50
** Astronomical Union's "Standards of Fundamental Astronomy" library,
51
** available from http://www.iausofa.org.
52
**
53
** The ERFA version is intended to retain identical functionality to
54
** the SOFA library, but made distinct through different function and
55
** file names, as set out in the SOFA license conditions. The SOFA
56
** original has a role as a reference standard for the IAU and IERS,
57
** and consequently redistribution is permitted only in its unaltered
58
** state. The ERFA version is not subject to this restriction and
59
** therefore can be included in distributions which do not support the
60
** concept of "read only" software.
61
**
62
** Although the intent is to replicate the SOFA API (other than
63
** replacement of prefix names) and results (with the exception of
64
** bugs; any that are discovered will be fixed), SOFA is not
65
** responsible for any errors found in this version of the library.
66
**
67
** If you wish to acknowledge the SOFA heritage, please acknowledge
68
** that you are using a library derived from SOFA, rather than SOFA
69
** itself.
70
**
71
**
72
** TERMS AND CONDITIONS
73
**
74
** Redistribution and use in source and binary forms, with or without
75
** modification, are permitted provided that the following conditions
76
** are met:
77
**
78
** 1 Redistributions of source code must retain the above copyright
79
** notice, this list of conditions and the following disclaimer.
80
**
81
** 2 Redistributions in binary form must reproduce the above copyright
82
** notice, this list of conditions and the following disclaimer in
83
** the documentation and/or other materials provided with the
84
** distribution.
85
**
86
** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
87
** the International Astronomical Union nor the names of its
88
** contributors may be used to endorse or promote products derived
89
** from this software without specific prior written permission.
90
**
91
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
92
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
93
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
94
** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
95
** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
96
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
97
** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
98
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
99
** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
100
** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
101
** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
102
** POSSIBILITY OF SUCH DAMAGE.
103
**
104
*/
eraC2s
void eraC2s(double p[3], double *theta, double *phi)
Definition:
c2s.c:3
erfa.h
erfa
src
c2s.c
Generated on Sun Sep 18 2016 20:50:18 for FACT++ by
1.8.11