Назад до змісту 

Побудова 2D та 3D графіків

3.1 Побудова графіків функцій

Mathpar дозволяє будувати табличні графіки ($tablePlot$), графіки функцій, які задані явно ($plot$) або параметрично ($paramPlot$). Можна будувати кілька різних графіків у одній системі координат($showPlots$). Оточення для побудови графіків задається командою set2D(). Якщо команда set2D() не має параметрів, то межі для графіків розраховуються автоматично, а для явних функцій вибирається інтервал $ [0,1] $ по осі абсцис. Найменування осей координат буде $X$ і $Y$ відповідно. Заголовок графіка не буде. Якщо команда set2D() користувач не задавалася, то автоматично встановлюється set2D() без параметрів на початку сеансу цього користувача.

Існує 2 формати - повний та скорочений.

Повний формат передбачає 3 групи параметрів, кожна з яких пишеться у квадратних дужках: set2D([x0,x1, y0, y1],['xTitle','yTitle','title'] ,[0,1,12,3,5]).

Перша кваадратна дужка визначає межі графіка. Ця дужка має обов'язково бути присутньою. У першій дужці можна вказувати лише 2 числа - межі по осі абсцис, при цьому межі вертикальної осі розраховуються автоматично.

Друга кваадратна дужка - це написи до осей координат і підпис до всього малюнка. Якщо в цій дужці два аргументи - то це перші два - підписи до осей, а якщо тільки один аргумент - це назва до малюнка.

Третя кваадратна дужка містить 5 чисел: 1) 1 - означає: встановити режим чорно-білий (0 - кольоровий) 2) 1 - означає: встановити рівний масштаб по обох осях (0 - золотий переріз) 3) це розмір шрифту для підписів\ 4) це товщина ліній графіків 5) це товщина координатних осей\

Є для цієї дужки і 3 скорочені варіанти: ['ES'],['BW'],['ESBW']. Вони, відповідно, встановлюють значення 1 або перший параметр, або другий параметр, або обидва.

Будь-яка з 2х останніх дужок може бути відсутня, можуть бути відсутні і обидві.

Існує 7 скорочених варіантів для цієї команди: 1) set2D(); 2) comm {set2D} {(x0, x1)}; 3) set2D(x0,x1,'title'); 4) set2D(x0,x1,y0,y1); 5) set2D(x0,x1,y0,y1,'title'); 6) set2D(x0,x1,'title','nameOX','nameOY'); 7) set2D(x0,x1,y0,y1,'title','nameOX','nameOY').

Числа $x0$ і $x1$ $(x0 < x1)$ задають інтервал по осі $OX$. Числа $y0$ і $y1$ $(x0 < x1)$ задають інтервал по осі $OY$. Якщо ці параметри не задано, то розраховуються автоматично. $nameOX$ — підпис на осі $OX$, $nameOY$ — підпис на осі $OY$, $title$ — заголовок графіка.

Крім цього, можна задати ще один або два ключі, які повинні стояти останніми у списку параметрів: $BW$ і $ES$. $BW$ вказує на побудову чорно-білого графіка. $ES$ вказує на рівність масштабу шкали $x$ масштабу шкали $у$. Усього є $7*4=28$ різних способів завдання параметрів оточення.

Характер лінії, що зображується на графіку кожної з функцій $(plot, tablePlot, paramPlot)$ може бути різний: суцільна лінія, пунктирна лінія та лінія, яка закінчується стрілкою. Для цього призначені параметри: $dash$ (пунктир), $arrow$ (стрілки) та їх поєднання $dashAndArrow$, які повинні стояти в кінці списку параметрів цих функцій.

Наприклад, plot( x^2+1 , 'dash').

Якщо кільком окремим графікам надано імена, наприклад, P=plot(x^2); Q=tablePlot([[1,2],[3,4]]); у цьому випадку їх можна зобразити за допомогою команди showPlots([P,Q]).

