Конспект урока на тему «Рассмотрение работы в графическом режиме»
Рассмотрение работы в графическом режиме
Содержание занятия
1. Организационный момент.
Приветствие. Проверка присутствующих. Постановка цели.
Формирование мотивации к изучению темы.
2. Изучение нового материала.
Понятие графического адаптера.
Аппаратная поддержка графики персонального компьютера обеспечивается двумя основными модулями: видеоадаптером и видеомонитором. Видеомонитор — это устройство, на котором появляется выводимый текст или графические изображения. Видеоадаптеры — это электронные устройства,
При работе с экраном в графическом режиме очень важным является то, что любая информация представляет собой совокупность пикселей. Каждый пиксель определяется своими координатами, т. е. положением относительно левого верхнего угла экрана. С помощью программ можно управлять светимостью и цветом любого пикселя, т. е. создавать любое изображение.
:
Для управления экраном в графическом режиме с помощью программ в Turbo Pascal существуют специальные графические процедуры и функции. Описание этих процедур и функций содержится в специальном библиотечном модуле CRAPH.
Запуск
Подключить модуль CRAPH — библиотеку графических процедур: uses graph;
Установить графический режим с помощью двух переменных:
Var DriverVar, ModeVar: integer;
DriverVar:=Detect;
InitGraph ;
С этого момента все графические средства доступны пользователю.
Процедуры и функции модуля CRAPH
Процедуры.
Arc
Строит дугу окружности текущим цветом с текущими параметрами линии. X, Y — координаты центра дуги; U1 — угол до начальной точки дуги, отсчитываемый против часовой стрелки от горизонтальной оси, направленной с лева на право; U2 — угол до конечной точки дуги, отсчитываемый так же, как U1; R — радиус дуги.
Bar
Строит прямоугольник, закрашенный текущим цветом с использованием текущего стиля . X1, Y1, X2, Y2 — координаты левого верхнего и правого нижнего углов прямоугольника.
Bar3D (X1, Y1, X2, Y2:Integer; Glubina: Word; «»>
Строит параллелепипед, используя текущий стиль и цвет. X1, Y1, X2, Y2 — координаты левого верхнего и правого нижнего углов передней грани; Glubina — ширина боковой грани ; Top — признак включения верхней грани .
Circle
Рисует текущим цветом окружность радиуса R с центром в точке .
Очищает графический экран, закрашивает его в цвет фона.
Очищает выделенное графическое окно, закрашивает его в цвет фона.
Закрывает графический режим, т. е. освобождает память, распределенную под драйверы графики и файлы шрифтов, и восстанавливает текстовый режим работы экрана.
Ellipse
Рисует дугу эллипса текущим цветом. X, Y — координаты центра эллипса; U1, U2 — углы до начальной и конечной точек дуги эллипса ; XR, XY — горизонтальная и вертикальная полуоси эллипса.
Fill Ellipse
Рисунт заштрихованный эллипс, используя X, Y как центр и XR, YR как горизонтальную и вертикальную полуоси эллипса.
FillPoly
Рисует и штрихует многоугольник, содержащий N вершин с координатами в поле PolyPoints.
InitGraph
Организует переход в графический режим. Переменные Driver и Mode содержат тип графического драйвера и его режим работы. Третий параметр определяет маршрут поиска графического драйвера.
Если строка пустая , считается, что драйвер находится в текущем каталоге.
Line
Рисует линию от точки X1, Y1, до точки X2, Y2.
LineTo
Рисует линию от текущего указателя к точке X, Y.
MoveTo
Смещает текущий указатель к точке X, Y.
OutTextXY
Выводит текст в заданное место экрана.
PieSlice
Строит сектор круга, закрашенный текущей штриховкой и цветом заполнения. X, Y — координаты центра сектора круга; U1 и U2 — начальный и конечный углы сектора, отсчитываемые против часовой стрелки от горизонтальной оси, направленной в право; Radius — радиус сектора.
PutPixel
Выводит точку цветом Color с координатами X, Y.
Rectangle
Рисует контур прямоугольника, используя текущий цвет и тип линий. X1, Y1 — координаты левого верхнего угла прямоугольника; X2, Y2 — координаты левого правого нижнего угла прямоугольника.
Sector
Рисует и штрихует сектор эллипса радиусом XR, YR с центром в X, Y от начального угла U1 к конечному углу U2.
SetBkColor
Устанавливает цвет фона.
SetColor
Устанавливает основной цвет рисования.
SetFillStyle
Устанавливает образец штриховки и цвета.
SetLineStyle
Устанавливает толщину и цвет линии.
SetTextStyle
Устанавливает текущий шрифт, направление и размер текста.
SetViewPort
Устанавливает прямоугольное окно на графическом экране. Параметр ClipOn определяет «отсечку» элементов изображения, не умещающихся в окне.
Функции.
GetMaxX и GetMaxY
Возвращает значения максимальных координат экрана в текущем режиме работы соответственно по горизонталь и вертикали.
Возвращает значение GrOk, соответствующее коду 0, если все графические операции программы выполнились без ошибок, или возвращает числовой код ошибки .
Закрытие видеорежима. Когда все запланированные графические работы выполнены, необходимо выйти из графического режима. Это делается с помощью не имеющей параметров процедуры ClozeGraph.
В процессе выполнения эта процедура освобождает память, распределенную под драйверы графики, файлы шрифтов и промежуточные данные, и восстанавливает режим работы адаптера в то состояние, в котором он находился до выполнения инициализации системы.
Использование процедур и функций при решении задач. Рассмотрение структуры программы.
Построить правильный многоугольник с заданным числом сторон.
Решение.
Центр многоульника совмещаем с центром экрана. Пусть N — число его сторон. Центральный угол стороны Angle=2 Pi / N. Начальную вершину многоугольника поместим на горизонтальной оси . Угол наклона i-й вершины к оси Х составляет Angle i, а ее центральные координаты X, Y —
X = round );
Y = round );
Где R — радиус описанной окружности.
Проводим i-ю сторону, соединяя линией найденную i-ю и предыдущую вершины. Выполнив это построение для всех i от 1 до N, получим наш многоугольник.
{ Построение правильного многоугольника с N сторонами}
Uses graph, crt;
PrD:real=80; { Длина диаметра описанной окружности в % от высоты экрана}
PATH=»; { файлы. BGI находятся в рабочем каталоге}
W, H, gd, gm, i, N, X, Y. R:integer;
Angle:real;
{ переход от центральных координат к экранным}
Procedure WH ; { ширина и высота экрана}
{ функция GetMaxX и GetMaxY возвращают максимальные значения соответствующих экранных координат}
W:= ; { ширина}
H:= ; { высота}
End;
Function Xscr :integer;
Begin Xscr:=X + W div 2 end;
Function Yscr :integer;
Begin Yscr:=H div 2 — Y end;
Write ;
Readln ;
Until N>2;
Gd:=DETECT;
Initgraph ;
WH ; { определяем ширину и высоту экрана}
R:=round ; { радиус описанной окружности}
Angle :=2pi/N; { центральный угол стороны в радиусах}
MoveTo , Yscr ); { первая вершина в экранных координатах}
SetColor ; { цвет многоугольника — желтый}
For i:=1 to N do begin {цикл сторон}
{X и Y — центральные координаты очередной вершины}
X:=round );
Y:= round );
{проводим очередную сторону}
LineTo , Yscr );
End; {цикл сторон}
Repeat until keypressed; { выход — нажатием любой клавиши}
CloseGraph; { переход в текстовый режим}
End.
3. Закрепление и обобщение изученного материала.
Закрепление изученного материала рекомендую провести следующим образом. Группу студентов разделить на две команды и провести состязание. Состязание содержит три задания.
Построить график функции y=sin ). График приведен в Приложении 1.
Разгадать кроссворд по процедурам модуля GRAPH. Представлен в Приложении 2.
Составить программу, выводящую на экран визитную карточку учебного заведения.
4. Домашнее задание.
. Решить задачи 7, 10 на стр. 420, построить график функции другого варианта.
5. Итоги занятия.
Выставление оценок за работу в командах. «Чему мы сегодня научились?» «Гости сами решат, к какой компании обратиться за изготовлением программных продуктов».