LINUX.ORG.RU

Как сделать грубое сглаживание?

 


0

1

Каким алгоритмом можно сделать подобное?

https://i.imgur.com/tb8ydIR.png

Надо чтобы линия сверху выгладила как линия снизу со ступеньками в несколько пикселей. Точки с координатами естественно есть.

Копируется начальная координата как текущая.

1) Рисуется текущая.
2) Берётся разница текущей со следующей координатой, разница добавляется в аккумулятор.

ЕСЛИ модуль |аккумулятора| достигает порога срабатывания
ТО текущая координата += аккумулятор, аккумулятор = 0

ГОТУ 1)

Bad_ptr ★★★★ ()

Это похоже не на сглаживание, а на упрощение геометрии. В картографическом софте такое используется.

Тут есть примеры, как это выглядит с разными алгоритмами. Реализацию этих алгоритмов можно уже найти гитхабе.

nguseff ()
Ответ на: комментарий от nguseff

Наоборот прямые линии делает. У меня есть прореженные точки уже, пример это интерполяция + фильтр савицкого-голея. А нижний пример это /dev/hand

steemandlinux ★★★★★ ()
Последнее исправление: steemandlinux (всего исправлений: 3)