Облака точек
В процессе написания
Его нужно дописать до чего-нибудь интересного.
Он уже дописан до чего-то интересного.
Если у кого-то есть вопросы о том, что там происходит, то пока тезисно:
- рисуем границу «облака точек»
- для этого каждую из точек облака «штампуем» на квадратную сетку
- форма «кисти» называется функцией влияния
- у нас влияние радиально (убывает в зависимости от расстояния до точки)
- после того, как мы учли влияние всех точек облака на сетку, про облако забываем
- те узлы сетки, в которых влияние достаточно большое, считаем находящимися внутри облака
- остальные узлы считаем находящимися снаружи
- для каждой клетки сетки в зависимости от того, какие её узлы находятся внутри облака, а какие — снаружи (всего 16 случаев), строим отрезки границы
Именно последний пункт называется марширующими квадратами, и как раз он (а точнее, его цикл по всем клеткам сетки) отсутствует в коде по ссылке (также там отсутствует значительная часть таблицы, показывающей, какие стороны клетки нужно соединять отрезками в каком из случаев).