I am a Computer Science undergraduate who does a lot of other tinkering in his free time. Right now, I'm tinkering with n-spheres. Specifically, I'm looking at the distances between a collection of points on n-sphere surfaces. Euclidean distances are trivial (but in this particular application still interesting). I would like to look at "great-circle" distances between points on an n-sphere, but unfortunately I am not familiar with Riemannian Geometry or anything of the sort.

How can one go about calculating the distance between two points on an n-sphere? Can you make this digestible for an undergraduate student who is unfamiliar with the literature?