Необходимо иметь матричное представление набора геометрических примитивов (т. Е. Линии, кривой, круга, прямоугольника, а также их заполненных форм).Для простоты вы можете предположить, что мы имеем дело только со строками, поэтому ответ уже на [ SO ] .Поэтому прямоугольники могут быть легко пикселированы.Однако для остальных примитивов мне задаются два вопроса:
1) Как сделать пикселизацию кривой, включая круг (~ замкнутая кривая)?
2) Как сделать пикселизацию заполненного/ сложная форма (прямоугольник, мульти-патч)?
Простейшим способом (используемым в настоящее время) может быть использование библиотеки визуализации (например, MatPlotLib
для Python
) для сохранениярезультат (карта геометрических примитивов) в виде пиксельного изображения на диске (или в ОЗУ), а затем повторно использовать его в целях интереса.По-видимому, этот метод может справиться с любой сложностью, поскольку в фоновом режиме независимо от того, что он (визуализатор) делает, получается 2D image
, то есть 2D matrix
.Однако в этом приложении возникают серьезные проблемы:
1) процедура очень медленная!
2) процедура не стандартная, но сильнов зависимости от настроек визуализатора, то есть часто низкоуровневая конфигурация невозможна или трудна в настройке для визуализатора.Другими словами, используемому черному ящику не хватает контроля над процедурой, как требуется.