4.34. Измените алгоритм граничного заполнения четырехсвязной области таким образом, чтобы можно было избежать занесения в стек лишней информации, включив в него растровые методы.

4.35. Напишите процедуру для граничного заполнения восьмисвязной области.

4.36. Объясните, как эллипс, изображенный с помощью метода средней точки, можно правильно закрасить с помощью алгоритма граничного заполнения.

4.37. Разработайте и реализуйте алгоритм потокового заполнения для закрашивания внутренней части любой заданной фигуры.

4.38. Определите и реализуйте процедуру для изменения размера существующего прямоугольного узора заполнения.

4.39. Напишите процедуру реализации алгоритма мягкого закрашивания. Тщательно определите, какой алгоритм мягкого закрашивания следует применить и какие цвета объединить.

4.40. Придумайте алгоритм для подбора высоты и ширины символов, заданных в виде прямоугольной сетки.

4.41. Примените стандартные функции для определения вектора ориентации символов и направления текстовой дорожки для управления изображением текстовой строки.

4.42. Напишите программу для выравнивания текста с помощью заданных входных значений параметров выравнивания.

4.43. Разработайте процедуры для применения атрибутов маркеров (размера и цвета).

4.44. Реализуйте процедуру устранения контурных неровностей, дополнив алгоритм построения прямой линии Брезенхема таким образом, чтобы можно было подбирать интенсивности пикселей непосредственно около траектории прямой.

4.45. Реализуйте процедуру устранения контурных неровностей в алгоритме средней точки для прямой линии.

4.46. Разработайте алгоритм для устранения контурных неровностей границ эллипса.

4.47. Измените растровый алгоритм для закрашивания фигур, включив в него функцию устранения контурных неровностей. Воспользуйтесь когерентными методами для уменьшения количества вычислительных операций в следующих друг за другом строках развертки.

4.48. Напишите программу для применения алгоритма сглаживания Питтвея-Уоткинсона как растровой процедуры для заполнения внутренней области многоугольника, воспользовавшись функцией нанесения точек на график пакета OpenGL.

ГЛАВА 5

Геометрические преобразования

о этого момента рассказывалось, как сцену можно описать через такие графические примитивы, как отрезки и закрашенные области, используя параметры этих примитивов. Кроме того, изучалось отображение выходных примитивов на растровое устройство с помощью алгоритмов строк развертки. В данной главе рассматриваются преобразования, под воздействием которых объекты меняют свое положение или размеры. Эти операции также используются в процедурах наблюдения, переводящих описание сцены во внешних координатах на устройство вывода. Кроме того, они применяются во множестве других приложений, например, автоматизированном проектировании и компьютерной анимации. Архитектор, например, создает план, варьируя ориентацию и размер частей-компонентов, а специалист по компьютерной анимации проектирует видеоряд, перемещая “камеру” или объекты сцены по заданным траекториям. Операции, применяющиеся к геометрическому описанию объекта с целью изменения его положения, ориентации или размера, называются геометрическими преобразованиями.


⇐ вернуться назад | | далее ⇒