Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mashgraf.doc
Скачиваний:
6
Добавлен:
04.09.2019
Размер:
152.58 Кб
Скачать

Семинары N7 и N8 МАШИННАЯ ГРАФИКА.

Семинар N7

Построение плоских изображений и создание анимации

Компьютерная графика - совокупность методов и средств для преобразования данных в графическую форму представления и обратно с помощью ЭВМ.

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

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

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

Изображение, подлежащее выводу на экран дисплея, может быть представлено совокупностью простейших геометрических фигур (отрезков, прямоугольников, окружностей, эллипсов и т.д.), для высвечивания которых имеются, как правило, готовые языковые средства. Однако для правильного использования готовых методов классов, обеспечивающих построение геометрических фигур, следует знать параметрическое число каждого из таких объектов. Параметрическим числом объекта называется минимальное количество параметров, задающих этот геометрический объект. Например, параметрическое число отрезка - четыре, прямоугольника, эллипса - пять.

Однако при использовании методов классов Delphi требуется задавать меньшее количество параметров. Это свидетельствует о том, что данные методы обеспечивают вывод фигур частного положения. Например, отрезок строится из текущего положения графического курсора в точку с заданными координатами, прямоугольник - со сторонами, параллельными координатным осям, эллипс - с осями, также параллельными координатным осям. Данные ограничения следует принимать во внимание при написании программ, в частности, в том случае, когда строится преобразованное (повернутое) изображение, так как в этом случае геометрические фигуры приобретают произвольную ориентацию на плоскости. В этом случае необходимо самостоятельно написать фрагмент программы, обеспечивающей построение требуемого изображения. Вывод прямоугольника удобно осуществлять, зная координаты его четырех вершин, а построение кривых обычно производится по точкам, принадлежащим кривой, которые соединяются отрезками прямых.

При написании программы вывода графического изображения целесообразно составить выражения для вычисления координат точек, используемых при обращении к методам вывода геометрических объектов. При этом определенную точку изображения принимают за базовую, а координаты остальных точек вычисляют по отношению к этой базовой точке. Такой подход делает программу достаточно гибкой и универсальной, так как при изменении положения базовой точки автоматически пересчитываются координаты других точек. Размеры фрагментов изображения не следует задавать в абсолютных значениях, а лучше задавать в долях от размеров поля вывода (разрешающей способности), так как в этом случае при изменении размеров поля вывода пропорционально изменятся и размеры выводимого изображения и не придется заново вычислять новые размеры и координаты точек.

Под разрешающей способностью экрана понимают количество растра, приходящихся на единицу измерения длины, вдоль координатных осей.

Графические возможности Delphi. Построение плоских изображений

Среда визуального программирования Delphi в полной мере предоставляет пользователю возможность разрабатывать программы, с помощью которых можно получить графические изображения: схемы, чертежи, текст и иллюстрации. Богатство графических возможностей Windows связано с так называемым дескриптором контекста графического устройства DC (Device Context) и тремя входящими в него инструментами - шрифтом, пером и кистью. В Delphi созданы классы-надстройки, упрощающие использованием графических инструментов Windows: для контекста - класс TCanvas, для шрифта - TFont, для пера - TPen, для кисти - TBrush. Связанные с этими классами объекты автоматически создаются для всех видимых элементов и становятся доступны программе через свойства Canvas, Font, Pen, Brush.

В Delphi существует ряд специальных компонентов для вывода готовых изображений (рисунков или фотографий) из графических файлов (компонент Image), некоторых геометрических фигур (компонент Shape), графиков и диаграмм (компонент Chart) и др. Например, с помощью компонента Shape (он расположен на странице Additional палитры компонентов) можно изобразить на форме круг, эллипс, квадрат, прямоугольник или прямоугольник с закругленными углами. Для этого достаточно поместить на форму компонент Shape и настроить его с помощью соответствующих свойств (свойство Shape позволяет выбрать фигуру, свойство Brush отвечает за её фоновый цвет, а свойство Pen - за толщину и цвет её границы).

Основным классом, позволяющим использовать обширные графические возможности Delphi является класс TСanvas. Этот класс имеет множество свойств и методов. Объект Canvas (канва, холст) этого класса является свойством формы и многих графических компонентов (Image, PaintBox, BitMap и др.). Он представляет собой область компонента, на которой можно рисовать или отображать готовые изображения. Канва содержит свойства и методы, существенно упрощающие графику Delphi.

Каждая точка канвы имеет координаты Х и Y. Система координат канвы, как и везде в Delphi, имеет началом левый верхний угол канвы. Координата Х возрастает при перемещении слева направо, а координата Y - при перемещении сверху вниз. Координаты измеряются в пикселах. Важнейшее свойство пиксела - его цвет. Для описания цвета используется тип TColor. Цвет встречается практически в каждом компоненте. В Delphi определено множество констант типа TСolor. Одни из них непосредственно определяют цвета (например, clBlue - синий), другие определяют цвета элементов окон, которые могут меняться в зависимости от выбранной пользователем палитры цветов Windows (например, clBtnFace - цвет поверхности кнопок).

Таблица 1

Константы свойства Color

Константа

Цвет

Константа

Цвет

clBlack

Черный

clSilver

Серебристый

clMaroon

Каштановый

clRed

Красный

clGreen

Зеленый

clLime

Салатный

clOlive

Оливковый

clBlue

Синий

clNavy

Темно-синий

clFuchsia

Ярко-розовый

clPurple

Розовый

clAqua

Бирюзовый

clTeal

Зелено-голубой

clWhite

Белый

clGray

Серый

clYellow

Желтый

У канвы имеется свойство Pen - перо. Оно, в свою очередь, имеет ряд свойств. Одно из них - уже известное свойство Color - цвет, которым наносится рисунок. Второе свойство - Width (ширина линии). Она задается в пикселах. По умолчанию ширина линии равна 1. Третье свойство Style определяет вид линии. Это свойство может принимать следующие значения:

Таблица 2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]