@akaChewy
Есть пруток, который обещает быть круглого сечения, но на самом деле сечение этого прута ближе к эллипсу, к тому же ещё и гуляет по всей длине.
Я могу взять 3 прибора для измерения диаметра, расположить их друг относительно друга со смещением 120 градусов (интуиция подсказывает, что этого будет достаточно) и в реальном времени снимать показания.
Имея эти данные я хотел бы вычислять площадь эллипса и вносить поправочный коэффициент. А так же хотелось бы знать максимальный диаметр/радиус эллипса, чтоб предупреждать о возможности застревания прутка.
Собственно вопрос:
Нужно найти площадь эллипса, минимальный и максимальный радиус.
Зная r1, r2 и r3 и угол между ними.
Решения вопроса 0
Ответы на вопрос 2
@wataru
S = Pi*sqrt([ (L1+L2+L3)^2-2*(L1^2+L2^2+L3^2) ]/3)
r^2,R^2 = [ L1+L2+L3±sqrt(6*(L1^2+L2^2+L3^2)-2*(L1+L2+L3)^2) ]/3
тут L1, L2, L3 — квадраты трех измерений.
Вывод формул:
Чуть-чуть аналитической геометрии и куча элементарной алгебры помогут вам вывести эти уравнения.
Если ввести систему координат с осями по главным радиусам эллипса, то уравнение эллипса будет:x^2/a^2+y^2/b^2 = 1
При этом все точки на эллипсе можно задать через угол радиуса к точке:
x(alpha) = a*cos(alpha)
y(alpha) = b*sin(alpha)
Эта формула совсем понятна, если представить, что эллипс — это единичная окружность, растянутая вдоль осей на коэффицинты a и b.
Обозначим синус и косинус угла для первого измерения как:s = sin(a1), c = cos(a1)
Пусть квадраты расстояний — L1, L2, L3.
Отсюда можно составить уравнение для длины вдоль угла a1 (первое измерение), просто подставив известные x(a1) и y(a1).L1 = a^2c^2+b^2s^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 уравнения:
L2 = a^2(-1/2*c-sqrt(3)/2*s)^2+b^2(sqrt(3)/2*c-1/2*s)^2
L3 = a^2(-1/2*c+sqrt(3)/2*s)^2+b^2(-sqrt(3)/2*c-1/2*s)^2
Всего с учетом тригонометрического тождества s^2+c^2=1
у нас 4 уравнения на 4 неизвестных a, b, c, s.
Но нам не нужны все значения. Площадь эллипса Pi*a*b, а радиусы эллипса — a и b.
Раскрыв квадраты выше и всячески складывая эти уравнения можно получить в итоге
a^2+b^2 = 2/3*(L1+L2+L3)
a^2*b^2 = [ (L1+L2+L3)^2-2*(L1^2+L2^2+L3^2) ]/3
Отсюда площадь:
S = Pi*ab = Pi*sqrt([ (L1+L2+L3)^2-2*(L1^2+L2^2+L3^2 ]/3)
Если представить, что дан круг (L1=L2=L3), то формула вырождается в Pi*L1, что и должно быть (помним, что L1 — квадрат радиусов).
Чтобы найти радиусы эллипса, вам надо найти a и b. Выше уже даны два уравнения для суммы и произведения a^2 и b^2 — можно из них получить квадратное уравнение для t=a^2. Два его решения и будут вашими радиусами эллипса (не забудьте взять корни). тут надо аккуратно подставить выражения в школьные формулы для квадратного уравнения. Получается, что
r^2,R^2 = (L1+L2+L3±sqrt(6*(L1^2+L2^2+L3^2)-2*(L1+L2+L3)^2)) / 3
Опять же, подставляя равные L, оба радиуса будут L1 — что и надо.
@Lynn
Подставляйте известные точки и получите коэффициенты