Побудова графіка функції в lasarus

Цей матеріал присвячений побудові графіка функції в «Lasarus». Він показує принцип перекладу декартових координат в екранні, а також спосіб побудови програми, програмування у візуальному середовищі.

Програмування виконано у візуальному середовищі програмування «Lazarus».
Як приклад взята кубічна функція виду y = a · x 3 + b · x 2 + c · x + d

Побудова графіка функції в lasarus

вікно програми, яка будує графік кубічної функції

Робота над проектом

Робота над проектом включає наступні кроки:

  1. створення та налаштування візуальних компонентів
  2. створення процедури для малювання координатної площини
  3. створення процедури для малювання точок на площині
  4. додавання можливості змінювати параметри і масштабувати графік

Для побудови зображення використовувалися наступні компоненти:

  1. TImage (на ньому будується графік)
  2. текстові поля TEdit для введення параметрів кубічної функції і масштабу координатної плосткості
  3. написи на формі Label
  4. візуальний компонент для масштабування графіка TrackBar
  5. візуальні компоненти для зміни параметрів текстових полів UpDown

Побудова координатних осей

Так як побудова осей відбувається в програмі багато разів, наприклад при зміні параметрів функції або при масштабуванні, то має сенс винести це дію в окрему процедуру.

Для побудова точок на екрані комп'ютера нам багаторазово потрібно здійснювати переклад декартових координат в екранні. Нагадаю, що на екрані координатні осі розташовуються інакше, вісь y «дивиться» вниз, до того ж екранна координата, це завжди ціле позитивне число, а декартова координата може бути довільним числом.

Побудова графіка функції в lasarus

Переклад декартових координат в «екранні». Значення координат точки взяті довільні.

Перетворення виконується в такий спосіб:

x0. y0 - екранна координата нульової точки
dd - кількість точок на екрані, яке відповідає одиничному відрізку (довжина одиничного відрізка).

Процедура малювання точок на екрані

масштабування графіка функції зводиться до зміни значення текстового поля m і перемальовування екрану. Для цього використовується візуальний компонент TrackBar. Утановіте компонент на формі, задайте його властивості min, max, position (мінімальне, максимальне значення, яке може прийняти компонент, а також поточне значення масштабу). Створіть подієву процедуру, що має відбуватися при зміні позиції повзунка:

Зміна параметрів функції

Значення параметрів a, b. c і d визначають вид графіка функції. Для зміни текстових полів, в яких зберігаються значення використовуємо візуальні компоненти UpDown їх можна прив'язати до текстового поля (властивість Associate). При цьому саме текстове поле можна закрити для редагування (властивість ReadOnly - true).

Побудова графіка функції в lasarus

Прив'язка компонента UpDown до текстового поля

При натисканні на кнопки вгору-вниз значення текстового поля змінюється на одиницю і спрацьовує подієва процедура:

От і все. Проект необхідно налагодити, зібрати (отримати файл, що запускається). З файлами проекту і з компілювати файлом ви можете ознайомитися у вкладенні до цього матеріалу.

Схожі статті