Ця команда має додаткові опції 'noAxes' — не зображати осі координат і 'lattice' — зображати сітку. Наприклад, showPlots([P,Q], 'lattice').

Отриманий графік можна завантажити із сайту. Для цього під полем введення потрібно натиснути кнопку $\fbox{ Завантажити }$, і файл із графіком буде завантажений на комп'ютер користувача.

Явне завдання функції

Для побудови графіка функції $f=f(x)$ використовується команда plot(f). Інші варіанти команд: 1) plot(f, [x0, x1]), де $[x0, x1]$ — інтервал по осі $OX$; 2) plot(f, [x0, x1], 'options'), де $[x0, x1]$ — інтервал по осі $OX$, 'options' — приймає наступні значення: 1) 'dash' — графік буде зображений пунктиром; 2) 'arrow' — остання точка графіка буде намальована зі стрілкою; 3)'dashAndArrow' — графік буде зображений пунктиром і остання точка графіка буде намальована зі стрілкою. 3) plot(f, 'options').

Можна створювати графіки функцій, які містять параметри. Ці параметри необхідно визначити як змінні завдання оточення (див. приклад 3). Параметри можуть набувати значення з відрізка $[0;1]$. Спочатку графік будується для значень параметрів, рівних одиниці. Ці значення можна змінювати. Для цього треба вибрати ім'я параметра і пересунути бігунок до потрібного значення, потім натиснути кнопку $\fbox{ Побудувати }$.

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Функції, задані параметрично

Для побудови графіків функцій, заданих параметрично, необхідно виконати команду paramPlot([f, g], [t0, t1]), де $f = x(t)$, $g = y(t)$ — функції, задана параметрично, $[t0, t1]$ — інтервал значень для зміни параметра. Інший варіант команди: paramPlot([f, g], [t0, t1], 'options'), де $[t0, t1]$ — інтервал значень для зміни параметра, $'options'$ — приймає такі значення: 1)$'dash'$ — графік буде зображений пунктиром; 2)$'arrow'$ — остання точка графіки буде намальована зі стрілкою; 3)$'dashAndArrow'$ — графік буде зображений пунктиром і остання точка графіка буде намальована зі стрілкою.

Доки немає результату
Доки немає результату
Доки немає результату
Доки немає результату

Доки немає результату

Доки немає результату
Доки немає результату
Доки немає результату

Функції, задані таблицею значень

Для побудови графіків функцій, заданих табличними значеннями, необхідно виконати команду: tablePlot([[x_{1,…, x_{n}],[y_{11},…,a_{1n}],…,[y_{k1},…, a_{kn}]])} Інший варіант команди: tablePlot([[x_{1,…, x_{n}],[y_{11},…,a_{1n}],…,[y_{k1},…, a_{kn}]], 'options')} ,де $'options'$ — приймає такі значення: 1)$'dash'$ — графік буде зображений пунктиром; 2)$'arrow'$ — остання точка графіки буде намальована зі стрілкою; 3)$'dashAndArrow'$ — графік буде зображений пунктиром і остання точка графіка буде намальована зі стрілкою.

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Функції, задані таблицею значень за точками

Для побудови графіків функцій за точками, заданими табличними значеннями, необхідно виконати команду: pointsPlot([[x_{1,…, x_{n}],[y_{1},…,y_{n}]], [s_{1},…,s_{ n}], [kv_{1},…,kv_{n}], [kg_{1},…,kg_{n}])}, де $s_{n}$ — підпис точки, $kv_{n}$ — коефіцієнт повороту навколо точки (приймає значення від 0 до 7, і означає поворот на ($kv_{n}$ * 45) градусів), $kg_{n}$ — коефіцієнт зміщення вздовж осі $OX$ (якщо негативний то зміщення відбувається вліво). Скорочені варіанти команди: pointsPlot([[x_{1,…, x_{n}],[y_{1},…,y_{n}]], [s_{1},…,s_{ n}])} або pointsPlot([[x_{1,…, x_{n}],[y_{1},…,y_{n}]], [s_{1},…,s_{ n}], [kv_{1},…,kv_{n}])} або pointsPlot([[x_{1,…, x_{n}],[y_{1},…,y_{n}]], [s_{1},…,s_{ n}], [kv_{1},…,kv_{n}], [kg_{1},…,kg_{n}])}.

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Доки немає результату

