Circumcenter of three points on a sphere
Given points aˆ, bˆ, and cˆ on the unit sphere, where is the circumcenter dˆ of those points—the point that is equidistant from aˆ, bˆ, and cˆ as measured, not in 3D space, but on the unit sphere?
The initial system of equations is:
sad = sbd = scd
|dˆ| = 1
The length of the great-circle arc measured on the unit sphere, s, is the same as the angle θ measured (in radians) from the origin:
θad = θbd = θcd
|dˆ| = 1
In measuring physical angles, θad ∈ [0, π], so θad = θbd ↔ cos(θad) = cos(θbd):
cos(θad) = cos(θbd) = cos(θcd)
|dˆ| = 1
By the definition of the dot product, dˆ ⋅ aˆ = |dˆ||aˆ|cos(θad), and these points are on the unit sphere, so |aˆ| = |dˆ| = 1:
dˆ ⋅ aˆ = dˆ ⋅ bˆ = dˆ ⋅ cˆ
|dˆ| = 1
Convert from vectors to 3D coordinates:
xdxa + ydya + zdza = xdxb + ydyb + zdzb (equation 1)
xdxa + ydya + zdza = xdxc + ydyc + zdzc (equation 2)
xd2 + yd2 + zd2 = 1 (equation 3)
Solve equation 1 for xd:
xdxa − xdxb = ydyb − ydya + zdzb − zdza
xd(xa − xb) = yd(yb − ya) + zd(zb − za)
xd = ydyb − yaxa − xb + zdzb − zaxa − xb (equation 4)
Solve equation 2 for xd:
xdxa − xdxc = ydyc − ydya + zdzc − zdza
xd(xa − xc) = yd(yc − ya) + zd(zc − za)
xd = ydyc − yaxa − xc + zdzc − zaxa − xc (equation 5)
Substitute xd from equation 4 into equation 5 and solve for yd:
ydyb − yaxa − xb + zdzb − zaxa − xb = ydyc − yaxa − xc + zdzc − zaxa − xc
ydyb − yaxa − xb − ydyc − yaxa − xc = zdzc − zaxa − xc − zdzb − zaxa − xb
yd(yb − yaxa − xb − yc − yaxa − xc) = zd(zc − zaxa − xc − zb − zaxa − xb)
yd((yb − ya)(xa − xc) − (yc − ya)(xa − xb)) = zd((zc − za)(xa − xb) − (zb − za)(xa − xc))
yd = zd(zc − za)(xa − xb) − (zb − za)(xa − xc)(yb − ya)(xa − xc) − (yc − ya)(xa − xb) (equation 6)
Substitute xd from equation 4 into equation 3:
(ydyb − yaxa − xb + zdzb − zaxa − xb)2 + yd2 + zd2 = 1
yd2 + yd2(yb − yaxa − xb)2 + ydzd2(yb − ya)(zb − za)(xa − xb)2 + zd2 + zd2(zb − zaxa − xb)2 = 1
yd2(1 + (yb − yaxa − xb)2) + ydzd2(yb − ya)(zb − za)(xa − xb)2 + zd2(1 + (zb − zaxa − xb)2) = 1
yd2((xa − xb)2 + (yb − ya)2) + 2ydzd(yb − ya)(zb − za) + zd2((xa − xb)2 + (zb − za)2) = (xa − xb)2 (equation 7)
Substitute yd from equation 6 into equation 7 and solve for zd:
zd2((xa − xb)2 + (yb − ya)2)((zc − za)(xa − xb) − (zb − za)(xa − xc)(yb − ya)(xa − xc) − (yc − ya)(xa − xb))2 + 2zd2(yb − ya)(zb − za)(zc − za)(xa − xb) − (zb − za)(xa − xc)(yb − ya)(xa − xc) − (yc − ya)(xa − xb) + zd2((xa − xb)2 + (zb − za)2) = (xa − xb)2
zd2(((xa − xb)2 + (yb − ya)2)((zc − za)(xa − xb) − (zb − za)(xa − xc)(yb − ya)(xa − xc) − (yc − ya)(xa − xb))2 + 2(yb − ya)(zb − za)(zc − za)(xa − xb) − (zb − za)(xa − xc)(yb − ya)(xa − xc) − (yc − ya)(xa − xb) + ((xa − xb)2 + (zb − za)2)) = (xa − xb)2
zd2(((xa − xb)2 + (yb − ya)2)((zc − za)(xa − xb) − (zb − za)(xa − xc))2 + 2(yb − ya)(zb − za)((zc − za)(xa − xb) − (zb − za)(xa − xc))((yb − ya)(xa − xc) − (yc − ya)(xa − xb)) + ((xa − xb)2 + (zb − za)2)((yb − ya)(xa − xc) − (yc − ya)(xa − xb))2) = (xa − xb)2((yb − ya)(xa − xc) − (yc − ya)(xa − xb))2
zd2 = (xa − xb)2((yb − ya)(xa − xc) − (yc − ya)(xa − xb))2((xa − xb)2 + (yb − ya)2)((zc − za)(xa − xb) − (zb − za)(xa − xc))2 + 2(yb − ya)(zb − za)((zc − za)(xa − xb) − (zb − za)(xa − xc))((yb − ya)(xa − xc) − (yc − ya)(xa − xb)) + ((xa − xb)2 + (zb − za)2)((yb − ya)(xa − xc) − (yc − ya)(xa − xb))2
zd = ±(xa − xb)((yb − ya)(xa − xc) − (yc − ya)(xa − xb))√(((xa − xb)2 + (yb − ya)2)((zc − za)(xa − xb) − (zb − za)(xa − xc))2 + 2(yb − ya)(zb − za)((zc − za)(xa − xb) − (zb − za)(xa − xc))((yb − ya)(xa − xc) − (yc − ya)(xa − xb)) + ((xa − xb)2 + (zb − za)2)((yb − ya)(xa − xc) − (yc − ya)(xa − xb))2) (equation 8)
(I won't bother to try simplifying equation 8.) Use equations 8, 6, and 4 (in that order) to find dˆ. Note that there are two mutually-antipodal solutions.