<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2464175</guid>
        <pubDate>Fri, 01 Jan 2010 17:19:57 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2464175</link>
        <description><![CDATA[amk: <strong class='tag-b'>05772</strong>, тоже хотел об этом написать, в прошлый раз забыл.<br>
В каноническом уравнении<br>
<strong class='tag-b'>A</strong><em class='tag-i'>x</em><sup class='tag-sup'>2</sup> + <strong class='tag-b'>B</strong><em class='tag-i'>xy</em> + <strong class='tag-b'>C</strong><em class='tag-i'>y</em><sup class='tag-sup'>2</sup> + <strong class='tag-b'>D</strong><em class='tag-i'>x</em> + <strong class='tag-b'>E</strong><em class='tag-i'>y</em> + <strong class='tag-b'>F</strong> = 0<br>
получается шесть неизвестных, но поскольку система получается однородная, необходимо пять точек. При большем МНК.<br>
<br>
Правда в результате решения может получиться и не эллипс.<br>
<br>
Все почему-то прицепились к поиску центра и угла поворота главных осей, вот и получилась нелинейная оптимизация.]]></description>
        <author>amk</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2463569</guid>
        <pubDate>Wed, 30 Dec 2009 22:04:44 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2463569</link>
        <description><![CDATA[05772: Для чего так сложно? В уравнение для эллипса коеффициенты a,b,c,d,e входят линейно. Следовательно они находятся методом наименьших квадратов по стандартному алгоритму.]]></description>
        <author>05772</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2463436</guid>
        <pubDate>Wed, 30 Dec 2009 16:15:39 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2463436</link>
        <description><![CDATA[amk: <strong class='tag-b'>Mikle</strong>, через четыре точки можно провести более одного эллипса. Нужна пятая точка.]]></description>
        <author>amk</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2460666</guid>
        <pubDate>Sun, 27 Dec 2009 09:18:45 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2460666</link>
        <description><![CDATA[Pavia: <strong class='tag-b'>Mikle</strong><br>
Обычно точки если и лежат на чем-то, то имеют ошибку. Хотя бы потому что числа с плавающей точкой имеют ограниченную точность. А также обычное дело ошибка метода измерения. <br>
Поэтому 4 точки брать нельзя.<br>
<br>
<strong class='tag-b'>Tur</strong><br>
Искать надо уметь. Проблема в том что есть еще платные вещи.<br>
http://www.robots.ox.ac.uk/~awf/papers/ellipse-pami.pdf]]></description>
        <author>Pavia</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2460654</guid>
        <pubDate>Sun, 27 Dec 2009 08:52:03 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2460654</link>
        <description><![CDATA[Mikle: <strong class='tag-b'>Tur</strong><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>(~100-1000) точек, расположенные на дуге эллипса (известно что они расположены именно на эллипсе)</div></div><br>
Раз известно, что ВСЕ они расположены именно на эллипсе, оставь из них четыре, остальные - избыточная информация.]]></description>
        <author>Mikle</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2460534</guid>
        <pubDate>Sat, 26 Dec 2009 21:06:01 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2460534</link>
        <description><![CDATA[Tur: Вот решение задачи согласно <a class='tag-url' href='http://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%B2%D0%B0%D1%8F_%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0' target='_blank'>этой</a> теории. Дальнейшее это комментарий к программе на матлабе, приведенной ниже. Даны семь точек на плоскости расположенных вблизи дуги эллипса x, y. <br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s40.radikal.ru/i088/0912/2a/5eb0cfceabdb.png' alt='user posted image'></a><br>
Подставим в уравнение эллипса<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s55.radikal.ru/i148/0912/18/ebe413c6520d.png' alt='user posted image'></a><br>
эти значения хi, yi ( i = 1…7). Получим систему семи уравнений с пятью неизвестными (а11 – а23). Найдем сначала коэффициенты этой системы<br>
data = [x2 y2 xy x y one];<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s51.radikal.ru/i131/0912/64/38bc37c506c5.png' alt='user posted image'></a><br>
Для удобства положим а33 = 1. Решим эту систему как указано например <a class='tag-url' href='http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%BD%D0%B0%D0%B8%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B8%D1%85_%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BE%D0%B2' target='_blank'>здесь</a>. Решение системы Х = [0.02171 0.03839 -0.03186 -0.14497 -0.22382];<br>
<br>
Найдем а11-а33     a11 = X(1); a22 = X(2); a12 = X(3)/2; a13 = X(4)/2; a23 = X(5)/2; a33 = 1;<br>
Составим матрицу М = [a11 a12 a13; a12 a22 a23; a13 a23 a33];<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://i017.radikal.ru/0912/d7/05d3108c7f84.png' alt='user posted image'></a><br>
и найдем инварианты<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s58.radikal.ru/i160/0912/a9/105fd5a5da3d.png' alt='user posted image'></a><br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://i074.radikal.ru/0912/db/4dedd38d08d8.png' alt='user posted image'></a><br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s16.radikal.ru/i191/0912/f2/65c3a1e81029.png' alt='user posted image'></a><br>
<br>
( справа от знака % в матлабе следует комментарий )<br>
d = det(M); 		% d = -0.000152261           <br>
D = a11*a22 - a12*a12;  % D = 0.0005797514 <br>
I = a11 + a22;		% I = 0.0601<br>
<br>
Находим центр эллипса<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s49.radikal.ru/i124/0912/dd/f20b4b776474.png' alt='user posted image'></a><br>
Mo.X = (a12*a23 - a13*a22)/D;   % 7.8745<br>
Mo.Y = (a13*a12 - a11*a23)/D;   % 6.1822<br>
<br>
Угол между положительным направлением оси Ox и каждым из двух главных направлений определяется формулой<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s47.radikal.ru/i117/0912/ba/c40f259b3e43.png' alt='user posted image'></a><br>
tg = 2*a12/(a11-a22); % tg = 1.9099       здесь tg – имя переменной<br>
Найдем угол альфа, выражая его тангенс из формулы двойного угла и решая соответствующее уравнение<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s43.radikal.ru/i099/0912/ab/752cadfdc373.png' alt='user posted image'></a><br>
k = (sqrt(tg*tg+1)-1)/tg; % k = 0.6052 – это тангенс угла наклона большей оси           % эллипса к положительному направлению оси Х<br>
Найдем сам угол наклона alpha = atan(k); % alpha = 0.5442 радиан<br>
<br>
Чтобы найти оси эллипса найдем корни уравнения<br>
&#955;2 &#8722; I&#955; + D = 0<br>
[issol lamda1 lamda2] = quadratic_equation(1, -I, D);<br>
<br>
a = sqrt(-d/(lamda1*lamda2*lamda2)); % а = 4.6645 большая полуось<br>
b = sqrt(-d/(lamda1*lamda1*lamda2)); % b = 2.3384 малая полуось<br>
c = sqrt(abs(a*a-b*b));			 % с = 4.0361 фокусное расстояние<br>
<br>
Для того чтобы всегда правильно найти координаты фокусов учтем<br>
if a &lt; b <br>
  k = -1/k; <br>
end<br>
<br>
p = c/sqrt(1+k*k);<br>
F1.X = Mo.X - p; F1.Y = Mo.Y - k*p;  % F1.X = 4.4215   F1.Y = 4.0925<br>
F2.X = Mo.X + p; F2.Y = Mo.Y + k*p; % F2.X = 11.3274  F2.Y = 8.2719<br>
<br>
Складываем  все найденные параметры в одну выходную структуру ell<br>
ell.Mo = Mo; ell.F1 = F1; ell.F2 = F2; <br>
ell.alpha = alpha; ell.alphagrad = 180/pi*alpha;<br>
ell.a = a; ell.b = b; ell.c = c; ell.k = k; ell.M = M;<br>
<br>
Вот эти функции<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>function ell = detect_ellipse(x, y)<br>
x2 = x.*x; y2 = y.*y; xy = x.*y; one = ones(length(x),1); <br>
data = [x2 y2 xy x y one]; <br>
X = slau_mnk(data);<br>
a11 = X(1); a22 = X(2); a12 = X(3)/2; a13 = X(4)/2; a23 = X(5)/2; a33 = 1; <br>
M = [a11 a12 a13; a12 a22 a23; a13 a23 a33];<br>
d = det(M);<br>
D = a11*a22 - a12*a12;<br>
I = a11 + a22;<br>
 <br>
Mo.X = (a12*a23 - a13*a22)/D;<br>
Mo.Y = (a13*a12 - a11*a23)/D;<br>
tg = 2*a12/(a11-a22);<br>
k = (sqrt(tg*tg+1)-1)/tg;<br>
alpha = atan(k);<br>
 <br>
[issol lamda1 lamda2] = quadratic_equation(1, -I, D);<br>
 <br>
a = sqrt(-d/(lamda1*lamda2*lamda2));<br>
b = sqrt(-d/(lamda1*lamda1*lamda2));<br>
c = sqrt(abs(a*a-b*b));<br>
 <br>
if a &lt; b k = -1/k; end<br>
p = c/sqrt(1+k*k);<br>
F1.X = Mo.X - p; F1.Y = Mo.Y - k*p; <br>
F2.X = Mo.X + p; F2.Y = Mo.Y + k*p; <br>
 <br>
ell.Mo = Mo; ell.F1 = F1; ell.F2 = F2; <br>
ell.alpha = alpha; ell.alphagrad = 180/pi*alpha;<br>
ell.a = a; ell.b = b; ell.c = c; ell.k = k; ell.M = M;<br>
end<br>
<br>
function x = slau_mnk(M)<br>
[rows cols] = size(M); Z = [];<br>
if cols-1 &lt; rows<br>
  for col = 1:cols-1<br>
    N = [];<br>
    for i = 1:rows<br>
      N = [N; M(i,col)*M(i, : )];<br>
    end<br>
    Z = [Z; sum(N)];<br>
  end<br>
end<br>
b = -Z(:,end);<br>
A = Z(1:end,1:end-1);<br>
x = A&#092;b; % решение приведенной системы средствами матлаба<br>
end<br>
<br>
function [issol x1 x2] = quadratic_equation(A, B, C)<br>
D = B*B - 4*A*C; if D &lt; 0 issol = 0; x1 = 0; x2 = 0; return; else issol = 1; end<br>
x1 = (-B + sqrt(D))/(2*A); x2 = (-B - sqrt(D))/(2*A);<br>
end</div></div>Этот код не всегда работает стабильно. Если angle меньше 180 градусов и отношение большой оси к малой более двух, то этот код может давать ложный эллипс (пример в конце поста).<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://i021.radikal.ru/0912/cb/21c8b9c3510e.png' alt='user posted image'></a><br>
<br>
Найдем приближенно и быстро расстояния от исходных точек до найденного эллипса. Сначала я думал соединить точку M (от которой ищется расстояние до эллипса) с фокусами эллипса и провести биссектрису этого угла F1MF2, найти точки пересечения этой биссектрисы с эллипсом и из них найти ближайшую точку к данной, и расстояние между ними считать расстоянием от данной точки до эллипса. Но затем взял не биссектрису, а нормаль. Уравнение нормали к эллипсу в точке (х1, y1)<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://i054.radikal.ru/0912/13/44694bf396b6.png' alt='user posted image'></a><br>
Так как исходные точки близки к найденному эллипсу, то подставим вместо х1 y1 координаты М, получим нормаль, которая сечет найденный эллипс в двух точках. Найдем ближайшую из этих двух точек к М. Это и будем считать искомым расстоянием. Ошибки этих расстояний от истинных отклонений примерно на порядок-два меньше чем сами отклонения. Эти ошибки можно вычислить точно. Если точка вне эллипса, то ее расстояние до эллипса будем считать положительным, если точка внутри эллипса, то отрицательным. Вот расстояния от семи исходных точек до найденного эллипса.<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s50.radikal.ru/i129/0912/ce/3e6506ead66f.png' alt='user posted image'></a><br>
Вот пример удачной аппроксимации. Это контур<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s44.radikal.ru/i103/0912/fe/940c200eb65f.png' alt='user posted image'></a><br>
Это аппроксимация каждой стороны контура своим эллипсом. Черные линии – это линии соединяющие фокусы. (Слева чуть виден другой график, не обращайте на него внимания)<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s48.radikal.ru/i121/0912/cc/5bc24e5153ee.png' alt='user posted image'></a><br>
Вот пример неудачной аппроксимации.<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://i080.radikal.ru/0912/ab/0f4b02e526f7.png' alt='user posted image'></a><br>
Почему это происходит и можно ли этого избежать мне до конца неясно. И если этого не избежать, то как приближенно, но быстро и устойчиво определить фокусы?<br>
Странно, что в сети я не нашел подобного простого примера.]]></description>
        <author>Tur</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2426031</guid>
        <pubDate>Thu, 19 Nov 2009 17:52:15 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2426031</link>
        <description><![CDATA[Tur: Спасибо за ссылки. <br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>А точки лежат точно на эллипсе (с поправкой на погрешность матрицы), или могут быть более крупные отклонения?</div></div>Пока ничего не могу сказать. Я пока на стадии симуляции. Я понимаю что шумы в данном случае могут сильно влиять на конечный результат. Об этом потом. <br>
Думаю для начала попробовать простой алгоритм. Уравнение эллипса x^2 + axy + by^2 + cx + dy + e = 0. Разделяем дугу на пять равных по числу точек отрезков. Берем первые пять точек начала каждого отрезка, подставляем их в ур-е эллипса, получаем систему пяти уравнений, находим a,b,c,d,e, по ним находим координаты фокусов и главную полуось. Повторяем это для следующих пяти точек и т.д. до конца отрезков. Получаем набор точек фокусов и полуосей. Усредняем. Добавляем шумы и проверяем в какой мере они влияют на результат. Для каждых десяти чисел (5 точек на контуре) находим 5 чисел (F1, F2, a). Недостаток этого метода в том, что у малой выборки большая дисперсия средних. Но работать этот алгоритм будет быстро я думаю. Попробую сначала это, а там видно будет. Что скажите?<br>
Вот нашел в сети http://www.duskyrobin.com/tpu/2006-07-00004.pdf Пока мало что там понял. Центр эллипса там известен заранее. По первому методу его можно найти и дисперсию его проверить. Моя проблема это мой низкий уровень математики.]]></description>
        <author>Tur</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2424887</guid>
        <pubDate>Wed, 18 Nov 2009 13:59:07 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2424887</link>
        <description><![CDATA[Dethlord: Глянь тут<br>http://www.geometrictools.com/LibFoundation/Approximation/Approximation.html]]></description>
        <author>Dethlord</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2424420</guid>
        <pubDate>Wed, 18 Nov 2009 08:12:24 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2424420</link>
        <description><![CDATA[Romtek: По английски это называется <strong class='tag-b'>Curve fitting</strong>.<br>
<a class='tag-url' href='http://en.wikipedia.org/wiki/Curve_fitting#Fitting_an_ellipse_by_geometric_fit' target='_blank'>1.5 Fitting an ellipse by geometric fit</a><br>
<a class='tag-url' href='http://docs.google.com/gview?a=v&q=cache:aO_gmNwb_sYJ:users.cs.cf.ac.uk/Paul.Rosin/resources/papers/ellipse3.pdf+curve+fitting+ellipse&hl=ru&gl=il&pid=bl&srcid=ADGEESgPM1H-mLUBbpKzYllZBQmlOR99N_hqzhm0o_IQxZxDE8qJYsQNilPr3o0NXAsswRUlW0rauvZVoSdTaOMfjTPNYyql_9-LyiHO-TC8FSC9SSuVRjviTTGYVIpRkx2-NYz9l6Vd&sig=AFQjCNEF12tr2fuvlkfgutm5gCo0vPRZiw' target='_blank'>Further Five Point Fit Ellipse Fitting</a><br>
<br>
И здесь ещё набор материалов для прочтения:<br>
<a class='tag-url' href='http://www.visionbib.com/bibliography/edge256.html' target='_blank'>Ellipse Detection, Ellipse Fitting, Elliptical Shapes</a>]]></description>
        <author>Romtek</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2424252</guid>
        <pubDate>Wed, 18 Nov 2009 03:07:09 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2424252</link>
        <description><![CDATA[MBo: Этот вопрос встречался в группе<br>http://groups.google.ru/group/comp.graphics.algorithms/topics?hl=ru&lnk=gschg<br>однако у меня что-то не в порядке с поиском там.<br>Скорее всего, искать нужно по запросу &quot;ellipse approximation&quot;, и отвечал Eberly<br>его страница www.geomеtrictools.com<br>Однако велика вероятность того, что идеи будут те же, что и у shadeofgray  - общее уравнение квадрики, и задача минимизации]]></description>
        <author>MBo</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2424200</guid>
        <pubDate>Tue, 17 Nov 2009 22:26:32 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2424200</link>
        <description><![CDATA[shadeofgray: Это нелинейная задача аппроксимации, может быть решена Левенбергом-Марквардтом, через минимизацию функции ошибки. Ошибка - это расстояние от экспериментальной точки до эллипса, причем расстояние берется не по оси Y (или X), как в обычных задачах на МНК, а в смысле кратчайшего пути от экспериментальной точки до ближайшей к ней точки предполагаемого эллипса.<br><br>Крайне желательно иметь хорошее стартовое приближение (попробуйте придумать какой-нибудь трюк для подбора параметров). Ещё мне кажется, что в случае, если эллипс имеет сильный эксцентриситет, то могут быть сложности со сходимостью.<br><br>А точки лежат точно на эллипсе (с поправкой на погрешность матрицы), или могут быть более крупные отклонения?]]></description>
        <author>shadeofgray</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2423955</guid>
        <pubDate>Tue, 17 Nov 2009 16:25:55 +0000</pubDate>
        <title>Аппроксимация эллипсом</title>
        <link>https://forum.sources.ru/index.php?showtopic=287351&amp;view=findpost&amp;p=2423955</link>
        <description><![CDATA[Tur: На плоскости даны N (~100-1000) точек, расположенные на дуге эллипса (известно что они расположены именно на эллипсе)<br>
<a class='tag-url' href='http://www.radikal.ru' target='_blank'><img class='tag-img' src='http://s45.radikal.ru/i108/0911/36/de6660ce98b9.png' alt='user posted image'></a><br>
Требуется аппроксимировать эти точки эллипсом, т.е. найти координаты его фокусов и а, т.е. нужна функция [F1 F2 a] = approx_ellipse(x, y), где x и y - исходные массивы координат точек, F1, F2 - фокусы, и а - параметр эллипса. Всего пять чисел. Точки расположены равномерно (они на фото-матрице с постоянным расстоянием между пикселями)<br>
<br>
Я сделал это через симплекс с нулевым приближением, но работает очень медленно(3 секунды для 100 точек).<br>
<br>
Как решить эту задачу без нулевого приближения и чтобы работало на обычном среднем компьютере не более 0.1 сек?<br>
Существуют ли какие-нибудь методы прямой аппроксимации эллипсом наподобие аппроксимации полиномами?]]></description>
        <author>Tur</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	