TL;DR:
S = Pi*sqrt(3 / [ (1/L1+1/L2+1/L3)^2-2*(1/L1^2+1/L2^2+1/L3^2) ])
тут L1, L2, L3 - квадраты трех измерений.
Вывод формул:
Чуть-чуть аналитической геометрии и куча элементарной алгебры помогут вам вывести эти уравнения.
Если ввести систему координат с осями по главным радиусам эллипса, то уравнение эллипса будет:
x^2/a^2+y^2/b^2 = 1
При этом все точки под углом alpha к большой полуоси будут на луче:
x(t, alpha) = t*cos(alpha)
y(t, alpha) = t*sin(alpha)
Обозначим синус и косинус угла для первого измерения как:
s = sin(a1), c = cos(a1)
Пусть
квадраты расстояний - L1, L2, L3.
Если пересечь луч и эллипс, то можно составить уравнение для длины вдоль угла a1 (первое измерение), просто подставив известные x(a1, sqrt(L1)) и y(a1, sqrt(L1)).
1/L1 = c^2/a^2+s^2/b^2
Для остальных измерений надо прибавлять 120 градусов к углу под cos и sin. Если раскрыть
cos(120+a1) = cos(120)cos(a1)-sin(120)sin(a1)
и
sin(120+a1) = cos(120)sin(a1)+sin(120)cos(a1)
, то можно составить еще 2 уравнения:
1/L2 = (-1/2*c-sqrt(3)/2*s)^2/a^2+(sqrt(3)/2*c-1/2*s)^2/b^2
L3 = (-1/2*c+sqrt(3)/2*s)^2/a^2+(-sqrt(3)/2*c-1/2*s)^2/b^2
Всего с учетом тригонометрического тождества
s^2+c^2=1
у нас 4 уравнения на 4 неизвестных a, b, c, s.
Но нам не нужны все значения. Площадь эллипса Pi*a*b, а радиусы эллипса - a и b.
Раскрыв квадраты выше и всячески складывая эти уравнения можно получить в итоге
1/a^2+1/b^2 = 2/3*(1/L1+1/L2+1/L3)
1/a^2*b^2 = [ (1/L1+1/L2+1/L3)^2-2*(1/L1^2+1/L2^2+1/L3^2) ]/3
Отсюда площадь:
S = Pi*ab = Pi*sqrt([ (L1+L2+L3)^2-2*(L1^2+L2^2+L3^2 ]/3)
Чтобы найти радиусы эллипса, вам надо найти a и b. Выше уже даны два уравнения для суммы и произведения 1/a^2 и 1/b^2 - можно из них получить квадратное уравнение для t=1/a^2. Два его решения и будут вашими радиусами эллипса (не забудьте взять корни и обратить). Тут надо аккуратно подставить выражения в школьные формулы для квадратного уравнения.