Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Алгоритм Брезенхема

Читайте также:
  1. II. Алгоритмы манипуляций и инфекционная безопасность
  2. Адаптивные (динамические) алгоритмы маршрутизации по вектору расстояния
  3. Алгоритм
  4. Алгоритм
  5. Алгоритм
  6. Алгоритм 4. Устранение цепных правил
  7. Алгоритм 5. Преобразование грамматики к БНФ (Хомского).

Большее из приращений, либо Δx, либо Δy, выбирается в качестве единицы растра.В процессе работы одна из координат (в зависимости от углового коэффициента) изменяется на единицу. Изменение другой координаты (на 0 или 1) зависит от расстояния между действительным положением отрезка и ближайшими координатами сетки. Такое расстояние мы назовем ошибкой. Алгоритм построен так, что требуется проверять лишь знак этой ошибки. На рис. это иллюстрируется для отрезка в первом октанте, т.е. для отрезка с угловым коэффициентом, лежащим в диапазоне от 0 до 1. Из рисунка можно заметить, что если угловой коэффициент отрезка из точки (0, 0) больше чем ½,то его пересечение с прямой х = 1 будет расположено ближе к прямой y = 1, чем к прямой y = 0. Следовательно, точка растра (1, 1) лучше аппроксимирует ход отрезка, чем точка (1, 0). Если угловой коэффициент меньше ½, то верно обратное. Для углового коэффициента, равного ½, нет какого-либо предпочтительного выбора. В данном случае алгоритм выбирает точку (1, 1). Так как желательно проверять только знак ошибки, то она первоначально устанавливается равной -½. Таким образом, если угловой коэффициент отрезка больше или равен ½, то величина ошибки в следующей точке растра может быть вычислена как е = -½ + Δy/Δx. Быстродействие алгоритма можно увеличить, если использовать только целочисленную арифметику и исключить деление. Простое преобразование ē = (-½ + Δy/Δx) · 2Δx = 2Δy - Δx превратит предыдущие вычисления в целочисленные и позволит эффективно реализовать их на аппаратном или микропрограммном уровне.

6. Преобразования, как изменение систем координат.

Рассмотренное преобразование множества точек, принадлежащих объекту, в некоторое другое множество точек производилось в одной и той же системе координат. Таким образом, система координат остается неизменной, а сам объект преобразуется относительно начала координат до получения желаемого результата.


Другим способом описания преобразования является смена систем координат. Такой подход оказывается полезным, когда желательно собрать вместе много объектов, каждый из которых описан в своей собственной локальной системе координат (ЛСК), и выразить их координаты в одной глобальной (ГСК).

Вначале рассмотрим, как положение точки, заданной в одной СК, можно описать в любой другой СК.

Точка имеет координаты:

1 СК — ;

2 СК — ;

3 СК — ;

4 СК — .

Преобразования СК имеет вид:

1 СК — 2 СК: ;

2 СК — 3 СК: ;

3 СК — 4 СК: .

Тогда координаты точки во 2 СК через 1 СК:

 

.

 

Обратное преобразование из 2 СК в 1 СК:

 

.

 

Причем:

 

.

 

 


Дата добавления: 2015-07-14; просмотров: 190 | Нарушение авторских прав


Читайте в этой же книге: Основные сведения о графических системах (ГС). Функции ГС. Блок-схема ГС. | Векторный и растровый дисплеи. Получение изображения. Сравнительная характеристика. | Однородные координаты | Перенос | Алгоритм Ву | Заполнение области. Алгоритм построчного сканирования, алгоритм заполнения с затравкой. Заполнение линиями. | Когерентность сканирующих строк | Основные виды геометрических моделей. | Методы построения геометрических моделей (построение кривых и поверхностей, кусочно-аналитическое описание, кинематический принцип, булевы операции, полигональные сетки). | Получение проекций. Основные виды проекций. |
<== предыдущая страница | следующая страница ==>
Композиции преобразований| Лестничный эффект

mybiblioteka.su - 2015-2024 год. (0.006 сек.)