2015-09-11 1 views
0

Я реализовал алгоритм Брешенема для простого класса drwaing, и теперь я хочу установить сглаживание над ним, я использую JavaFX для просмотра.Как программировать сглаживание в Java

Как я могу реализовать сглаживание без использования библиотеки?

+0

Внедрить алгоритм сглаживания ... – Thomas

+0

Какой я должен использовать, я искал лекцию, но не могу найти хороший. – SeeuD1

+1

https://courses.engr.illinois.edu/ece390/archive/archive-f2000/mp/mp4/anti.html –

ответ

1

Один из способов сделать сглаживание - использовать передискретизацию. Изображение отображается в более высоком решении, где, как правило, для эффективности и простоты реализации генерируемое изображение больше в два раза. Полученное изображение затем сбрасывается.

Более эффективный способ (с некоторыми недостатками, с другой стороны) - это algorithm by Wu. В этом подходе используется таблица поиска, которая сохраняет желаемую окраску для смежных пикселей, в которых пиксель нанесен с использованием подпиксельной точности. Линейный алгоритм Брешенема использует эту таблицу поиска для размещения пикселя с фактической субпиксельной точностью.

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