May 16th, 2018: Interpolation, Integration, and Coordinate Transformations


We are still looking for 2 more volunteers to help run the club as a couple of the current volunteers are stepping down at the end of this year. If you are interested also please contact Lloyd.

Time and Location

May 16th, 2018 at 7:00 PM
Room 1083, Building 30, Map to building 30,
***** Note, this is our *new* normal meeting room! *****
Microsoft Campus,
156th Ave NE,
Redmond, WA 98052.


Interpolation, Integration, and Coordinate Transformations: Continuous Functions Versus Discrete Samples


In October 2017 I spoke to NWCPP about "Coordinate Transformations in Three Dimensions." Due to a big storm and unavailability of the intended meeting room, very few people were there. Also my preparation was incomplete. So I agreed to try again.

This time, I will start from an even more fundamental computational problem: Data come into the computer as a finite set of discrete numbers, even when the underlying phenomena are continuous. How should one estimate continuous phenomena based on discrete data? That’s interpolation. The answer depends on several factors:

  1. What are the independent variables, or domain? Examples include time (1 dimension), position (3), orientation (3), or mix of foods (many).
  2. What are the dependent variables, or range? Examples include pressure (1), position (3), orientation (3), or disease probabilities (many). Dependent variables for one process (e.g. orientation vs. time in a motion model) can be independent variables for another (e.g. sensitivity vs orientation in a sensor model).
  3. How will the continuous model be used? Does the application require a different set of discrete independent values that lie between the given ones? (Example: simulated sound samples as received from a moving platform.) Or do you need to integrate some function of the dependent variables over the independent ones? (Example: sensor response to sound coming from all directions.)
  4. How many discrete input values do we need to compute each output value? That’s the "order" (plus 1). I will demonstrate some consequences for getting this wrong.
  5. Can it help to transform the range and/or the domain? For example, if Y(X) resembles a power law (Y equals X raised to some power), then a graph of log(Y) versus log(X) is close to a straight line, for which linear interpolation (order=1) would suffice, even for a sparse sample set.

Transformations return us to October’s subject: 3-D coordinate transformations. There are at least four equivalent representations of a rotation: Three angles (traditionally heading, pitch, and roll), a 3-by-3 unitary matrix (9 values), a unit quaternion (4 values), and a rotation vector (3 values). All four representations are useful, but only one is suitable for interpolation versus time.

Speaker Bio

Robert Goddard Principal Physicist, Retired (but still active) University of Washington, Seattle

Robert Goddard is a physicist and software developer. He retired (sort of) in 2017 after 37 years at the UW Applied Physics Laboratory, working mainly on computer modeling of underwater sound. He is still the architect and team leader for the Sonar Simulation Toolset (SST), which produces simulated underwater sound, suitable as input to sophisticated signal processing systems (including human ears and brains), based on user-specified descriptions of the undersea environment, the listening system, and the sound sources and reflectors placed in this simulated ocean. He has also developed systems for data acquisition and analysis, visualization, modeling of quantum mechanical scattering, and using data to infer model parameters.

Bob has been an active participant in the Northwest C++ Users Group for most of its existence, and is currently Treasurer. (Wouldn’t YOU like to be Treasurer? We are looking for my replacement.)

A Word From Our Sponsor

CyberData Corporation was founded by Lloyd Moore in 1996. CyberData specializes in providing custom software and hardware solutions for robotics, machine vision, embedded systems and industrial automation applications. Our mission is to create high quality, innovative technology for the global marketplace.

CyberData also conducts internal research into the areas of robotics, machine vision and artificial intelligence. Specific technologies are then either licensed, sold as products or released as open source, depending on the specific nature and goals of the project. Technological developments are also provided directly to our clients through our consulting services.


Video | Slides