examples/example-CircularEngine.cpp
Go to the documentation of this file.
1 // Example of using the GeographicLib::CircularEngine class
2 
3 #include <iostream>
4 #include <exception>
5 #include <vector>
8 
9 using namespace std;
10 using namespace GeographicLib;
11 
12 int main() {
13  // This computes the same value as example-SphericalHarmonic.cpp using a
14  // CircularEngine (which will be faster if many values on a circle of
15  // latitude are to be found).
16  try {
17  int N = 3; // The maxium degree
18  double ca[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; // cosine coefficients
19  vector<double> C(ca, ca + (N + 1) * (N + 2) / 2);
20  double sa[] = {6, 5, 4, 3, 2, 1}; // sine coefficients
21  vector<double> S(sa, sa + N * (N + 1) / 2);
22  double a = 1;
23  SphericalHarmonic h(C, S, N, a);
24  double x = 2, y = 3, z = 1, p = Math::hypot(x, y);
25  CircularEngine circ = h.Circle(p, z, true);
26  double v, vx, vy, vz;
27  v = circ(x/p, y/p, vx, vy, vz);
28  cout << v << " " << vx << " " << vy << " " << vz << "\n";
29  }
30  catch (const exception& e) {
31  cerr << "Caught exception: " << e.what() << "\n";
32  return 1;
33  }
34 }
e
Array< double, 1, 3 > e(1./3., 0.5, 2.)
GeographicLib
Namespace for GeographicLib.
Definition: JacobiConformal.hpp:15
x
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Definition: gnuplot_common_settings.hh:12
CircularEngine.hpp
Header for GeographicLib::CircularEngine class.
h
const double h
Definition: testSimpleHelicopter.cpp:19
vy
StridedVectorType vy(make_vector(y, *n, std::abs(*incy)))
GeographicLib::CircularEngine
Spherical harmonic sums for a circle.
Definition: CircularEngine.hpp:52
GeographicLib::SphericalHarmonic
Spherical harmonic series.
Definition: SphericalHarmonic.hpp:69
pybind_wrapper_test_script.z
z
Definition: pybind_wrapper_test_script.py:61
y
Scalar * y
Definition: level1_cplx_impl.h:124
a
ArrayXXi a
Definition: Array_initializer_list_23_cxx11.cpp:1
C
Matrix< Scalar, Dynamic, Dynamic > C
Definition: bench_gemm.cpp:50
std
Definition: BFloat16.h:88
p
float * p
Definition: Tutorial_Map_using.cpp:9
v
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
main
int main()
Definition: examples/example-CircularEngine.cpp:12
N
#define N
Definition: igam.h:9
S
DiscreteKey S(1, 2)
SphericalHarmonic.hpp
Header for GeographicLib::SphericalHarmonic class.
vx
StridedVectorType vx(make_vector(x, *n, std::abs(*incx)))


gtsam
Author(s):
autogenerated on Mon Jul 1 2024 03:01:15