Мне нужен алгоритм заполнения треугольников с точностью до пикселя, чтобы избежать артефактов сглаживания

Я помогаю кому-то с кодом пользовательского интерфейса визуализировать математический анализ изображения. В ходе этого процесса мы будем сегментировать часть 2D-формы на треугольники и заполнять некоторые из этих треугольников в пользовательском интерфейсе.

Мы ищем алгоритм заливки, гарантирующий, что если два треугольника имеют общее ребро (в частности, если любые две вершины треугольников идентичны), то независимо от порядка отрисовки и алиасинга не будет пустых, неотрисованных пикселей. на линии между ними. (Это нормально, если некоторые пиксели отрисовываются дважды.) Результат должен выглядеть нормально при произвольном масштабировании. Некоторые треугольники могут быть местами очень тонкими полосками, шириной до 1 пикселя.

В идеале это должен быть достаточно эффективный алгоритм заполнения!

Сглаживание не будет использоваться при рендеринге треугольников, так как конечное изображение должно иметь глубину 1 бит.

Контекст представляет собой приложение для распознавания изображений, поэтому все координаты вершин будут иметь точность до одного пикселя.

10
задан Tynam 21 June 2012 в 13:52
поделиться