
- •1. Обеспечение графических возможностей в вычислительных системах.
- •2. Обзор развития систем компьютерной графики.
- •3. Графические системы autocad, характеристики и возможности.
- •4. Средства ввода-вывода графической информации в эвм.
- •5. Аппаратные средства вывода графической информации в эвм.
- •6. Структура и назначение основных функциональных узлов чертёжного автомата
- •7. Структура и основные характеристики растрового дисплея.
- •8. Моделирование как средство представления графического объекта (го). Типы моделей в компьютерной графике (кг).
- •9. Методика построения сложного го.
- •Модель изделия
- •10. Го – способы задания связей и отношений геометрических примитивов.
- •11. Кусочно-аналитическая модель го.
- •12. Однородная рецепторная модель го.
- •13. Матричные модели го.
- •2) Матричная модель в однородной системе координат.
- •3) Матричная модель в обобщенных координатах
- •14. Модели преобразования го и их классификация.
- •15. Линейные преобразования го (масштабирование, поворот, сдвиг).
- •16. Нелинейные преобразования го (операции композиции, декомпозиции и мультиплицирования).
- •17. Операция отсечения го (алгоритм Сазерленда)
- •18. Растровые преобразования прямой (скэн преобразования).
- •19. Растровые преобразования окружности и эллипса.
- •0, Точка на прямой,
- •20. Методы сглаживания пространственных кривых.
- •21. Характеристики основных компонентов систем кг
- •22. Дисплейные технологии
- •23. Геометрический объект и графическое изображение.
- •24. Типовые графические операции. Примеры.
- •1. Определение взаимного положения точки и прямой
- •25. Операции сечения го.
- •26. Способы представления кривых.
- •27. Области применения кг.
- •28. Объекты кг и требования стандартов к представлению графической информации.
17. Операция отсечения го (алгоритм Сазерленда)
Преобразование отсечения
Рассмотрим команду построения линии в AutoCad:
Command: line
from point 0,0
to point 2000,1500
Отсечение- это отбрасывание части изображения, лежащей вне заданной области (вне заданного окна).
В приведённом примере: чтобы выполнить отсечение отрезка, ограниченного прямоугольным окном отсечения, необходимо исследовать уравнение отрезка для каждой границы области отсечения:
форма окна более сложная, то расчёты ещё более усложняются.
Общее требование - окно отсечения должно быть выпуклым.
Алгоритм Сазерленда
В этом алгоритме отсутствует вычисление точек пересечения с окном. Окно отображения делит экран на 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, если область находится выше окна отсечения.
Рассматривается несколько случаев:
отрезок целиком находится в области окна отображения;
отрезок частично находится в области окна отображения;
отрезок не находится в области окна отображения.
Всем точкам, формирующим изображение (началам и концам отрезков) присваиваются коды областей, где они расположены.
Алгоритм:
Определяется, лежит ли отрезок полностью в области отсечения. Для этого выполняется операция логического "ИЛИ" кодов конца отрезка. И если результат =0, то отрезок полностью лежит в области окра отсечения и должен быть сохранён;
я ли отрезок полностью вне окна отсечения. Для этого выполняется операция логического "И". Если результат операции НЕ равен нулю, то этот отрезок лежит вне области окна отсечения и должен быть отброшен;
Если логическое "ИЛИ" для кодов конца отрезка НЕ равно 0, а логическое "И" равно =0, то отрезок прямой пересекается с окном отображения. Причём, результат логического "ИЛИ" (не равный нулю) укажет, с какой границы от окна отображения находится отрезок;
Далее, если отрезок пересекает окно отображения, ищем точку пересечения; и концам отрезков присваиваются новые коды;
Далее алгоритм повторяется для полученных отрезков.
3 применяется алгоритм нахождения пересечения отрезка с границей области отсечения.
18. Растровые преобразования прямой (скэн преобразования).
Рассмотрим команду построения линии в AutoCad:
Command: line
from point 5,10
to point 10,20
Цель scan-преобразования - представить начальную и конечную координату отрезка в совокупность пикселей в видеобуфере.
Подходы к решению задачи:
1) Использование классического уравнения прямой.
т.е. перебираем все множество точек. Чем меньше зерно (пиксель), тем дольше идет операция. Занимает много времени, а следовательно уменьшается быстродействие. Такой подход редко используется, несмотря на простоту.
2) Метод вычисления по приращению (алгоритм Брезенхема1)
По известным координатам x и y начального пикселя прямой с помощью прибавления приращений по осям x и y с учётом наклона прямой можно найти положение следующего пикселя.
С помощью этого алгоритма формируется набор пикселей, наиболее близко прилежащих к данной прямой.
Допущения:
Наша прямая проходит через начало координат;
Она проходит под углом α ≤ 45° (0 ≤ tgα ≤ 1);
;
(0, 0) – координаты начального пикселя.
Тогда
уравнение прямой:
То есть в общем случае мы имеем алгоритм следующего вида: