Разбиение прямоугольного изображения на полигоны для имитации разбития стекла - PullRequest
6 голосов
/ 06 мая 2011

Я работаю над кодом C #, в котором я хотел бы взять 2D-прямоугольник и разбить его на более мелкие 2D-полигоны.Мне бы хотелось, чтобы эффект выглядел так, как будто прямоугольник был сделан из стекла, и его ударили молотом в случайном месте.Мне было интересно, если кто-нибудь знает хороший алгоритм, чтобы помочь мне с этим.Я пробовал код FortuneVoronoi, используя случайные точки, чтобы смоделировать этот эффект, но мне трудно превратить готовый VoronoiGraph в набор непересекающихся полигонов за разумное количество процессорного времени.

1 Ответ

4 голосов
/ 06 мая 2011

Поскольку вы упоминаете диаграммы Вороного, я бы выбрал диаграмму центроида Вороного, построенную с использованием функции радиальной плотности, которая конкретизируется в точке удара плюс некоторое дрожание, чтобы добавить немного реализма.См. Эту страницу и эту бумагу .

...