Цей матеріал присвячений побудові графіка функції в «Lasarus». Він показує принцип перекладу декартових координат в екранні, а також спосіб побудови програми, програмування у візуальному середовищі.
Програмування виконано у візуальному середовищі програмування «Lazarus».
Як приклад взята кубічна функція виду y = a · x 3 + b · x 2 + c · x + d
вікно програми, яка будує графік кубічної функції
Робота над проектом
Робота над проектом включає наступні кроки:
- створення та налаштування візуальних компонентів
- створення процедури для малювання координатної площини
- створення процедури для малювання точок на площині
- додавання можливості змінювати параметри і масштабувати графік
Для побудови зображення використовувалися наступні компоненти:
- TImage (на ньому будується графік)
- текстові поля TEdit для введення параметрів кубічної функції і масштабу координатної плосткості
- написи на формі Label
- візуальний компонент для масштабування графіка TrackBar
- візуальні компоненти для зміни параметрів текстових полів UpDown
Побудова координатних осей
Так як побудова осей відбувається в програмі багато разів, наприклад при зміні параметрів функції або при масштабуванні, то має сенс винести це дію в окрему процедуру.
Для побудова точок на екрані комп'ютера нам багаторазово потрібно здійснювати переклад декартових координат в екранні. Нагадаю, що на екрані координатні осі розташовуються інакше, вісь y «дивиться» вниз, до того ж екранна координата, це завжди ціле позитивне число, а декартова координата може бути довільним числом.
Переклад декартових координат в «екранні». Значення координат точки взяті довільні.
Перетворення виконується в такий спосіб:
x0. y0 - екранна координата нульової точки
dd - кількість точок на екрані, яке відповідає одиничному відрізку (довжина одиничного відрізка).
Процедура малювання точок на екрані
масштабування графіка функції зводиться до зміни значення текстового поля m і перемальовування екрану. Для цього використовується візуальний компонент TrackBar. Утановіте компонент на формі, задайте його властивості min, max, position (мінімальне, максимальне значення, яке може прийняти компонент, а також поточне значення масштабу). Створіть подієву процедуру, що має відбуватися при зміні позиції повзунка:
Зміна параметрів функції
Значення параметрів a, b. c і d визначають вид графіка функції. Для зміни текстових полів, в яких зберігаються значення використовуємо візуальні компоненти UpDown їх можна прив'язати до текстового поля (властивість Associate). При цьому саме текстове поле можна закрити для редагування (властивість ReadOnly - true).
Прив'язка компонента UpDown до текстового поля
При натисканні на кнопки вгору-вниз значення текстового поля змінюється на одиницю і спрацьовує подієва процедура:
От і все. Проект необхідно налагодити, зібрати (отримати файл, що запускається). З файлами проекту і з компілювати файлом ви можете ознайомитися у вкладенні до цього матеріалу.