2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Бесплатно.
Сообщение07.02.2014, 16:31 
CraniumEugene в сообщении #794692 писал(а):
Есть определенное количество точек на плоскости (пусть будет 10), по которым задана какая-то кривая.
............
Необходимо вычислить опорные точки для кривой Безье 3-го порядка, которая аппроксимирует данную кривую.
Вам нужно аппроксимировать точки или какую-то данную кривую? Если точки --- то зачем писать про кривую (и про какие-то непонятные производные)? Если кривую, и она действительно "данная", то какая разница, было ли там 10 точек или 20?

Из этого делаем 2 вывода:
1) Вам нужно аппроксимировать $n$ точек с помощью кубической кривой Безье, причём (это выводим уже из последующей дискуссии) в упрощённом варианте: начало и конец кривой совпадают с первой и последней из заданных точек.
2) Задача достаточно сложная, требует гораздо более приличного уровня владения математикой, нежели Вами проявленный.

CraniumEugene в сообщении #822351 писал(а):
$F(p1.y,p2.y) = \sum_t_=_0 (y_i  - (1-t)^3 * p0.y + 3*t*(1-t)^2 *p1.y + 3 * t^2 *(1-t) * p2.y + t^3* p3.y )^2 ; $
Я так понимаю, сведения о кривых Безье Вы получили из какой-то книги или из Интеренту. Неужели в первоисточнике был написан такой ужас с звёздогчками???

Мне не раз хотелось чего-то подобного, но слишком лень браться за то решение, которое я ниже предложу. Описаний каких-либо других подходов к решению я в книжках не встречал. А самому видится только тупое решение. Хотя, со всякими там хитроумными модерновыми пакетами, типа Экселей (часто слышал такое слово, и напоминает волшебную палочку), может и это легко сделается.

У Вас два кубических уравнения-полинома $X=x(t;a,c),\; Y=y(t;b,d)$, коэффициенты которых содержат 4 неизвестных, координаты $(a,b)$ и $(c,d)$ искомых опорных точек. Исключив параметр, получим неявное уравнение кривой третьего порядка $F(X,Y;a,b,c,d)=0$, коэффициенты которой (при $X^iY^j$) будут нелинейными функциями четырёх неизвестных. Теперь МНК (нелинейный, естессно, но Экселю, надесь, по барабану): минимизируем $$\Phi(a,b,c,d)=\sum_{i=1}^n w_i^2 F^2(X_i,Y_i;a,b,c,d).$$ Возможно, нулевое приближение (для нелинейного МНК) легко отыщется подстановкой в уравнение кривой каких-либо двух промежуточных точек. Ну и в какой-то приличной системе координат, скажем, в такой, что $P_1=(-h,0)$, $P_n=(h,0)$.

Весовые множители $w_i$ следует поначалу принять равными единице. Я их упомянул с намёком на особо неленивых и вторую итерацию, в которой, получив приличное первое приближение кривой, можно подобрать весовые множители так, чтобы функционал был "более геометричным", т.е. чтобы "невязки" $w_i F(X_i,Y_i;a,b,c,d)$ были близки к истинному расстоянию от точки до кривой. Для определения $w_i$, как мне представляется, достаточно будет оценить что-то вроде кривизны кубики $F(X,Y;\ldots)=0$ в районе $i$-той точки.

 
 
 [ Сообщений: 16 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group