Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Трудности применения процедуры LINE состоят в том, что округление у до целого значения требует времени и, кроме того, у и т должны быть вещественными переменными или двоичными дробями, но не целыми переменными, так как тангенс угла наклона есть дробь. Более привлекателен в этом отношении алгоритм Брезенхэма [58], поскольку для него необходима только целая арифметика. Вещественные переменные не используются совсем и, следовательно, округление не требуется. Для простоты будем считать, что тангенс угла наклона принимает значения в диапазоне 0-1. В алгоритме используется управляющая переменная di, которая на каждом шаге пропорциональна разности между s и t (рис. 11.2). На рис. 11.2 приведен i-й шаг, когда пэл Pi-1 уже найден как ближайший к реальному изображаемому отрезку, и теперь требуется определить, какой из пэлов должен быть установлен следующим: T или S;. Если s<t, то Si ближе к отрезку и необходимо выбрать
|
|
| Рис 11.1. Пошаговое вычисление у, при котором выбор пэла (обозначаемого черным кружком) осуществляется путем округления у. |
его; в противном случае ближе будет Ti. Другими словами, если s-t < 0, выбирается Si, в противном случае выбирается Ti.
Изображаемый отрезок проводится из точки (x1, y1) в точку (x2t y2). Пусть первый отрезок находится ближе к началу координат, тогда перенесем обе точки при помощи Т(-x1, -y1) так, чтобы начальной точкой отрезка стала точка (0, 0),

Рис. 11.2. Геометрическое обоснование алгоритма Брезенхэма. Черными кружками обозначены пэлы, выбранные с помощью этого алгоритма.
а конечной - (dx, dy), где dx -= x 2— x 1 и dy = y 2— y 1. Уравнение прямой теперь имеет вид y = (dy / dx) x. Обозначим координаты (после переноса) Рi-1 через (r, q), как показано на рис. 11.2. Тогда Si = (r+l, q) и Тi = (r+1, q+1).
Из рис. 11.2 следует, что

Поэтому
. (11.1)
Если s-t <0 выбираем Si. Преобразуя выражение (11.1), получаем
dx (s—t) = 2(r*dy—q*'dx) + -2dy - dx.
Величина dx положительна, поэтому dx(s—t)<0 можно использовать в качестве проверки при выборе Si. Обозначим часть неравенства через di. Тогда
.
Поскольку r=xi-1 и q=yi-1, то

Прибавляя 1 к каждому из индексов, имеем
Вычитая di из di+i, получаем
(11.2)
Известно, что xi - xi-1 = 1. Учитывая это, запишем

Если di >= 0, выбирается Ti, тогда yi=yi-1+1 и

Если же di < 0, выбирается Si, тогда yi=yi-1 и

Если di >= 0, выбирается Ti, тогда yi=yi-1+1 и
(11.3)
Если же di < 0, выбирается Si, тогда yi=yi-1 и
(11.4)
Таким образом, мы получили итеративный способ вычисления di+1 по предыдущему значению di и выбора между Si и Ti. Начальное значение di можно найти из выражения (11.2) при i = 1 с учетом того, что (х0, y0) = (0, 0). Тогда
(11.5)
Для вычисления по формулам (11.3) — (11.5) требуются минимальные арифметические возможности: они включают сложение, вычитание и сдвиг влево (для умножения на 2). Это важно, поскольку исключается длительная по времени операция умножения. Более того, как видно из следующей реализации алгоритма Брезенхэма (отметим, что эта версия работает только для отрезков, тангенсы углов наклона которых находятся в диапазоне 0 - 1; обобщение алгоритма предоставляем читателю выполнить в качестве упражнения), выполняемый в нем цикл очень прост:
|
|
РАСТРОВАЯ РАЗВЕРТКА ЛИТЕР
В гл. 3 рассмотрен общий метод изображения литер, основанный на матрице точек. Тот же метод используется и при построении растровых изображений: точечное представление литеры помещается в заданную позицию буфера регенерации. Наименьшей сеткой, с помощью которой можно описывать литеры с приемлемым качеством, является сетка 5 х 7; для представления прописных и строчных литер необходима матрица размером 5 x 9. Для символов более высокого качества требуется еще большая матрица.
|
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!