Mathpar позволяет строить табличные графики ($tablePlot$), графики функций, которые заданы явно ($plot$) или параметрически ($paramPlot$). Можно строить несколько разных графиков в одной системе координат($showPlots$). Окружение для построения графиков задается командой set2D(). Если у команды set2D() нет параметров, то границы для графиков расчитываются автоматически, а для явных функций выбирается интервал $[0,1]$ по оси абсцисс. Наименования осей координат будет $X$ и $Y$, соответственно. Заголовок у графика будет отсутствовать. Если команда set2D() пользователем не задавалась, то автоматически устанавливается set2D() без параметров в начале сеанса данного пользователя.
Cуществует 2 формата — полный и сокращенный.
Полный формат предполагает 3 группы параметров, каждая из которых пишется в квадратных скобках: set2D([x0,x1, y0, y1],['xTitle','yTitle','title'] ,[0,1,12,3,5]).
Первая кваадратная скобка определяет границы графика. Эта скобка должна обязательно присутствовать. В первой скобке можно указывать только 2 числа - границы по оси абсцисс, при этом границы по вертикальной оси расчитываются автоматически.
Вторая кваадратная скобка это надписи к осям координат и подпись ко всему рисунку. Если в этой скобке 2 аргумента — то это первые два — подписи к осям, а если только один аргумент — то это название к рисунку.
Третья кваадратная скобка содержит 5 чисел: 1) 1 — означает: установить режим черно-белый (0 - цветной) 2) 1 — означает: установить равный масштаб по обеим осям (0- золотое сечение) 3) это размер шрифта для подписей 4) это толщина линий графиков 5) это толщина координатных осей
Есть для этой скобки и 3 сокращенных варианта:['ES'],['BW'],['ESBW']. Они, соответственно, устанавливают в значение 1 или первый параметр, или второй параметр, или оба.
Любая из 2х последних скобок может отсутствовать, могут отсутствовать и обе.
Существует 7 сокращеных вариантов для этой команды: 1) set2D(); 2) 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' — параметр, указывающий на изображение графика c решеткой.
Для построения графов необходимо выполнить команду plotGraph([[a_{11,…,a_{1n}],…,[a_{n1},…,a_{nn}]], [[x_{1},…, 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$. Числа $y0$ и $y1$ $(y0<y1)$ задают интервал по оси $OY$. Числа $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\times20\times20$, центр которого располагается в начале координат.
Используя 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$, центр которого распологается в начале координат.
Вы можете вращать систему координат перемещая указатель мышки с нажатой левой клавишей. Вы можете сдвигать начало системы координат перемещая указатель мышки с нажатой правой клавишей.
Moжно, дополнительно, указывать координаты источника света, цвет и сетку. По умолчанию принимается сетка из 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\%);
Cтроки отделяются знаками процента, а не кавычками, как в языке 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 – окружности, которые могут перескаться.
Конец раздела о графиках.