И. И. Мечникова лаборатория кафедра компьютерных методов экспериментальной экспериментальной физики физики компьютерный практикум
Вид материала | Практикум |
- И. И. Мечникова лаборатория кафедра компьютерных методов экспериментальной экспериментальной, 104.46kb.
- И. И. Мечникова лаборатория кафедра компьютерных методов экспериментальной экспериментальной, 180.75kb.
- Студент Кафедра «Теоретической и экспериментальной физики ядерных реакторов», 38.99kb.
- Аспирант Кафедра «Теоретической и экспериментальной физики ядерных реакторов», 37.79kb.
- Учебно-методический комплекс дисциплина «физика» Кафедра общей и экспериментальной, 611.05kb.
- Рабочая программа утверждаю: по курсу общей и экспериментальной физики (основы квантовой, 73.65kb.
- Ядерно-физические методы в решении проблем нефтяной отрасли и экологии Казахстана 01., 579.83kb.
- Отчет по исследованиям, проведенным в Лаборатории экспериментальной физики высоких, 1736.85kb.
- Аппаратная инфраструктура измерительных и управляющих систем плазменных установок ияф, 734.94kb.
- Российский государственный гидрометеорологический университет кафедра экспериментальной, 191.53kb.
ОДЕССКИЙ ГОСУНИВЕРСИТЕТ им. И.И.Мечникова
ЛАБОРАТОРИЯ | КАФЕДРА |
КОМПЬЮТЕРНЫХ МЕТОДОВ | ЭКСПЕРИМЕНТАЛЬНОЙ |
ЭКСПЕРИМЕНТАЛЬНОЙ ФИЗИКИ | ФИЗИКИ |
КОМПЬЮТЕРНЫЙ ПРАКТИКУМ
ДЛЯ ФИЗИКОВ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ СТУДЕНТОВ
ФИЗИЧЕСКОГО ФАКУЛЬТЕТА
Автор доцент П.А.Виктор
Р а б о т а 2
ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКИХ СРЕДСТВ КОМПЬЮТЕРА
ДЛЯ ОТОБРАЖЕНИЯ РЕЗУЛЬТАТОВ РАСЧЕТОВ
ОДЕССА - 1994
^
Работа №2
Использование графических средств компьютера для отображения результатов расчетов
Видеосистема IBM-совместимых компьютеров может работать в двух различных режимах: в текстовом режиме и в графическом режиме. Первый режим позволяет выводить на экран только буквы, цифры и специальные символы в строго определенных позициях экрана (обычно это 25 строк по 80 символов в строке). Второй режим дает возможность полностью реализовать возможности видеосистемы и получать на экране монитора практически любые изображения - от простейших геометрических фигур до полутоновых изображений. Ниже приведены начальные сведения об использовании графической библиотеки языка Turbo-Pascal для построения графиков различных зависимостей.
^
1. Графическая библиотека Turbo-Pascal. Экранные координаты. Программирование перехода в графический режим
Графические процедуры и функции Turbo-Pascal включены в стандартный библиотечный модуль GRAPH.TPU. Поэтому для того, чтобы получить доступ к графическим средствам, в начале программы необходимо поставить предложение
uses Graph;
Библиотека насчитывает около 80 процедур и функций, перечень которых приведен в приложении. Однако для практической работы обычно достаточно уметь пользоваться небольшой частью этой библиотеки, реализующей включение и выключение графического режима, вывод точек, прямых, прямоугольников, вывод текста, управление цветом.
Изображение на экране представляет собой совокупность большого числа светящихся точек - пикселов. Положение пиксела задается целочисленными координатами X и Y, которые могут изменяться от 0 до максимальных значений, зависящих от типа видеоадаптера, установленного в компьютере, и от режима его работы. Максимальные значения X и Y можно узнать с помощью библиотечных функций GetMaxX и GetMaxY. Ниже приведена таблица значений этих функций для наиболее распространенных видеоадаптеров.
-
Видеоадаптер
GetMaxX
GetMaxY
СGA (ч/б)
639
199
CGA (4 цвета)
319
199
EGA (16 цветов)
639
349
VGA (16 цветов)
639
479
Пиксел с координатами (0,0) находится в левом верхнем углу экрана. Таким образом, горизонтальная координата экрана увеличивается слева направо, а вертикальная - сверху вниз.
µ §
Координаты графического экрана для адаптера VGA
После включения компьютера его видеоадаптер находится в текстовом режиме. Поэтому любая программа, использующая графические средства компьютера, должна инициировать графический режим работы адаптера. Перед окончанием работы программа должна восстанавливать текстовый режим.
Для перехода в графический режим используется процедура InitGraph, формат обращения к которой имеет вид:
InitGraph (<драйвер>,<режим>,<путь>) , где
<драйвер> - переменная типа integer, определяющая тип графического драйвера;
<режим> - переменная типа integer, определяющая режим работы графического адаптера;
<путь> - выражение типа string, содержащее путь к файлу, где находится драйвер.
Графический драйвер - это специальная программа, управляющая графическим адаптером. Такие программы для различных типов адаптеров входят в состав системы Turbo-Pascal и обычно находятся в подкаталоге BGI в виде файлов с расширением .BGI (от англ. Borland Graphics Interface - графический интерфейс фирмы Borland). Например, CGA.BGI - драйвер для CGA-адаптера, EGAVGA.BGI - драйвер для адаптеров EGA и VGA.
Удобнее всего переменной, задающей тип драйвера, заранее присваивать значение константы Detect, определенной в модуле Graph. В этом случае процедура InitGraph сама определяет тип графического адаптера и устанавливает его в режим максимального разрешения (как правило, адаптеры могут работать в нескольких режимах, отличающихся значениями GetMaxX, GetMaxY и числом доступных цветов).
Ниже приводится пример программы, переключающей видеосистему в графический режим, выводящей максимальные значения экранных координат с помощью функций GetMaxX и GetMaxY, а также осуществляющей возврат в текстовый режим.
program GR_1;
uses Graph;
var
GrDriver, GrMode: integer;
S1, S2: string;
BEGIN
GrDriver:= Detect;
InitGraph (GrDriver, GrMode, 'C:\BP\BGI');
OutTextXY (100, 100, 'Гpафический pежим установлен');
Str (GetMaxX:6, S1);
Str (GetMaxY:6, S2);
OutTextXY (100, 120, 'Max X = ' + S1);
OutTextXY (100, 140, 'Max Y = ' + S2);
Readln;
CloseGraph
END.
Как видно из текста этой программы, нужный графический драйвер процедура InitGraph ищет на диске C в подкаталоге BGI каталога BP (путь к файлу имеет вид C:\BP\BGI).
Процедуры OutTextXY выводят на экран текст, начиная с заданной позиции экрана. Третий параметр этой процедуры должен быть строкового типа, а функции GetMaxX и GetMaxY возвращают целые значения. Поэтому в программе использованы процедуры
Str (GetMaxX:6, S1) и Str (GetMaxY:6, S2) ,
которые преобразуют числовые значения в строковые и присваивают результат переменным S1 и S2. Формат, записи результата преобразования задается с помощью одного или двух двоеточий по тем же правилам, что и в процедурах Write и Writeln.
Программа завершается процедурой CloseGraph. Она прекращает работу видеоадаптера в графическом режиме и восстанавливает текстовый режим.