C для початківців Малювання графіка функції - С для початківців
Отже. Я з цим не стикався, але, напевно, в Універах можуть давати лабораторні побудови графіків за різними формулами. За великим рахунком, неважливо як виглядає формула, все зводиться до одноманітної побудови і у початківців не такі вже складні завдання.
Коротка формула, всім відома крива (усім хто хоч трохи вчився у школі)
Код C++ Малювання графіка============#include// включити опис графічних функцій С/С++ Borland'a#include// опис функцій введення-виведення з консолі (для getch())
int main () float x, y; /* Автоматичне визначення графічних параметрів */ int gdriver = DETECT, gmode; initgraph (& gdriver , & gmode , “” ); // Ініціалізація графічного режиму
x = - 10; //Ініціалізуємоxmoveto ( x , x * x );//Встановлюємо курсор
do y = x * x; //Наша формула для побудови графікаlineto (x * 50 + getmaxx () / 2, getmaxy () / 2-(y * 20));// . .звідки малюємо графікx = x + 0.02; > while( x 10 ); getch();// очікування натискання користувачем будь-якої клавішіclosegraph ();// вихід з графічного режимуreturn 0 ; >============
Що ж. Відразу скажу – Я не знаю, чомуxзбільшується на дробове число. При моїх спробах збільшувати його на одиницю графік виходив дуже не гладким і це було погано, тому залишив оскільки знайшов у просторах інтернету. Щоб почати малювати лінію з якоїсь точки, має сенс визначити початкову точку, для чого було використано функціюmovetoСам графік будується за допомогою циклічного обчислення, адже для кожного значенняxпотрібно одержати відповідний йомуy, отже, ніж писати всі ці висловлювання вручну потрібно використовувати цикл.
Усередині циклу викликається функціяlineto, всередині якої написані такі параметри, які можуть спантеличити бідного новачка, але лякатися не варто.linetoкреслить лінію від поточної позиції до, але не включаючи до неї зазначеної точки. Іншими словами при обчисленні значенняyми отримуватимемо деякі точки, а щоб отримати графік, потрібно ці точки з'єднувати лініями.x * 50 + getmaxx ()/ 2Позначає, що початкова точкаxзміщена до центру екрана по осі x. Цифра50тут потрібна тільки для того, щоб розширити графік, що рисується. Неважко спробувати її змінити чи прибрати, щоб побачити ефект. Коли я намагався прибрати цю50і додавати доxодиницю замість0.02графік малювався жахливо, хоча якщо подумати,те, що написано тут або те, що хотів написати я зводиться до того, що x додається на одиницю, але щось ось у цьому є чого я зрозуміти поки що на жаль не можу. Точніше розумію, але розумію якось туманно, не повністю і складно для роз'яснень. матеріал може стати набагато легшим та зрозумілішим. Перевірку на помилки я прибрав, щоб не відволікало очі від коду, що описується