Journal article:

    Samuel R. Buss and Jay Fillmore.
    "Spherical Averages and Applications to Spherical Splines and Interpolation."
    ACM Transactions on Graphics 20 (2001) 95-126.

    Download article: postscript or PDF

    Abstract: This paper introduces a method for computing weighted averages on spheres based on least squares minimization that respects spherical distance. We prove existence and uniqueness properties of the weighted averages, and give fast iterative algorithms with linear and quadratic convergence rates. Our methods are appropriate to problems involving averages of spherical data in meteorological, geophysical and astronomical applications. One simple application is a method for smooth averaging of quaternions, which generalizes Shoemake's spherical linear interpolation. The weighted averages methods allow a novel method of defining B\'ezier and spline curves on spheres, which provides direct generalization of B\'ezier and B-spline curves to spherical spline curves. We present a fast algorithm for spline interpolation on spheres. Our spherical splines allow the use of arbitrary knot positions; potential applications of spherical splines include smooth quaternion curves for applications in graphics, animation, robotics and motion planning.

Software : C++ source code for Algorithms A1, A2, S1, S2

    Abstract: The software is available in C++ format.  It includes the following files: SphereMean.h, Spheremean.cpp, SphereTriDiag.h, SphereTriDiag.cpp.  The SphereMean files include the Algorithms A1 and A2 for computing the spherical mean (weighted average) of a set of unit vectors.  The SphereTriDiag are the internal routines for calculating interpolating B-spline style curves using sphere means.  The high level code that uses the SphereTriDiag is not provided at this time.
    In addition to these four routines, you MUST download the supporting mathematics source code.  These are included in the VrMath project of my RayTrace software package.  You should download that software package and then keep only the VrMath subproject for use with the SphereMean and SphereTriDiag.

    Download options:

  1. - Four source files (for PCs).
  2. SphereMeanCode.tar.gz - Same four source files, tarred and gzipped (for Unix).
  3. RayTrace software page - Download version 2.0, or later, of the RayTrace source code. REQUIRED!

Related talks:

    Samuel R. Buss
    "Spherical Averages and Applications to Spherical Splines and Interpolation."
    Pixel Cafe, UCSD, December 2002.

    Download talk slides: postscript or PDF.

Back to Sam Buss's publications page.