Отредактировано: Это можно увидеть косвенным решением.Если вы можете иметь свои геометрические фигуры в виде изображения, то есть 2D-матрицы, то вы можете реализовать (см. Ниже) простые функции, такие как расширение / эрозия (довольно простые задания ядра) и т. Д., Чтобы окружающие области вокруг всех фигур (теперь пикселей) на вашем изображении,
Это так просто, как заниматься тяжелой математикой.Ниже показан эксперимент.Алгоритм прост:
- сдвиг в четыре направления вашей матрицы каждый раз по одному пикселю и повторение до тех пор, пока вы не получите желаемую глубину для буфера.
- сумма результирующих матриц
Вот и все.
По-видимому, для необычного вывода вы можете использовать контур или другую функцию для генерации линий из вашего вывода.
Обновление: Обратите внимание, что, как уже упоминалось, эта идея очень проста и фактически основана на демонстрации матрицы полигона, линии или чего-либо еще в вопросе.То есть разрешение определяется размерами представляющей матрицы.Однако одним из преимуществ является то, что он работает с любой сложностью ввода.
Углы видны как округленная форма круга.