40 double a2 = 2.0 *
PI - a1;
69 double sha2 = (x * (z -
y) + y);
73 }
else if (sha2 >= 1.0) {
82 double c = v1.
dot(v2);
83 if (s == 0.0 && c == 0.0) {
static NormalizedAngle center(NormalizedAngle const &a, NormalizedAngle const &b)
For two normalized angles a and b, center(a, b) returns the angle m such that a.getAngleTo(m) is equa...
NormalizedAngle is an angle that lies in the range [0, 2π), with one exception - a NormalizedAngle ca...
double asRadians() const
asRadians returns the value of this angle in units of radians.
NormalizedAngle()
This constructor creates a NormalizedAngle with a value of zero.
Vector3d is a vector in ℝ³ with components stored in double precision.
double sin(Angle const &a)
NormalizedAngle getLon() const
double cos(Angle const &a)
This file declares a class for representing vectors in ℝ³.
A base class for image defects.
static NormalizedAngle between(NormalizedAngle const &a, NormalizedAngle const &b)
For two angles a and b, between(a, b) returns the smaller of a.getAngleTo(b) and b.getAngleTo(a).
LonLat represents a spherical coordinate (longitude/latitude angle) pair.
Vector3d cross(Vector3d const &v) const
cross returns the cross product of this vector and v.
This file contains a class representing spherical coordinates.
double dot(Vector3d const &v) const
dot returns the inner product of this vector and v.
This file declares a class for representing normalized angles.
double getNorm() const
getNorm returns the L2 norm of this vector.