]> Circumcenter of three points on a sphere

Circumcenter of three points on a sphere

Given points , , and on the unit sphere, where is the circumcenter of those points—the point that is equidistant from , , and as measured, not in 3D space, but on the unit sphere?

The initial system of equations is:

sad = sbd = scd

|| = 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

|| = 1

In measuring physical angles, θad ∈ [0, π], so θad = θbd ↔ cos(θad) = cos(θbd):

cos(θad) = cos(θbd) = cos(θcd)

|| = 1

By the definition of the dot product, = ||||cos(θad), and these points are on the unit sphere, so || = || = 1:

= =

|| = 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:

xdxaxdxb = ydybydya + zdzbzdza

xd(xaxb) = yd(ybya) + zd(zbza)

xd = ydybyaxaxb + zdzbzaxaxb (equation 4)

Solve equation 2 for xd:

xdxaxdxc = ydycydya + zdzczdza

xd(xaxc) = yd(ycya) + zd(zcza)

xd = ydycyaxaxc + zdzczaxaxc (equation 5)

Substitute xd from equation 4 into equation 5 and solve for yd:

ydybyaxaxb + zdzbzaxaxb = ydycyaxaxc + zdzczaxaxc

ydybyaxaxbydycyaxaxc = zdzczaxaxczdzbzaxaxb

yd(ybyaxaxbycyaxaxc) = zd(zczaxaxczbzaxaxb)

yd((ybya)(xaxc) − (ycya)(xaxb)) = zd((zcza)(xaxb) − (zbza)(xaxc))

yd = zd(zcza)(xaxb) − (zbza)(xaxc)(ybya)(xaxc) − (ycya)(xaxb) (equation 6)

Substitute xd from equation 4 into equation 3:

(ydybyaxaxb + zdzbzaxaxb)2 + yd2 + zd2 = 1

yd2 + yd2(ybyaxaxb)2 + ydzd2(ybya)(zbza)(xaxb)2 + zd2 + zd2(zbzaxaxb)2 = 1

yd2(1 + (ybyaxaxb)2) + ydzd2(ybya)(zbza)(xaxb)2 + zd2(1 + (zbzaxaxb)2) = 1

yd2((xaxb)2 + (ybya)2) + 2ydzd(ybya)(zbza) + zd2((xaxb)2 + (zbza)2) = (xaxb)2 (equation 7)

Substitute yd from equation 6 into equation 7 and solve for zd:

zd2((xaxb)2 + (ybya)2)((zcza)(xaxb) − (zbza)(xaxc)(ybya)(xaxc) − (ycya)(xaxb))2 + 2zd2(ybya)(zbza)(zcza)(xaxb) − (zbza)(xaxc)(ybya)(xaxc) − (ycya)(xaxb) + zd2((xaxb)2 + (zbza)2) = (xaxb)2

zd2(((xaxb)2 + (ybya)2)((zcza)(xaxb) − (zbza)(xaxc)(ybya)(xaxc) − (ycya)(xaxb))2 + 2(ybya)(zbza)(zcza)(xaxb) − (zbza)(xaxc)(ybya)(xaxc) − (ycya)(xaxb) + ((xaxb)2 + (zbza)2)) = (xaxb)2

zd2(((xaxb)2 + (ybya)2)((zcza)(xaxb) − (zbza)(xaxc))2 + 2(ybya)(zbza)((zcza)(xaxb) − (zbza)(xaxc))((ybya)(xaxc) − (ycya)(xaxb)) + ((xaxb)2 + (zbza)2)((ybya)(xaxc) − (ycya)(xaxb))2) = (xaxb)2((ybya)(xaxc) − (ycya)(xaxb))2

zd2 = (xaxb)2((ybya)(xaxc) − (ycya)(xaxb))2((xaxb)2 + (ybya)2)((zcza)(xaxb) − (zbza)(xaxc))2 + 2(ybya)(zbza)((zcza)(xaxb) − (zbza)(xaxc))((ybya)(xaxc) − (ycya)(xaxb)) + ((xaxb)2 + (zbza)2)((ybya)(xaxc) − (ycya)(xaxb))2

zd = ±(xaxb)((ybya)(xaxc) − (ycya)(xaxb))√(((xaxb)2 + (ybya)2)((zcza)(xaxb) − (zbza)(xaxc))2 + 2(ybya)(zbza)((zcza)(xaxb) − (zbza)(xaxc))((ybya)(xaxc) − (ycya)(xaxb)) + ((xaxb)2 + (zbza)2)((ybya)(xaxc) − (ycya)(xaxb))2) (equation 8)

(I won't bother to try simplifying equation 8.) Use equations 8, 6, and 4 (in that order) to find . Note that there are two mutually-antipodal solutions.