Пострить график... для знатоков математики :)
Нужно соединить точки, интервалы между которыми одинковые, плавной линей, а не прямыми отрезками. То есть нарисовать что-то вроде сплайна... Но я не знаю, как это делается, каков алгоритм... :(
Помогите, кто знает, пожалуйста...
Вобщем проблема такая... Нужно пострить график.
Нужно соединить точки, интервалы между которыми одинковые, плавной линей, а не прямыми отрезками. То есть нарисовать что-то вроде сплайна... Но я не знаю, как это делается, каков алгоритм... :(
Помогите, кто знает, пожалуйста...
Вобщем проблема такая... Нужно пострить график.
Нужно соединить точки, интервалы между которыми одинковые, плавной линей, а не прямыми отрезками. То есть нарисовать что-то вроде сплайна... Но я не знаю, как это делается, каков алгоритм... :(
Помогите, кто знает, пожалуйста...
начни с поиска "кривые Безье" а там и другие методы найдешь
а общая схема такова:
составляешь систему дифференциальных уравнений 2 порядка или выше со значением первых производных в опорных точках равными 0, решаешь и получаешь функцию
ЗЫ: кстати для модераторов - тема то из раздела "Алгоритмы"
чем больше значений будет взято с краев, тем глаже будет график.
Края сгладить, естесвенно, не получится.
Если не очень жестокие требования, то можно сглаживать просто - для кадой точки на графике считается среднее значение ее, и скажем двух слева и двух справа и ставится точка.
чем больше значений будет взято с краев, тем глаже будет график.
Края сгладить, естесвенно, не получится.
тогда мы получим среднее значение, и чем больше точек тем "среднее",
чтобы не брать большие массивы возьмем минимальный радиус окрестности =>
возьмем маткад (то что здесь я указал в скобках - индексы)
i:=0..10
j:=1..9
a(i):=rnd()
b(i):=a(i) /* переносим края */
b(j):= ( a(j-1)+a(j+1) ) / 2
a = { 0.072; 0.654; 0.105; 0.227 ... 0.606 }
b = { 0.072; 0.089; 0.440; 0.512 ... 0.606 }
что то общее есть? я не вижу :(
Здесь график (4 килобайта)