Курсовая работа: Графическое программирование на Ms Fortran
call settextposition (10, 50, rc)
10, 50–координаты начала текста; rc – локальное имя структуры rccoord (см. fgraph.fd) с помощью которой возвращается и передается в п/п предыдущая текстовая координата для ее переразмещения в новую. Координата (1,1) находится в левом верхнем углу.
Физические координаты.
Физические координаты являются фиксированными и определяются техническими средствами (видеокартой и монитором).Начало координат находится в левом верхнем углу, если не используется п/п setvieworg. Разрешения 640*480; 800*600. Физические координаты являются целочисленными.
Пример: перенос начала координат в точку (50, 100)
CALL setvieworg (50, 100, xy)
Теперь координата x изменяется от 50, до .numxpixels-50, а y, от 100 до .numypixels-100, где numxpixels и numypixels – элементы структуры videoconfig, содержащие максимальное число пиксел по осям OX и OY. Переустановка начала координат повлияет на все графические процедуры.
Используя физические координаты можно установить невидимую координатную область ‑ “область клипа”. Рисование в этом случае производится только в этой области, попытка рисования вне области игнорируется.
Пример:
call setcliprgn (10,10,100,100) – установка квадратной “области клипа”. Процедура setcliprgn не изменяет систему координат.
3.3.3 Координаты порта просмотра
“Порт просмотра” (“viewport”) – прямоугольная область экрана в которой осуществляется рисование. “Порт просмотра” устанавливается процедурой setviewport. Действие этой процедуры аналогично процедуре setcliprgn, но с переносом начала координат в левый верхний угол области. При использовании “оконных” координат необходимо создать "порт просмотра”.
Пример:
Call SetViewPort(20,20,200,200)
Аналогично:
Call SetClipRgn(20,20,200,200)
Call SetViewOrg(20,20)
Оконные координаты.
Оконные координаты используются для масштабирования изображения. Они устанавливаются для текущего порта просмотра. Все функции работы с окнами оканчиваются символом “-w”. Значение оконных координат имеют не целочисленный тип Integer (как обычно), а вещественный тип Real*8.
Пример:
dum = SetWindow (.TRUE.,-200.,-56,3.,500.,400.) – установка оконных координат в текущем “порту просмотра”
.TRUE. – увеличение по оси ординат снизу вверх
.FALSE. – увеличение по оси ординат сверху вниз
|
На рисунке в круглых скобках ( ) показаны физические координаты, в квадратных [ ] оконные координаты. На каждый физический пиксель по ОХ приходится оконных пикселя и по OY 1.91. При нулевых размерах окна функция не выполняется. При успешном выполнении функция setwindow возвращает ненулевое значение. |
Пример работы с координатными системами. Приведены стандартная головная программа и п/п.
$DEBUG ! Производит дополнительные проверки при компиляции
include 'fgraph.fi' ! Включение интерфейсов графических