Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Интересное:
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
2022-10-29 | 26 |
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. Для символов более высокого качества требуется еще большая матрица.
|
|
|
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!