Я ищу алгоритм рисования линии, который отображает только один пиксель на строку scanline/row и использует только целые числа.Алгоритм рисования линии с одним пикселем на сканирующую линию
Алгоритм рисования линии Bresenham работает в большинстве случаев, но он отображает два пикселя на линию сканирования, когда у меня есть линия от P1 (40, 0) до P2 (0, 20), где Pn (x, y).
Для записи я кодирую в C для микроконтроллера низкого уровня без блока с плавающей точкой.
Спасибо!
А что вы хотите, если у вас есть горизонтальная (или почти горизонтально) линия? Алгоритм Брешенема показывает несколько пикселей в строке, если это то, что требуется для получения хорошего представления. Каждый раз, когда разница между X1 и X2 больше расстояния между Y1 и Y2, вы получите несколько пикселей на одной или нескольких линиях сканирования. Похоже, что вы можете легко изменить свою реализацию Bresenham, чтобы отслеживать позицию Y последнего пикселя, и не строить следующий пиксель, если это то же самое Y-координата. –
Вот как я реализовал, но я подумал, что это может быть какой-то алгоритм, который быстрее, чем мой модифицированный Bresenham. Потому что я не могу быть первым, кому нужен такой алгоритм рисования линии. И для вашего вопроса он должен отображать только один пиксель для горизонтальной линии. –