- •1. Обеспечение графических возможностей в вычислительных системах.
- •2. Обзор развития систем компьютерной графики.
- •3. Графические системы AUTOCAD, характеристики и возможности.
- •4. Средства ввода-вывода графической информации в ЭВМ.
- •5. Аппаратные средства вывода графической информации в ЭВМ.
- •6. Структура и назначение основных функциональных узлов чертёжного автомата
- •7. Структура и основные характеристики растрового дисплея.
- •8. Моделирование как средство представления графического объекта (ГО). Типы моделей в компьютерной графике (КГ).
- •9. Методика построения сложного ГО.
- •10. ГО – способы задания связей и отношений геометрических примитивов.
- •12. Однородная рецепторная модель ГО.
- •13. Матричные модели ГО.
- •14. Модели преобразования ГО и их классификация.
- •15. Линейные преобразования ГО (масштабирование, поворот, сдвиг).
- •16. Нелинейные преобразования ГО (операции композиции, декомпозиции и мультиплицирования).
- •17. Операция отсечения ГО (алгоритм Сазерленда)
- •18. Растровые преобразования прямой (СКЭН преобразования).
- •19. Растровые преобразования окружности и эллипса.
- •20. Характеристики основных компонентов систем КГ
- •21. Дисплейные технологии
- •23. Типовые графические операции. Примеры.
- •24. Операции сечения ГО.
- •25. Области применения КГ.
- •26. Объекты КГ и требования стандартов к представлению графической информации.
16. Нелинейные преобразования ГО (операции композиции, декомпозиции и мультиплицирования).
1. Композиция - объединение более мелких объектов в один. Необходимо задать правила вычисления атрибутов аналогичных данных для создаваемого нового объекта. В процессе обобщения вычисляются данные для создающегося объекта в зависимости от заданного метода отношений атрибутов. Большинство ГИС - технологий содержит следующие методы обобщения данных при объединении объектов:
•сумма - значения атрибутов, соответствующих исходным объектам , складываются, и сумма присваивается новому объекту. At{M) =T.At(A.)i I.......k (где k - число исходных объектов)
•среднее - вычисляется среднее значение атрибутов исходных объектов и присваивается атрибуту нового объекту. At{M) = T.At{A,)l кi=l.......k
•взвешенное среднее - разные значения для исходных объектов умножаются на различные коэффициенты (веса) р Веса можно брать из любого числового поля таблицы или вычислять по значению характеристики пространственного объекта (например,
использовать его площадь или периметр, которые могут отсутствовать в таблице.)
2. Декомпозиция (break) – обратная композиция. При декомпозиции используют следующие методы преобразования атрибутов:
•пусто - удаляет значение, которое соответствовало изменяемому объекту.
•значение - сохраняет значение, которое соответствовало изменяемому объекту.
•пропорционально размеру - вычитает из значения (которое соответствовало изменяемому объекту) долю, пропорциональную размеру вырезанного фрагмента.
3. Мультиплицирование - преобразование отдельного изображения в большое число идентичных изображений. Методы:
•Шаговые фотокамеры с последовательным экспонированием - создает последовательно одно изображение за другим,
причем их местоположением можно управлять. Преимущества такого прибора заключаются в доступности, легкости программирования, идентичности качества каждого изображения и разнообразии вариантов.
•Некогерентные оптические системы (рис 1) - При
точечном освещающем источнике в выходной плоскости |
|
формируется изображение периодической маски (ПМ). Если |
|
освещающим источником является входное изображение, то |
на |
выходе наблюдается множество копий входного изображения |
— |
по одному изображению для каждой точки периодической |
|
маски. |
|
•Когерентные неголографические системы;
•Когерентные голографические системы.
Встрого когерентных вариантах системы периодическая структура осуществляет выборку дифракционной картины Фраунгофера входного изображения, так что выходное изображение представляет собой свертку входного изображения с
периодической функцией.
Этим двум методам присущи два основных недостатка. Во-первых, в выходном изображении имеет место конкуренция между яркостью и разрешением. Чтобы получить хорошее разрешение, маска должна иметь очень маленькие отверстия, а чтобы иметь хорошее пропускание, отверстия должны быть большие. Во-вторых, очень трудно получить N изображений с одинаковой яркостью. Эти проблемы голографического мультиплицирования изображений требуют своего решения.
17. Операция отсечения ГО (алгоритм Сазерленда) Преобразование отсечения
Рассмотрим команду построения линии в AutoCad: Command: line
from point 0,0
to point 2000,1500
y
600
необходимоscan-преобразованиеыполнить x
(0;0) |
800 |
Отсечение- это отбрасывание части изображения, лежащей вне заданной области (вне заданного окна).
В приведённом примере: чтобы выполнить отсечение отрезка, ограниченного прямоугольным окном отсечения, необходимо исследовать уравнение отрезка для каждой границы области отсечения:
форма окна более сложная, то расчёты ещё более усложняются. Общее требование - окно отсечения должно быть выпуклым.
фигура: |
фигура |
выпуклыхфигур: |
(вогнутая - ?) |
>квадрат; |
|
> прямоугольник; |
|
> трапеция. |
|
Алгоритм Сазерленда
В этом алгоритме отсутствует вычисление точек пересечения с окном. Окно отображения делит экран на 9 областей, положение в которых задаётся четырёхразрядным двоичным кодом.
Область окна отсчёта изображения кодируется четырёхразрядным двоичным кодом (в данном случае, a0 - старший разряд):
Область изображения |
a0 |
a1 |
a2 |
a3 |
|
Область окна отсечения |
0 |
0 |
0 |
0 |
|
Область выше окна отсечения |
1 |
X |
X |
X |
|
Область ниже окна отсечения |
X |
1 |
X |
X |
|
Область, правее окна отсечения |
X |
X |
1 |
X |
|
Область, левее окна отсечения |
X |
X |
X |
1 |
Например, в разряде a0 стоит 1, если область находится выше окна отсечения. Рассматривается несколько случаев:
1)отрезок целиком находится в области окна отображения;
2)отрезок частично находится в области окна отображения;
3)отрезок не находится в области окнаотображения.
Всем точкам, формирующим изображение (началам и концам отрезков) присваиваются коды областей, где они расположены.
Алгоритм:
1) Определяется, лежит ли отрезок полностью в области отсечения. Для этого выполняется операция логического "ИЛИ" кодов конца отрезка. И если результат =0, то отрезок полностью лежит в области окра отсечения и должен быть сохранён; 2) я ли отрезок полностью вне окна отсечения. Для этого выполняется операция логического "И". Если результат операции НЕ равен нулю, то этот отрезок лежит вне области окна отсечения и должен быть отброшен;
3)Если логическое "ИЛИ" для кодов конца отрезка НЕ равно 0, а логическое "И" равно =0, то отрезок прямой пересекается с окном отображения. Причём, результат логического "ИЛИ" (не равный нулю) укажет, с какой границы от окна отображения находится отрезок;
4)Далее, если отрезок пересекает окно отображения, ищем точку пересечения; и концам отрезков присваиваются новые
коды;
5)Далее алгоритм повторяется для полученных отрезков.
частичнонаходитсяв |
начасти- вместе |
|
областиотображения |
пересечениясокном |
повторяется |
длякаждогоиз полученных отрезков
1.3 применяется алгоритм нахождения пересечения отрезка с границей области отсечения.
18. Растровые преобразования прямой (СКЭН преобразования).
Рассмотрим команду построения линии в AutoCad: Command: line
from point 5,10 to point 10,20
Цель scan-преобразования - представить начальную и конечную координату отрезка в совокупность пикселей в видеобуфере. Подходы к решению задачи:
1) Использование классического уравнения прямой. y = Ax + B
x1 ≤ xi ≤ x2
yi = Ax + B; A = tgα, т.е.
yi+1 = A(xi +∆) + B = Axi + B +∆A = yi +∆A
т.е. перебираем все множество точек. Чем меньше зерно (пиксель), тем дольше идет операция. Занимает много времени, а следовательно уменьшается быстродействие. Такой подход редко используется, несмотря на простоту.
2) Метод вычисления по приращению (алгоритм Брезенхема1)
По известным координатам x и y начального пикселя прямой с помощью прибавления приращений по осям x и y с учётом наклона прямой можно найти положение следующего пикселя.
С помощью этого алгоритма формируется набор пикселей, наиболее близко прилежащих к данной прямой. Допущения:
1.Наша прямая проходит через начало координат;
2.Она проходит под углом α ≤ 45° (0 ≤ tgα ≤ 1);
3.x2 > x1 ;
4.(0, 0) – координаты начального пикселя.
Тогда уравнение прямой:
y = |
y2 − y1 |
x = dy x |
||
|
||||
|
x |
2 |
−x |
dx |
|
|
1 |
|
То есть в общем случае мы имеем алгоритм следующего вида:
tgα
0<tgα<1 |
-1<tgα<0 |
tgα>1 |
tgα<-1 |
19.Растровые преобразования окружности и эллипса.
Существует несколько очень простых, но не эффективных способов преобразования окружностей в растровую форму.
Например, рассмотрим для простоты окружность с центром в начале координат. Ее уравнение записывается как x2 + y2 = R2. Решая
это уравнение относительно y, получим |
y = ± |
. |
|
|
|
|
|
|
||
Чтобы изобразить четвертую часть окружности, |
будем изменять x с единичным шагом от 0 |
до R и |
на |
каждом |
шаге |
|||||
вычислять y. Вторым |
простым |
методом растровой |
развертки окружности является |
использование |
вычислений и y по |
|||||
формулам x = R cos α, y = R sin α |
|
|
придо90пошаговом. |
изменении угла |
α |
|
от 0 |
|
||
Для упрощения |
алгоритма |
растровой развёртки |
стандартной окружности |
можно |
воспользоваться её |
симметрией |
относительно координатных осей и прямыхy = ± x; в случае, когда центр окружности не совпадает с началом координат, эти прямые необходимо сдвинуть параллельно так, чтобы они прошли через центр окружности. Тем самым достаточно построить растровое представление для 1/8 части окружности, а все оставшиеся точки получить симметрией (см. рис. 2.5).
Рис. |
2.5. Восьмисторонняя симметрия |
|
|
Рассмотрим участок окружности из второго октанта x Є [0, R/ |
]. Далее опишем |
|
алгоритм Брезенхейма для этого участка окружности. |
|
|
|
|
|
|
На |
каждом |
шаге |
алгоритм выбирает точкуPi (xi |
, yi), которая является |
||
|
|
|
|
ближайшей к истинной окружности. Идея алгоритма заключается в выборе ближайшей |
|||||||
|
|
|
|
точки при помощи управляющих переменных, значения которых можно вычислить в |
|||||||
|
|
|
|
пошаговом режиме с использованием небольшого числа сложений, вычитаний и |
|||||||
|
|
|
|
сдвигов. |
|
|
|
|
|
|
|
|
|
|
|
|
Рассмотрим небольшой участок сетки пикселов, а также возможные способы (от |
||||||
A |
|
|
|
до E) прохождения истинной окружности через сетку (рис. 2.6). |
|||||||
Предположим, |
что точка Pi-1 была |
выбрана как ближайшая к окружности |
при x = xi-1. Теперь |
найдем, какая из точек |
|||||||
(Si или Ti) расположена ближе к окружности при x = xi-1 + 1. |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
Рис. 2.6. Варианты прохождения окружности через растровую |
||||
|
|
|
|
|
|
|
сетку |
|
|
|
|
|
|
|
|
|
|
|
Заметим, что ошибка при выборе точки Pi (xi, yi) была равна |
||||
|
|
|
|
|
|
|
D(Pi) = (xi2+ yi2) – R2. |
|
|||
|
|
|
|
|
|
|
Запишем выражение для ошибок, получаемых при выборе |
||||
|
|
|
|
|
|
|
точки Si или Ti: |
|
|
||
|
|
|
|
|
|
|
D(Si) = [(xi-1 |
+ 1)2 + (yi-1)2] – R2; |
|
||
|
|
|
|
|
|
|
D(Ti) = [(xi-1 |
+ 1)2 + (yi-1 – 1)2] – R2. |
|
||
|
|
|
|
|
|
|
Если | D(Si) | ≥ | |
D(Ti) |, то Ti ближе к реальной окружности, |
|||
|
|
|
|
|
|
|
иначе выбирается Si. |
|
|||
|
|
|
|
|
|
|
Введем di = | D(Si) | – | D(Ti) |. |
|
|||
|
|
|
|
|
|
|
Ti |
будет выбираться при di ≥ 0, в противном случае будет |
|||
|
|
|
|
|
|
|
устанавливаться Si. |
преобразования, |
|||
|
|
|
|
|
|
|
Опуская |
|
алгебраические |
||
запишем di и di+1 для разных вариантов выбора точки Si или Ti. |
|
|
|
|
|||||||
|
|
|
|
|
|
D1 |
= 3 – 2 R. |
|
|
|
|
Если выбирается Si |
(когда di |
< 0), то di+1 |
= di |
+ 4 xi-1 + 6. |
|
|
|
|
|
||
Если выбирается Ti |
(когда di |
≥ 0), то di+1 |
= di |
+ 4 (xi-1 |
– yi-1) + 10. |
|
|
|
|
||
Существует модификация алгоритма Брезенхейма для эллипса. |
|
|
|
|
|||||||
по уравнению эллипса |
b2 x2 |
+a2 y2 −a2b2 =0 |
|
|
|
|
|
|
|||
|
|
|
0, точка на прямой, |
|
|
|
|
||||
Алгоритм средней точки F(xn , yn ) = |
|
|
|
|
|
||||||
|
> 0, точке М выше ( D), |
|
|
|
|||||||
|
|
|
|
|
< 0, точкеМ внутри (С). |
|
|
|