Облака точек

В процессе написания

Код с урока

Его нужно дописать до чего-нибудь интересного.

Новый код

Он уже дописан до чего-то интересного.

Если у кого-то есть вопросы о том, что там происходит, то пока тезисно:

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

Именно последний пункт называется марширующими квадратами, и как раз он (а точнее, его цикл по всем клеткам сетки) отсутствует в коде по ссылке (также там отсутствует значительная часть таблицы, показывающей, какие стороны клетки нужно соединять отрезками в каком из случаев).