Левая часть этого уравнения равна нулю для всех точек (х, у), лежащих на этой прямой. Для удобства дальнейшего использования дадим имя этому выражению. Однако перед присвоением имени выражение нужно удвоить, поскольку это избавит нас от неудобного коэффициента 1/2 в основных формулах. Таким образом, мы определяем следующую функцию:

Fix, у) - -2 W{y - а) + 2Н(х- ах). (10.6)

Функция F(x, у) обладает следующим важным свойством: ее знак определяет, находится ли пара значений (х, у) выше или ниже прямой: О если F(x, у) < 0, то (х, у) лежит выше прямой; О если F(x, у) > 0, то (х, у) лежит ниже прямой.

Замечание. Дадим подсказку для размышления: пусть точка (х, у) лежит на прямой, тогда известно, что F(x, у) = 0. Слегка увеличим у, не изменяя х. При этом значение функции F(.,.) уменьшится. Следовательно, подъем у над прямой делает F отрицательной.

Практическое упражнение

10.4.1

Уравнение отрезка прямой между точками (3,7) и (9, И) имеет вид:

F(x,y) = (-12)(y-7) + (8)(x-3),

причем точки на прямой, такие как (7, 29/3), удовлетворяют уравнению F(x, у) = 0. Какой знак имеет функция F(x, у) для точек А = (4,4) и В = (5,9) и где по отношению к отрезку прямой лежат эти точки?

Ответ. Точка А лежит ниже прямой и для нее функция F равна 44. Точка В лежит выше прямой и для нее функция F равна -8.

1 Этот алгоритм иногда называют цифровым дифференциальным анализатором (digital differential analyzer - DDA) - по названию механического устройства, предназначенного для решения дифференциальных уравнений в приращениях.

Средства для растровой графики

Как же мы решим, какие пикселы следует «включить»? На рис. 10.19 изображены некоторые пикселы вблизи прямой. Кружок в каждой точке пересечения сетки символизирует центр пиксела. Предположим, что мы откуда-либо знаем, что для рх наилучшее значение у есть ру, и хотим определить наилучшее значение у для следующего значения х, равного рх + 1. Мы хотим знать, находится ли прямая в точке рх+1 ближе к точке L = (рх + 1, ру) (от слова lower - ниже) или к точке U='(px +\,р + \) (от слова upper - выше). На рисунке показано одно из возможных положений прямой, однако она могла бы пройти несколько ниже точки L или несколько выше точки U. (Почему?)


⇐ Предыдущая| |Следующая ⇒