Длина дуги эллипса через эксцентриситет. Пояснения

Попросили дать пояснения к статье «Нахождение длины дуги эллипса«, в частности к «Длина дуги через эксцентриситет» и «Длина дуги через эксцентриситет с подготовкой«.

Длина дуги это сумма длин хорд

Предположим, у нас есть эллипс с центром в точке (0,0). Задан некими полуосями a и b. Есть точка A на эллипсе, которая находится на пересечении линии, проведённой из центра координат под углом 45°. Есть точка B, которая отстоит от точки A на 90° по часовой стрелке. Угол в точке B, таким образом, равен -45°.

Рис.1. Просто пример

Теперь от точки А отложим 30° по часовой стрелке, поставим точку С, и от точки С ещё 30°, и поставим точку D. Посчитаем суммарную длину хорд A-C, C-D и D-B. В результате получим длину ломаной, вписанной в дугу. Пока это, конечно, не длина дуги.

Рис.2. Вписанная в дугу ломаная с интервалом 30°

Тридцать градусов в нашем случае, это интервал, задающий величину отклонения для нахождения следующей точки. Если мы будем уменьшать этот интервал, точек будет становиться больше, а расстояние между ними будет всё меньше.

Рис.3. Уменьшение интервала, приближение к идеальной дуге

В конечном счёте интервал станет настолько малым, что результат нас вполне может удовлетворить. Величина интервала зависит от точности результата, который хотим получить.

Очевидно, что длина дуги эллипса — это сумма хорд между точками дуги. И чем короче хорды, тем результат точнее.

Длиной некоторой дуги называется тот предел, к которому стремится длина вписанной ломаной, когда длина наибольшего ее звена стремится к нулю:

Latex formula

(1) Предел суммы хорд при максимальной длине хорды, стремящейся к нулю

Длина хорды через координаты

Длина хорды — это расстояние между двумя точками. Предположим, что у нас есть на дуге две точки P1(x1;y1) и P2(x2;y2). Тогда длина хорды будет вычисляться как декартово расстояние:

(2) Длина хорды через координаты точек дуги

Очевидно, что на дуге у нас несколько таких точек. А при очень малом интервале угла между ними, этих точек очень много. Запишем те же самые точки в ином варианте: Pi-1(xi-1;yi-1) и Pi(xi;yi). Тогда для формулы (1), опираясь на (2), мы можем выразить длину i-го звена ломаной:

Latex formula

(3) Длина i-го звена (хорды) вписанной ломаной

Координаты для расчёта длин хорд

Координаты точки эллипса описываются параметрическим уравнением:

(4) Параметрическое уравнение эллипса

Только в случае окружности (то есть при a=b) параметр t является углом между положительным направлением оси абсцисс и радиус-вектором данной точки.

На самом деле t — это всегда угол окружности, которой эллипс был до «сплющивания». Начало и конец дуги задаются углами. В нашем случае A: 45° и B: -45°. Если углы не меняются, то при изменении, например, оси b, параметрический угол t на «исходной» окружности, также меняется. Исходная окружность, это эллипс, у которого полуоси равны.

Рис.4. Изменение параметрического угла от неизменного эллиптического

Таким образом, перед тем, как что-то считать, нам необходимо получить параметрический угол t1, соответствующий углу в точке А, и угол t2 — в точке B.

Как находить параметр для угла эллипса, подробно расписано в этой статье.

Latex formula

Latex formula

Нахождение параметрического угла для точки, полученной пересечением луча, проходящего через центр эллипса под неким углом к оси абсцисс.

Интегральная сумма

Итак, мы выяснили, что длина дуги эллипса — это сумма звеньев (хорд) вписанной ломаной. Учитывая (3) это утверждение можно записать следующим образом:

Latex formula

(5) Длина дуги эллипса в интервале [A,B] = [0,n]

Нам нужно определить приращения для x и y. Используя параметрическое уравнение эллипса(4) и интернет всемогущий, определяем, что приращения у нас следующие:

Latex formula

Latex formula

(6) Приращения для x и y при постоянном dt

Значения x и y рассчитываются исключительно на основе параметра t, и к этому моменту мы уже забыли углы A и B, потому что у нас уже есть соответствующие им параметрические углы t1 и t2 .

С учётом (6) запишем формулу (5) в ином виде:

Latex formula

Latex formula

(7) Интегральная сумма для нахождения длины дуги эллипса

Что тут происходит. Интеграл — это сумма результатов подинтегральной функции, аргумент которой изменяется от t1 до t2 на ничтожно малую постоянную величину dt.

Длина дуги эллипса через эксцентриситет

В ряде интересных параметров для эллипса есть такая числовая характеристика, показывающая степень отклонения эллипса от окружности, как эксцентриситет.

Latex formula

(8) Эксцентриситет эллипса через полуоси

Выразим b2:

Latex formula

Подставим в формулу (7):

Latex formula

Помним основное тригонометрическое тождество:

Latex formula

Получаем:

Latex formula

Latex formula

Убираем, сокращаем и получаем:

Latex formula

Выносим постоянную a и из-под корня, и из-под интеграла:

Latex formula

Пояснения

Почему начали с суммы звеньев ломаной вписанной в искомую дугу эллипса, а считаем какие-то другие параметрические углы?

Для того, чтобы посчитать координаты ломаной нам всё равно нужно находить параметр для каждого угла. Также, для интегральной суммы нам нужно постоянное приращение аргумента. Если посмотреть на рис.4., то можем увидеть, что приращения параметра постоянны, а на дуге эллипса такого не наблюдаем.

Так как считать-то?

Вначале находим квадрат эксцентриситета:

Latex formula

Затем находим параметры t1 и t2 для углов начала (A) и конца (B) дуги:

Latex formula

Latex formula

Решаем, какой взять dt. Практика показывает, что 0.001 и быстр и достаточно точен.

После этого встаём на t1, аргумент t сейчас равен ему, и в цикле увеличиваем t на dt, считая нарастающую сумму:

Latex formula

Когда достигаем t2, считаем и останавливаемся. Полученный результат домножаем на a.

Всё.

5 9 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

4 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Игорь

Какое значение B нужно подставить в выражение t2=arctan(a/b*tan(B)), чтобы получить t2=315 градусов? B-это угол ведь?

Игорь

Знаете формулу S=пи*а*в-в/а(x*корень а^2-x^2 -a^2*arcsin x/a)

4
0
Не нашли ответ на свой вопрос? Задайте его здесь!...x