Побудова різних графіків функцій в одній системі координат

Для побудови графіків функцій, заданих у різний спосіб, необхідно спочатку побудувати графік кожної функції, а потім виконати команду showPlots([f_1, f_2, …, f_n]). Інші варіанти команди: showPlots([f1, f2, f3, f4], 'noAxes'), де 'noAxes' — параметр, що вказує на зображення графіка без осей. або showPlots([f1, f2, f3, f4], 'lattice'), де 'lattice' — параметр, що вказує на зображення графіка з ґратами.

Доки немає результату

Доки немає результату

Доки немає результату

Побудова графів

Для побудови графів необхідно виконати команду plotGraph([[a_{11,…,a_{1n}],…,[a_{n1},…,a_{nn}]], [[x_{1}, ldots, x_{n}],[y_{1},…,y_{n}]])}, де $[[a_{11},…,a_{1n}],…,[a_{n1},…,a_{nn}]]$ — матриця суміжності, $[[x_{1 },…, x_{n}],[y_{1},…,y_{n}]]$ — матриця координат.

Доки немає результату

Крім того, можна виконати команду лише з першим параметром plotGraph([[a_{11,…,a_{1n}],…,[a_{n1},…,a_{nn}]])}, де $[[a_{11},…,a_{1n}],…,[a_{n1},…,a_{nn}]]$ — матриця суміжності.

Доки немає результату

Можна виконати команду з одним числовим параметром plotGraph(N), де $N$ — кількість вершин у графі.

Доки немає результату

Текст на графіках

Для того щоб робити будь-які види написів використовується функція textPlot()

Для завдання одного напису записують у кваратних дужках наступні параметри: ['str',sizeText,xCor,yCor,alpha]

де str – це текст; sizeText – розмір шрифту; xCor, yCor – координати на екрані першої літери тексту, alpha - кут нахилу тексту (за умовчанням, якщо це параметр не вказано, він дорівнює нулю).

В одній команді можна визначити скільки викрадення написів, розділяючи їх комами: textPlot([],[],[],...[]).

3.2 Побудова 3D графіків функцій

Оточення для побудови 3D графіків задається командою set3D()

Існує кілька варіантів для цієї команди: 1) set3D(x0,x1,y0,y1,z0,z1); 2) set3D(x0,x1,y0,y1,z0,z1,gridSize); 3) set3D(x0,x1,y0,y1,z0,z1,gridSize,framesNumber); 4) set3D(x0,x1,y0,y1,z0,z1,gridSize,framesNumber,[a1,a2,...]);

Числа $x0$ і $x1$ $(x0<x1)$ задають інтервал по осі $OX$. Числа $z0$ і $z1$ $(z0<z1)$ задають інтервал по осі $OZ$. $gridSize$ відповідає за розмір сітки паралелепіпеда в якому будується графік. $framesNumber$ відповідає за кількість кадрів при побудові графіка з параметрами, зміну яких можна спостерігати як зміни кадрів. $a1$ та $a2$ відповідають за кінцеве значення параметрів функції. Ці значення будуть виставлені у повзунки, які з'являються під текстом із запитом користувача. При зміні параметрів під час зміни кадрів, їх значення змінюватимуться в діапазоні від 1.0 до $a1$ для першого параметра.

Явне завдання функції. Побудова на сервері

Mathpar дозволяє будувати 3D графіки функцій, які явно задані. Для побудови 3D графіка функції $f=f(x, y)$ використовується команда plot3d(f, [x0, x1, y0, y1]), де $[x0, x1]$ — інтервал по осі $OX$, $[y0, y1]$ — інтервал по осі $OY$. Крім того, отримані графіки можна обертати та масштабувати: збільшувати чи зменшувати.

