Мінімально необхідні для виконання лабораторної роботи відомості з програмування подано в інструкції до лабораторної роботи №12, в більш широкому обсязі інформацію про організацію виведення в графічному режимі можна знайти в [1].
Потреба у побудові графіків різних функцій надзвичайно часто виникає при розв’язуванні радіотехнічних задач. Подана у вигляді графіка залежність значно краще сприймається користувачем, ніж представлена у табличному вигляді.
Для того, щоб графік функції давав якомога більше інформації, необхідно правильно вибрати розміри графіка, масштаб та спосіб побудови ліній. Різні типи комп’ютерів та мови програмування надають різні комплекси засобів для побудови графіків, які необхідно оптимальним чином використовувати.
При побудові графіків рідко використовують всю площу екрана, частіше використовують “вікно” – прямокутник з координатами (XА,YА),(XВ,YВ). Вікно може бути задане також координатами однієї з вершин (найчастіше А) та розмірами:
по осі x : SWX=XВ–XА; (1)
по осі y : SWY=YВ–YА;
В межах вікна часто вводять свої, віконні координати XW,YW, які при виборі точки А як початок відліку віконних координат, пов’язані з екранними XE,YE такими співвідношеннями
(2)
Процедура SetViewPort(x1, y1, x2, y2: Integer; Clip:Boolean), дозволяє визначити вікно для графічного виведення і встановити режим відсічки виводу за межами визначеного вікна. При передачі в якості фактичного параметра константи ClipOn вивід за межами вікна відсікається, а при ClipOff – ні. Процедура ClearViewPort очищує визначене процедурою SetViewPort вікно (заливає встановленим кольором фону).
Існує багато способів задання масштабу і прив’язки досліджуванних інтервалів областей визначення і значень функцій до віконних координат. Найчастіше в радіотехнічних задачах застосовують рівномірний та логарифмічний масштаби.
У разі застосування рівномірного масштабу віконні координати розраховують за формулою
(3)
де Z – довільна із усіх можливих координат (x,y,...),
KZ – масштабний коефіцієнт,
bZ – зміщення.
Прив’язка досліджуваної області визначення і значень функції до віконних координат може бути здійснена:
· заданням kZ та bZ;
· заданням kZ та віконних координат (ZW1) однієї точки (Z1), тоді
bZ=ZW1–kZ×Z1, (4)
а при ZW1=0 (ліва межа вікна)
bZ=–kZ×Z1; (5)
заданням віконних координат двох точок осі, в цьому випадку
kZ=(Zw2–Zw1)/(Z2–Z1); bZ=ZW1–kZ×Z1. (6)
У випадку,коли задано точки, які відповідають границям вікна
k2=(SW×Z)/(Zmax–Zmin); b2=–kZ×Zmin. (7)
При застосуванні логарифмічного масштабу віконні координати розраховують за формулою:
ZW=k2×ln(Z)+bZ. (31)
Якщо задано kZ та віконні координати ZW1 точки Z1>0, то
bZ= ZW1–kZ×ln(Z1). (41)
В частковому випадку ZW1=0, bZ=–kZ×ln(Z1). (51)
У випадку задання віконних координат двох точок.
kZ=(ZW2–ZW1)/(ln(Z2/Z1)); bZ=ZW1–kZ×ln(Z1).
У випадку, коли max i min Z повинні відповідати границям вікон,
kZ= (SW2)/(ln(Zmax/Zmin)); bZ=–kZ×ln(Zmin).
При побудові координатної сітки необхідно вибрати таку послідовність міток ZМ={Z1,Z2,...,ZN}, що Z1>Zmin, ZN<Zmax; Zi+1–Zi= const =1,2,5×10k. Кількість міток необхідно вибирати таким чином, щоб відстань між мітками на екрані складала не менше 5-10 пікселів.