Implementation and Analysis of Arc Length on Spherical Surfaces
To compute the length of an arc on a spherical surface,
we first must have a way to define the arc’s endpoints. For this,
arclen accepts the two points
p1
and p2
. Each
endpoint is an SPoint
structure. This
structure consists of three members, rho
,
theta
, and phi
,
which are the spherical coordinates for a point expressed in radian
measure.
The arclen operation (see Example 17.4) begins by converting
spherical coordinates into rectilinear coordinates using the equations
presented earlier. Recall that this allows us to calculate the angle
between the lines extending from the center of the sphere to either
point on its surface. Next, we simply multiply this angle by the
radius of the sphere to obtain the length of the arc from
p1
to p2
.
The runtime complexity of arclen is O (1) because all of the steps in computing the length of an arc on a spherical surface run in a constant amount of time.
/***************************************************************************** * * * ------------------------------- arclen.c ------------------------------- * * * *****************************************************************************/ #include <math.h> #include "geometry.h" /***************************************************************************** * * * -------------------------------- arclen -------------------------------- * * * *****************************************************************************/ ...
Get Mastering Algorithms with C now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.