Переміщення миші з лівою натиснутою кнопкою призводить до обертання системи координат графіка. Після зупинки відбувається перемальовка графіка нової поверненої системі координат. Переміщення миші з натиснутою лівою кнопкою та натиснутою клавішою Shift призводить до зміни масштабу зображення. Після зупинки переміщення відбувається перемалювання графіка у новому масштабі.

Доки немає результату

Доки немає результату

Доки немає результату

Явне завдання функції. Побудова на стороні користувача

Також графіки функцій, які задані явно, можна побудувати командою explicitPlot3d(f, xMin, xMax, yMin, yMax, zMin, zMax), де числа $xMin, xMax, yMin, yMax, zMin, zMax$ задають область у просторі, що має форму паралелепіпеда, у якій зображується явна функція.

Допускаються, крім того, наступний набір аргументів: $(f, xMin, xMax, yMin, yMax, zMin, zMax, gridSize)$, де $gridSize$ відповідає за розмір сітки паралелепіпеда, в якому будується графік.

Можна задавати лише одну функцію, таким чином: explicitPlot3d(f), у цьому випадку передбачається, що буде зображена функція $f$ у кубі $20 \times 20\times 20$, центр якого розташовується на початку координат.

Використовуючи explicitPlot3d() ви можете обертати систему координат, переміщуючи покажчик мишки з натиснутою лівою клавішею. Також ви можете зрушувати початок системи координат, переміщуючи покажчик мишки з натиснутою правою клавішею.

Для побудови графіка функції у часі із зміною параметрів необхідно вказати спочатку кількість кадрів. Потім слід виставити кінцеве значення параметрів, використовуючи повзунки. Для побудови графіка необхідно натиснути кнопку - 'Побудувати'. Значення кількості кадрів та параметри на повзунках можна вказати через set3D().

Доки немає результату

Доки немає результату

Побудова 3D графіків функцій, які задані параметрично. Побудова на сервері

Mathpar дозволяє будувати 3D графіки, які задані параметрично

Для побудови графіка необхідно передати 3 функції $f(x,y)$, $g(x,y)$ і $h(x,y)$, використовуючи команду paramPlot3d([[f], [g], [h]], [x0, x1, y0, y1]), де $[x0, x1]$ — інтервал по осі $OX$, $[y0, y1]$ — інтервал по осі $OY$.

Сфера

Доки немає результату

Тор

Доки немає результату

Спіраль

Доки немає результату

Логарифмічна спіраль

Доки немає результату

"Морська раковина"

Доки немає результату

Трилисник

Доки немає результату

Поверхня Діні

Доки немає результату

Стрічка Мебіуса

Доки немає результату

Куб

Доки немає результату

Циліндр

Доки немає результату

Конус

Доки немає результату

Усічений конус

Доки немає результату

Пісочний годинник

Доки немає результату

Побудова 3D графіків функцій, які задані параметрично. Побудова на стороні користувача

Також графіки функцій, які задані параметрично, можна побудувати командою parametricPlot3d(f, g, h, uMin, uMax, vMin, vMax, gridSize), де вказано 3 функції $f(u,v)$, $g(u,v)$ і $h(u,v)$ для осей $OX$, $OY$, $OZ$ Числа $uMin, uMax, vMin, vMax$ задають діапазон параметрів функцій f, g і h. $gridSize$ відповідає за розмір сітки паралелепіпеда в якому будується графік.

Ви можете обертати систему координат, переміщуючи покажчик мишки з натиснутою лівою клавішею. Також ви можете зрушувати початок системи координат, переміщуючи покажчик мишки з натиснутою правою клавішею.

Для побудови графіка функції у часі зі зміною параметрів необхідно вказати спочатку кількість кадрів. Потім слід виставити кінцеве значення параметрів, використовуючи повзунки. Для побудови графіка необхідно натиснути кнопку - 'Побудувати'. Значення кількості кадрів та параметри на повзунках можна вказати через set3D().

