Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Графика в PascalABC

Читайте также:
  1. Lt;сұрақ>Word. Бiр мезетте бiрнеше графикалық элементтердi қалай белгiлеуге болады?
  2. Векторная графика
  3. вопрос Компьютерная графика и графические системы
  4. Графика в PascalABC.NET
  5. Двухмерная графика
  6. Живопись и графика
  7. Задание 5. РАСЧЕТ ПАРАМЕТРОВ СИСТЕМЫ УЧЕТА ЗА СОСТОЯНИЕМ ЗАПАСА И СОСТАВЛЕНИЕ ОЖИДАЕМОГО ГРАФИКА ЗАПАСОВ
  8. Интерполяция. Вывод непрерывного графика.
  9. Компьютерная графика

Процедура 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 познакомьтесь с группой действие с цветом.

 

Домашнее задание:

  1. Напишите программу, которая рисует прямоугольник (эллипс), подобный графическому окну и раздувает его до размеров окна. Использовать процедуру sleep, для того, чтобы проследить как изменяются размеры прямоугольника (эллипса).
  2. Напишите программу, которая перемещает графическое окно (ширину и высоту окна задайте небольшие) по следующим траекториям:
    1. От левого верхнего угла к правому верхнему, затем к правому нижнему, левому нижнему и к левому верхнему углу (по часовой и против часовой стрелке);
    2. От левого верхнего угла к правому верхнему, затем к левому нижнему, правому нижнему и к левому верхнему углу («песочные часы»);
  3. Нарисуйте окружности как на рисунке, рисование окружностей реализовать в цикле.

 

 

  1. Изучите процедуру рисования графического фрактала

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; просмотров: 44 | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Очистка графического экрана| Группы и групповые коммуникации

lektsii.net - Лекции.Нет - 2014-2021 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав