Алгоритм Брезенхема для генерации окружности.


Формирование растра. Растровая развертка в реальном времени. Методы группового и клеточного кодирования. Буфер кадра.

Разложение в растр нелинейных фрагментов рассмотрим на примере окружности. Брезенхемом предложено одно из наиболее удачных решений. Процесс идет в два этапа: формирование сегмента и выполнение последовательных отражений для всего контура относительно заданных осей. Так, для октанта это прямая y = x, для квадрантов оси координат

Возьмем 1-ю четверть. Если окружность радиусом R имеет центр в начале координат и начинается с точки (0, R), то при движении по часовой стрелке функция y(x) монотонно ?(если взять началом (R, 0), то при обратном движении функция x(y) монотонно ?), что видно на Рис.2. Для 1-го варианта очередным пикселом будет находящийся: правее (mH), ниже (mV) или диагонально ниже (mD), как показано на Рис.3. Алгоритм выбирает пиксел, для которого абсолютное значение разности квадратов от центра до пиксела и от центра до окружности минимально.

Загрузка...