Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
2022-10-29 | 28 |
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!