Тор із параметром

Доки немає результату

Спіраль із параметром

Доки немає результату

Побудова 3D графіків функцій, які задані неявно

Mathpar дозволяє будувати 3D графіки неявно заданих функцій. Для побудови графіка функції $ f (x, y, z) = 0 $ використовується команда implicitPlot3d(f, xMin, xMax, yMin, yMax, zMin, zMax),

де числа $xMin, xMax, yMin, yMax, zMin, zMax$ задають область у просторі, що має форму паралелепіпеда, у якій зображується неявна функція.

Можна задавати лише одну функцію, так:

implicitPlot3d(f),

у цьому випадку передбачається, що буде зображена функція $f$ у кубі $20\times20\times20$, центр якого знаходиться на початку координат.

Ви можете обертати систему координат, переміщуючи покажчик мишки з натиснутою лівою клавішею. Ви можете зрушувати початок системи координат, переміщуючи покажчик мишки з натиснутою правою клавішею.

Можна додатково вказувати координати джерела світла, колір і сітку. За замовчуванням приймається сітка з 50 точок на кожному ребрі паралелепіпеда.

Колір у форматі RGB (червоний, зелений, блакитний) задається числом

$R*256*256+G*256+B$,

де кожна буква означає невід'ємне ціле число, що не перевищує 255. Наприклад, $ 255 * 256 * 256 $ - червоний колір, а $ 255 * 256 * 256 + 255 * 256 $ - жовтий (червоний + зелений). Допускаються, крім того, такі набори аргументів:

$(f,xMin, xMax, yMin, yMax, zMin, zMax, gridSize)$,

$(f,xMin, xMax, yMin, yMax, zMin, zMax, lightX, lightY, lightZ, gridSize )$,

$(f,xMin, xMax, yMin, yMax, zMin, zMax, lightX, lightY, lightZ, color, gridSize)$.

Для побудови графіка функції у часі із зміною параметрів необхідно вказати спочатку кількість кадрів. Потім слід виставити кінцеве значення параметрів, використовуючи повзунки. Для побудови графіка необхідно натиснути кнопку - 'Побудувати'. Значення кількості кадрів та параметри на повзунках можна вказати через set3D().

Доки немає результату

Гіперболоїд

Доки немає результату

Червона сфера

Доки немає результату

Жовта поверхня із центральною симетрією.

Доки немає результату

Органні труби.

Побудова різних 3D графіків функцій в одній системі координат

Для побудови графіків функцій, заданих у різний спосіб, необхідно виконати команду showPlots3D(f, g), де f і g - команди для будівництва інших графіків функції

Параметри оточення можна встановити за допомогою set3D().

Ви можете обертати систему координат, переміщуючи покажчик мишки з натиснутою лівою клавішею. Також ви можете зрушувати початок системи координат, переміщуючи покажчик мишки з натиснутою правою клавішею.

Для побудови різних графіків функції в одній системі координат у часі із зміною параметрів необхідно вказати спочатку кількість кадрів. Потім слід виставити кінцеве значення параметрів, використовуючи повзунки. Для побудови графіка необхідно натиснути кнопку - 'Побудувати'. Значення кількості кадрів та параметри на повзунках можна вказати через set3D().

Доки немає результату

3.3 Геометрія

paintElement'operator1; operator2;... operatork;', – це інструмент для побудови малюнків для шкільної геометрії.

Оператори задаються так: operator(arg_1: type_1,.. arg_n: type_n = default): returnType arg_1,.. arg_n - список аргументів оператора. type_1,.. type_n - типи аргументів, рядки чи числа, чи інший об'єкт. = default - значення, яке використовується за відсутності аргументу. returnType - тип об'єкта, що повертається.

