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([],[],[],...[]).
Оточення для побудови 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().
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$.
Сфера
Тор
Спіраль
Логарифмічна спіраль
"Морська раковина"
Трилисник
Поверхня Діні
Стрічка Мебіуса
Куб
Циліндр
Конус
Усічений конус
Пісочний годинник
Також графіки функцій, які задані параметрично, можна побудувати командою 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().
Тор із параметром
Спіраль із параметром
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().
Гіперболоїд
Червона сфера
Жовта поверхня із центральною симетрією.
Органні труби.
Для побудови графіків функцій, заданих у різний спосіб, необхідно виконати команду showPlots3D(f, g), де f і g - команди для будівництва інших графіків функції
Параметри оточення можна встановити за допомогою set3D().
Ви можете обертати систему координат, переміщуючи покажчик мишки з натиснутою лівою клавішею. Також ви можете зрушувати початок системи координат, переміщуючи покажчик мишки з натиснутою правою клавішею.
Для побудови різних графіків функції в одній системі координат у часі із зміною параметрів необхідно вказати спочатку кількість кадрів. Потім слід виставити кінцеве значення параметрів, використовуючи повзунки. Для побудови графіка необхідно натиснути кнопку - 'Побудувати'. Значення кількості кадрів та параметри на повзунках можна вказати через set3D().
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 – кола, які можуть перескочитися.
Кінець розділу про графіки.