Читайте также:
|
|
Процедура ClearDevice очищает графический экран, устанавливает указатель в левый верхний угол.
Упражнение 1. Нарисовать 20 вертикальных отрезков в ряд.
Program primer1;
Uses graph;
Var I, d, m: integer;
Begin
D:=detect;
Initgraph (d, m, ‘’);
For I:=1 to 20 do
Line (20*I, 100, 20*I, 200);
End.
Задание для самостоятельной работы: добавьте цвет выводимых отрезков. Нарисуйте 20 горизонтальных цветных отрезков.
Упражнение 2. Нарисовать 10 закрашенных в разные цвета окружностей так, чтобы они касались друг друга в 1 точке.
Упражнение 3. Нарисовать квадрат и вписанную в него окружность
Program primer3;
Uses graph;
Var d, m: integer;
Begin
D:=detect;
Initgraph (d, m, ‘’);
Rectangle (100,100, 200, 200);
Circle (150,150, 50);
End.
Задание для самостоятельной работы: добавьте цвет, заливку квадрата и окружности.
Упражнение 4. Нарисовать пирамиду из 10 эллипсов, каждый закрасить в свой цвет.
Упражнение 5. Вывести текст в заданном месте экрана и заставить его переливаться разными цветами.
Program primer5;
Uses graph, crt;
Var I, d, m: integer;
Begin
D:=detect;
Initgraph (d, m, ‘’);
For I:=1 to 15 do
Begin
Setcolor (i);
OuttextXY (100,50, ‘Выводим сообщение в графическом режиме’);
Delay(1000);
End;
End.
Задание для самостоятельной работы: попробуйте изменить шрифт, размер и ориентацию текста.
Упражнение 6. Организовать движение точки по экрану слева напрво.
Program primer5;
Uses graph;
Var I, d, m: integer;
Begin
D:=detect;
Initgraph (d, m, ‘’);
For I:=1 to 600 do
Begin
Putpixel (I, 200, 0); {рисуем точку цветом фона}
Putpixel (I+1, 200, 15); {рисуем белую точку на новом месте}
End;
End.
Задание для самостоятельной работы: измените траекторию движения точки на вертикальную, наклонную, по кривой, например, по синусоиде или по окружности.
Упражнение 7. Движение по экрану горизонтального отрезка.
Program primer5;
Uses graph, crt;
Var I, d, m: integer;
Begin
D:=detect;
Initgraph (d, m, ‘’);
Line (10, 100, 60, 100);
For I:=1 to 600 do
Begin
Putpixel (9+I, 100, 0) {закрашиваем левую точку отрезка в цвет фона}
Putpixel (60+I, 100, 15) {справа пририсовываем белую точку}
Delay(100);
End;
End.
Задание для самостоятельной работы: попробуйте заставить двигаться закрашенный прямоугольник.
Упражнение 8. Создать эффект плавного сжатия окружности по оси Y.
Упражнение 9. Построить модель пульсирующего круга. Закрашенный круг сначала плавно увеличивается до определенного размера, а затем уменьшается.
Упражнение 10. Изобразить на экране движущуюся змейку.
[1] Из книги Румянцева Дмитрия, Монастырского Леонида «Путь программиста: Опыт созидания личности программиста». – М.: «Издательский Дом ИНФРА-М», 2000
Графика в PascalABC
Выберите меню Помощь, затем Содержание. В открывшемся окне справки выберите вкладку Указатель. В поле для поиска наберите GraphABC. В окне для просмотра содержатся константы, типы, процедуры и функции для рисования в графическом окне.
Начните изучение графики с задания режимов вывода.
Нам понадобятся следующие процедуры:
1. RestoreDrawingSurface (устанавливает в качестве канвы для рисования графическое окно);
2. LockDrawing (блокирует вывод в графическое окно, осуществляя рисование только во внеэкранном буфере);
3. Redraw (осуществляет перерисовку окна вывода при заблокированном выводе в графическое окно).
Просмотрите пример анимации без мерцания.
Итак, для того чтобы перейти в режим графики нужно «включить» модуль (uses) GraphABC.
В данном примере, когда необходимо перерисовывать изображение, используется процедура LockDrawing.
Задание1:
Измените программу: вместо процедуры LockDrawing напишите процедуру RestoreDrawingSurface. Сохраните программу под именем 1.pas, запустите программу.
? Что изменилось в изображении.
Задание2: познакомьтесь с процедурой sleep(). Измените значение параметра процедуры на 10,100,1000.
? Что изменилось в изображении.
Перейдите к группе действия с графическим окном.
Задание3: установите следующие параметры для графического окна:
û Ширину -200
û Высоту – 350
û Отступ от левого верхнего края экрана (20,100): 20 – левого, 100 – верхнего
û Заголовок – «Ф.И.,INF - 4»
Максимизируйте окно для дальнейшего рисования.
Начало координат находится в левом верхнем углу, ось OX – горизонтальная, ось OY - вертикальная.
Переходите к изучению графических примитивов.
Задание4: нарисуйте следующее:
1. Окружность. Изобразите эффект перемещающейся окружности (использовать разобранный пример):
a. слева направо и справа налево;
b. сверху вниз и снизу вверх;
c. по главной и побочной диагоналям.
2. Части круга, закрасьте их различными цветами с помощью функции RGB(r,g,b).
3. Закрашенные пересечения.
Для выполнения заданий 2 и 3 познакомьтесь с группой действие с цветом.
Домашнее задание:
Procedure Fractal(x, y, r, r1, n: integer);
var x1,y1,i:integer;
begin
if n>1 then
begin
circle(x,y,r);
r1:=trunc(r*k2);
for i:=1 to 4 do
begin
x1:=trunc(x+r1*cos(pi/2*i));
y1:=trunc(y+r1*sin(pi/2*i));
int(x1,y1,trunc(r*k1),r1,n-1);
end;
end;
end;
Напишите программу рисования такого фрактала. Добавьте изменения:
û Количество окружностей (в нашем случае их 4) – 5, 6, 8, 10.
û Окружности различного цвета.
Дата добавления: 2014-12-19; просмотров: 67 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Очистка графического экрана | | | Группы и групповые коммуникации |