Математический форум Math Help Planet
http://mathhelpplanet.com/

Аппроксимация эллипса многоугольником
http://mathhelpplanet.com/viewtopic.php?f=33&t=30625
Страница 1 из 3

Автор:  Betelgeuse [ 26 янв 2014, 22:37 ]
Заголовок сообщения:  Аппроксимация эллипса многоугольником

Здравствуйте. Нужна помощь в решении следующей задачи:

Есть эллипс (известны координаты центра и длины осей). Разбить эллипс на N дуг равной высоты.

Т.е. можно представить себе вписанный в эллипс многоугольник. Каждая сторона многоугольника является хордой эллипса. Часть эллипса, отсекаемая этой хордой - дуга. На дуге есть точка, наиболее удалённая от хорды. Расстояние от этой точки до хорды и есть основной критерий построения. Эти расстояния для всех получившихся дуг должны быть равными.
Решением задачи будут координаты каждой вершины искомого многоугольника. (Либо же угловые направления из центра эллипса на каждую такую вершину - тогда координаты центра эллипса для решения не нужны).

Задача будет решаться на компьютере, т.е. возможны итерационные и др. подходы в случае если нет чистого аналитического решения.

Автор:  Avgust [ 27 янв 2014, 09:33 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

Приведите пожалуйста рисунок для лучшего понимания задачи

Автор:  erjoma [ 27 янв 2014, 14:31 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

Я понимаю задачу так:
Даны уравнение эллипса [math]\left\{ \begin{array}{l}x = a\cos t\\y = b\sin t\end{array} \right[/math] и [math]r>0[/math]. Нужно построить многоугольник вписанный в заданный эллипс и описанный вокруг кривой [math]\left\{ \begin{array}{l}x = a\cos t - \frac{{br\cos t}}{{\sqrt {{a^2}{{\sin }^2}t + {b^2}{{\cos }^2}t} }}\\x = b\sin t - \frac{{ar\sin t}}{{\sqrt {{a^2}{{\sin }^2}t + {b^2}{{\cos }^2}t} }}\end{array} \right[/math].
Но в такой формулировке я не знаю как с ней справится.

Автор:  Betelgeuse [ 28 янв 2014, 11:47 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

Вот рисунок.
(задача должна решаться для различных значений N)

Изображение

Автор:  Avgust [ 28 янв 2014, 13:32 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

Ясно. Значит, всегда только четное количество дуг. Разница лишь в одинарной четности и в двойной четности. По-сути имеем 2 упрощенные модели:

Изображение

Автор:  erjoma [ 28 янв 2014, 15:40 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

Пусть точка [math](x_0,y_0)[/math] вершина искомого многоугольника, то уравнение его двух сторон, одним из концов которых является точка [math](x_0,y_0)[/math], можно будет найти, если уравнение [math]\frac{{b\sin t - {y_0} - \frac{{ar\sin t}}{{\sqrt {{a^2}{{\sin }^2}t + {b^2}{{\cos }^2}t} }}}}{{a\cos t - {x_0} - \frac{{br\cos t}}{{\sqrt {{a^2}{{\sin }^2}t + {b^2}{{\cos }^2}t} }}}} = - \frac{{b\cos t}}{{a\sin t}}[/math] разрешимо относительно [math]t[/math]

Автор:  Betelgeuse [ 28 янв 2014, 23:51 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

Avgust, N может быть и нечетным. Это просто совпадение, что я нарисовал оба рисунка для четных N.

Автор:  Betelgeuse [ 28 янв 2014, 23:56 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

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

Автор:  erjoma [ 29 янв 2014, 00:39 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

Betelgeuse писал(а):
erjoma, я правильно понимаю, что приведенное вами уравнение, описывает кривую, получаемую из эллипса переносом каждой точки дуги вдоль нормали на величину h ?

Да, правильно [math]h=r[/math].

Автор:  Avgust [ 29 янв 2014, 02:08 ]
Заголовок сообщения:  Re: Аппроксимация эллипса многоугольником

Betelgeuse писал(а):
Avgust, N может быть и нечетным. Это просто совпадение, что я нарисовал оба рисунка для четных N.
Тогда приведите рисунок. Например, когда 5 дуг. Мне кажется, в таком случае все усложняется.

Страница 1 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/