An object s of type Sphere_segment is a segment in the surface of a unit sphere that is part of a great circle trough the origin. Sphere segments are represented by two sphere points and plus an oriented plane that contains and . The plane determines the sphere segment as follows. Let be the circle in the intersection of and . Then is that part of that is swept, when we rotate into in counterclockwise rotation around the normal vector of as seen from the positive halfspace.
| |||
creates some sphere segment.
| |||
| |||
creates a spherical segment spanning
the shorter arc from p1 to p2 if shorter_arc == true. Otherwise the longer arc is created. Precondition: p1 != p2 and p1 != p2.opposite().
| |||
| |||
creates a spherical segment spanning the
arc from p1 to p2 as part of the oriented circle c
(p1 == p2 or p1 == p2.opposite() are possible.) Precondition: p1 and p2 are contained in c.
| |||
| |||
creates the spherical segment as part of c1 that is part
of the halfsphere left of the oriented circle c2. Precondition: c1 != c2 as unoriented circles.
|
|
| the source point of s. |
|
| the target point of s. |
|
| the great circle supporting s. |
|
| returns the sperical segment oriented from target() to source() with the same point set as s. |
|
| returns the sperical segment oriented from target() to source() with the point set completing s to a full circle. |
|
| a segment is short iff it is shorter than a half-circle. |
|
| a segment is long iff it is longer than a half-circle. |
|
|
return true iff s is
degenerate, i.e. source and target are the same. |
|
| return true iff s is a perfect half-circle, i.e. source().antipode == target(). |
|
| |
return true iff s contains p. | ||
|
| |
return true iff s contains p in its relative interior. |