Как определить длину дуги эллипса?

Я хочу определить длину дуги из эллипса на картинке ниже:

введите описание изображения здесь

Как определить длину г ?

Это кажется (по сути) дубликатом вопроса, который вы задавали ранее. Пожалуйста, помните, что вы можете отредактировать свои вопросы, чтобы добавить информацию или запросить дополнительные разъяснения - вам не нужно публиковать снова.
Вам нужно будет использовать эллиптический интеграл. См. mathworld.wolfram.com/Ellipse.html .
@ZevChonoles К сожалению, ничего не понял из предыдущего вопроса. Что я должен делать :(
@DavidMitra- неработающая ссылка

Ответы (4)

Позволять а "=" 3,05 ,   б "=" 2.23. Тогда параметрическое уравнение для эллипса имеет вид Икс "=" а потому что т ,   у "=" б грех т . Когда т "=" 0 дело в ( а , 0 ) "=" ( 3,05 , 0 ) , начальная точка дуги на эллипсе, длину которого вы ищете. Теперь важно понять, что параметр т не является центральным углом, поэтому вам нужно получить значение т что соответствует верхнему концу вашей дуги. На этом конце у вас есть у / Икс "=" загар 50 (градусы). И с точки зрения т у вас есть у / Икс "=" ( б / а ) загар т . Решение для т затем дает

т "=" т 1 "=" арктический ( а б загар 50 ) .

[примечание. Я бы предложил здесь использовать радианы, заменив 50 к 5 π / 18. ]

Для длины дуги используйте общую формулу интегрирования Икс 2 + у 2 для т в желаемом диапазоне. В твоем случае Икс "=" а грех т ,   у "=" б потому что т , так что вы интегрируете

а 2 грех 2 т + б 2 потому что 2 т
в отношении т от 0 к вышеизложенному т 1 . Поскольку для первообразной не существует простой закрытой формы (это «эллиптический интеграл»), самым простым подходом сейчас было бы численное выполнение интеграла. Это кажется более подходящим для вашей проблемы, поскольку вы знаете только а , б до двух знаков после запятой, кажется.

* Когда я сделал это численно на Maple, я получил примерно 2.531419 для длины дуги.

Плюс 1 за откровенность о превосходстве численного подхода.
Спасибо, coffeemath, но у меня проблемы с поиском t
@MohammadFakhrey Я не знаю, что еще объяснить. Если бы вы могли точно сказать, что вас смущает в моем ответе или в последнем комментарии, это могло бы помочь.
Я сделал, как вы сказали, но результат = 2,23042, а не 2,531419 ???
@MohammadFakhrey Я только что проверил это еще раз, используя точность 20 цифр для расчетов на клен, и все еще получил 2,5314195... . Учитывая, что ваш ответ настолько близок, возможно, клен столкнулся с некоторой числовой ошибкой из-за того, как по умолчанию он оценивает интегралы численно (я не использовал никаких сложных процедур, таких как Рунге Кутта). С другой стороны, какое программное обеспечение дало вам 2.23042 результат? Насколько это надежно? В любом случае нет никакой независимой проверки, кроме использования эллиптических функций.
coffeemath Пожалуйста, взгляните на эту картинку ( s13.postimg.org/co6n64oo7/0000607972816.png ) и посмотрите, верно ли мое решение.
@МохаммадФахри, т является независимым параметром, идущим от 0 до некоторого значения т 1 так что точка на эллипсе имеет координаты ( а потому что т , б грех т ) . И нет, ваше решение неверно. Угол для каждого т является арктический ( б а загар т ) . Решение, представленное coffeemath, верно на 100%.
@ ja72 как решить интеграл?
@MohammadFakhrey, численно. Гуглите числовую интеграцию и попробуйте.
@ ja72 Я хочу знать, есть ли программное обеспечение для решения этой проблемы?
Посмотрите соответствующий пост math.stackexchange.com/questions/350369/…
Вы можете использовать Wolfram Alpha
@coffeemath: решение становится отрицательным для углов больше 90 градусов. Можете ли вы помочь мне в этом?
@SathishKrishnan Это не должно становиться отрицательным, потому что выражение квадратного корня из моего ответа интегрируется сразу после «вы интегрируете». Вещь под этим корнем представляет собой сумму двух квадратов, поэтому она неотрицательна, и квадратный корень из неотрицательности снова неотрицательен.
@SatishKrishnan Если подумать, может быть, ваш вопрос в предыдущем комментарии был о том, как я позвонил т 1 в ответ отрицательный, чего, конечно, никто не хочет. В четырех квадрантах важно выбрать подходящее значение для т 1 в этом квадранте. Итак, сначала нам нужно побеспокоиться о а / б загар θ который, возможно, потребуется отрегулировать в соответствии с квадрантом, а затем использовать соответствующий выбор для т 1 поэтому он выходит в этом квадранте.
@ ja72 --> Угол для каждого t равен arctan(tan t * a/b), вы перевернули a/b.
@ГарсиадельКастильо
θ "=" загар 1 ( у Икс ) "=" загар 1 ( б грех ( т ) а потому что ( т ) ) "=" загар 1 ( б а загар ( т ) )
@Lubin Какие могут быть подходы, кроме численного?
Извините, @user56202, теоретический подход к этому не моя тема.

Вы можете вычислить это как

г "=" б Е ( загар 1 ( а / б загар ( θ ) ) | 1 ( а / б ) 2 )

используя неполный эллиптический интеграл второго рода Е ( ф | м ) . В Mathematica-Syntax (и подходит для Wolfram Alpha ) это можно записать как

2.23*EllipticE[ArcTan[3.05/2.23*Tan[50°]],1-(3.05/2.23)^2]

Я адаптировал это из этого поста , в котором исследуется обратная задача (данная длина дуги, поиск угла), но попутно рассматривается и это направление проблемы. Как отмечено там, это преобразование угла будет работать только для первого и последнего квадранта. В противном случае либо отрегулируйте угол, либо посмотрите в этом посте альтернативную формулу, которую можно использовать вместо нее.

С еще несколькими цифрами точности ответ возвращается как 2,5314195265536624417 что по существу соответствует обоим другим ответам здесь. Конечно, печатать такое количество цифр в ответе — очень плохой стиль, если вводятся только два десятичных знака. Это показывает, что численное интегрирование Юрки немного менее точно, чем то, что сделал coffeemath, но даже он теоретически должен был округлить в другом направлении.

Обратите внимание, что приведенная выше формула работает только для π 2 < θ < π 2 . Для π 2 < θ < π результат загар 1 будет представлять θ π поэтому, чтобы исправить это, вы можете добавить π к этому результату. Аналогично для π < θ < π 2 где нужно вычесть π из загар 1 результат. Вообще говоря, вам нужен первый вход в Е быть углом в том же квадранте, что и θ , добавляя целые кратные π как надо.

когда угол принадлежит [ π / 2 , π ] , г становится отрицательным..
Вы правы @chloehj, я обновил свой ответ, чтобы обсудить необходимые корректировки квадрантов.
Большое спасибо.

Выполнение расчета Mathematica. Тот же результат, что и у coffeemath (+1)

In[1]:= ArcTan[3.05*Tan[5Pi/18]/2.23]
Out[1]= 1.02051
In[2]:= x=3.05 Cos[t];
In[3]:= y=2.23 Sin[t];
In[4]:= NIntegrate[Sqrt[D[x,t]^2+D[y,t]^2],{t,0,1.02051}]
Out[4]= 2.53143
Можете ли вы дать мне полное объяснение с самого начала?
Первая команда вычисляет значение параметра т (см. ответ Coffeemath), который дает вам точку на эллипсе под углом 50 градусов. Затем я определяю функции Икс и у . Затем моя четвертая команда (In[4]) указывает Mathematica вычислить значение интеграла, который дает длину дуги (численно, поскольку это единственный способ). Он извергает 2,5314 . См . эту статью в Википедии для теории - абзац под названием «Нахождение длин дуг путем интегрирования» имеет эту формулу.
Под формулой я подразумеваю
л "=" т "=" 0 1.02051 Икс ( т ) 2 + у ( т ) 2 г т .
Наконец-то я это понял. Большое спасибо JyrkiLahtonen, также спасибо coffeemath, но в первую очередь спасибо <3 Аллаху <3 .
Рад слышать, что ты понимаешь, @Mohammad. Отличная работа.
@JyrkiLahtonen: решение становится отрицательным для углов больше 90 градусов. Можете ли вы помочь мне в этом?

Кажется, некоторое время назад я нашел это асимптотическое приближение из эллиптического интеграла Якоби второго рода. Это не точно, но сходится точно для вырожденных случаев б "=" 0 (линии) и б "=" а (круги). Методы бесконечных рядов идеальны там, где требуется точность. Я предлагаю это только как любопытство. Последнее слагаемое, добавленное недавно, мало что дает, но обеспечивает сходимость окружностей. Предполагать 0 б а . Затем

с 2 π а б + ( 4 а ) а б а + б а б а .