Оператори можуть мати додатковий аргумент label: string, який визначає підпис фігури, та вимогу відобразити на малюнку: • label не заданий – фігура використовується як проміжна та НЕ малюється. • label = \%\% - фігура малюється, але без підпису. • label = \%text\% - фігура підписується текстом.

Підпис фігури: operator (arg_1,.. arg_n).display(\%text\%);

Рядки відокремлюються знаками відсотка, а не лапками, як у мові mfthpar.

Приклад (побудувати коло)

Circle(radius: r1, center: Point = Point(x1, y1)). Можна застосовувати різні способи побудови кола: • Circle(r1, Point(x1, y1)); • Circle(r1); - центр автоматично буде x1=0, y1=0. • R = r1; P = Point(x1, y1).display(“\%O1\%); C = Circle (R, P);

Оператори

Point(x: number1, y: number2) - конструктор точки. • x, у – позиція точки.

Доки немає результату

Line(point1: Point, point2: Point) - конструктор лінії. • point1, point2 – точки лінії. Порядок немає значення.

Доки немає результату

Polygon(point1, point2, ..., pointN: Point[]) - конструктор полігону, фігури, що є списком точок з'єднаних відрізками. Остання точка з'єднується з першою. • point1, point2, ..., pointN – вершини полігону. Довжина списку вершин не обмежена.

Доки немає результату

Rectangle(width: number1, height: number2, bottomLeft: Point = Point(1, 1)) – конструктор горизонтального прямокутника. • width - ширина прямокутника. • height - висота прямокутника. • bottomLeft – нижня ліва точка прямокутника.

Доки немає результату

Square(size: number, bottomLeft: Point = Point(x1, y1)) - конструктор квадрата. • size - довжина сторони квадрата. • bottomLeft - нижня ліва точка квадрата.

Доки немає результату

Triangle(point1: Point, point2: Point, point3: Point) - конструктор трикутника за трьома точками. Порядок не має значення. • point1, point2, point3 - точки трикутника.

Доки немає результату

Circle(radius: number1, center: Point = Point(x1, y1)) - конструктор кола. • radius - радіус кола. • center - центр кола.

Доки немає результату

Ellipse(width: number1, height: number2, center: Point = Point(x1, y1)) - конструктор еліпса. • width – горизонтальна піввісь еліпса. • height - вертикальна піввісь еліпса. • center - центр еліпса.

Доки немає результату

normal(point: Point1, line: Line1):Point - побудувати перпендикуляр із точки на пряму. Повертає точку перетину перпендикуляра та прямий. • point - точка з якої відновлюється перпендикуляр. • line – пряма до якої відновлюється перпендикуляр.

Доки немає результату

median(point: Point, line: Line): Point - побудувати медіану з точки на відрізок. Повертає середину відрізка. • point - точка з якої побудувати медіану. • line – відрізок, на який спирається медіана.

Доки немає результату

Text(text: \%string1\%, leftBottom: Point1, fontSize: number = 10) - написати текст, починаючи його у певній точці. • text - власне текст. • leftBottom - нижня ліва (початкова) точка тексту. • fontSize - розмір тексту шрифту.

Доки немає результату

middle(line: Line): Point - знайти точку середини відрізка. • line - відрізок, середину якого потрібно знайти.

Доки немає результату

incircle(triangle: Triangle): Circle - побудувати коло вписану в труєгольник. • triangle - трикутник у який треба вписати коло

Доки немає результату

Circumcircle(triangle: Triangle): Circle - побудувати коло описане навколо трикутника. • triangle - трикутник навколо якого треба описати коло

Доки немає результату

lineCircleCross(line: Line, circle: Circle): Point[] - знайти та повернути точки перетину лінії та кола. • line - лінія яка може перетинати коло. • circle – коло, яке може перетинати лінію.

Доки немає результату

circlesCross(circle1: Circle, circle2: Circle): Point[] - знайти та повернути точки перетину двох кіл. • circle1, circle2 – кола, які можуть перескочитися.

Доки немає результату

Кінець розділу про графіки.

Назад до змісту