С для профессиональных программистов



         

Вычерчивание линий


Функции вычерчивания линий являются основными подпрограммами графики и используются для отображения линий в заданном цвете путем задания ее начальных и конечных координат. В то время, как изображение вертикальных и горизонтальных линий не представляет особого труда, более трудной задачей является создание функций, которые рисуют линии вдоль диагоналей. Например, какие точки составляют линию, вычерчиваемую от точки с координатами 0,0 до точки с координатами 80,120?

Один из подходов к разработке функций вычерчивания линий использует отношение между смещением по координатам X и Y. Чтобы показать этот подход в действии, проведем линию между точками с координатами 0,0 и 5,10. Смещение по X равно 5, а по Y - 10. Отношение равно 1/2. Оно будет использоватся при определении коэффициента зависимости, по которому должны меняться координаты X и Y при изображении линий. В данном случае это означает, что приращение координаты X составляет половину величины изменения координаты Y. Начинающий программист часто использует этот метод при разработке функций вычерчивания линий. Хотя такой подход математически верен и прост для понимания, для его правильной работы и для того, чтобы избежать серьезных ошибок округления, необходимо использовать математические операции с числами с плавающей точкой. Это означает, что функции вычерчивания линий будут работать довольно медленно, если в систему не будет включен математический сопроцессор (например - Intel 8087). По этой причине этот метод используется довольно редко.

Наиболее общий    метод    изображения    линий                                                включает

использование  алгоритма  Брезенхама.  Хотя  основой в нем служит

также отношение между расстояниями по координатам X и Y, в данном

случае  не  требуется  выполнять  деление  или вычисление чисел с

плавающей  точкой.  Вместо  этого,  отношение  между   значениями

координат  X  и  Y  представляется  косвенным образом через серии

сложений  и  вычитаний.  Основной  идеей  алгоритма   Брезенхама,




Содержание  Назад  Вперед