5.16 Прочие графики

Это функции, не относящиеся к какой-то специальной категории. Сюда входят функции построения графиков по текстовым формулам (FPlot и FSurf), рисования поверхностей из треугольников и четырёхугольников (TriPlot, TriCont, QuadPlot), произвольных точек в пространстве (Dots) и реконструкции по ним поверхности (Crust), графики плотности и линии уровня на плоскостях, перпендикулярных осям x, y или z (Dens[XYZ], Cont[XYZ], ContF[XYZ]). Каждый тип графика имеет похожий интерфейс. Есть версия для рисования одного массива с автоматическими координатами и версия для параметрически заданного массива. Параметры цветовой схемы задаются строкой. See Цветовая схема.

Команда MGL: densx dat ['sch'='' sval=nan]
Команда MGL: densy dat ['sch'='' sval=nan]
Команда MGL: densz dat ['sch'='' sval=nan]
Метод класса mglGraph: void DensX (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void DensY (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void DensZ (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Функция С: void mgl_dens_x (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_dens_y (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_dens_z (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)

Эти функции рисуют график плотности на x, y или z плоскостях. Если a – 3d массив, то выполняется интерполяция к заданному срезу sVal. Функции полезны для создания проекций 3D массивов на оси координат. См. также ContXYZ, ContFXYZ, dens, Распределение данных. См. раздел Sample ‘dens_xyz, для примеров кода и графика.

Команда MGL: contx dat ['sch'='' sval=nan]
Команда MGL: conty dat ['sch'='' sval=nan]
Команда MGL: contz dat ['sch'='' sval=nan]
Метод класса mglGraph: void ContX (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void ContY (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void ContZ (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Функция С: void mgl_cont_x (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_cont_y (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_cont_z (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)

Эти функции рисуют линии уровня на x, y или z плоскостях. Если a – 3d массив, то выполняется интерполяция к заданному срезу sVal. Опция value задает число контуров. Функции полезны для создания проекций 3D массивов на оси координат. См. также ContFXYZ, DensXYZ, cont, Распределение данных. См. раздел Sample ‘cont_xyz, для примеров кода и графика.

Метод класса mglGraph: void ContX (const mglDataA &v, const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void ContY (const mglDataA &v, const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void ContZ (const mglDataA &v, const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Функция С: void mgl_cont_x_val (HMGL gr, HCDT v, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_cont_y_val (HMGL gr, HCDT v, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_cont_z_val (HMGL gr, HCDT v, HCDT a, const char *stl, mreal sVal, const char *opt)

Аналогично предыдущему с ручным заданием значений для линий уровня.

Команда MGL: contfx dat ['sch'='' sval=nan]
Команда MGL: contfy dat ['sch'='' sval=nan]
Команда MGL: contfz dat ['sch'='' sval=nan]
Метод класса mglGraph: void ContFX (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void ContFY (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void ContFZ (const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Функция С: void mgl_contf_x (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_contf_y (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_contf_z (HMGL gr, HCDT a, const char *stl, mreal sVal, const char *opt)

Эти функции рисуют закрашенные контуры уровня на x, y или z плоскостях. Если a – 3d массив, то выполняется интерполяция к заданному срезу sVal. Опция value задает число контуров. Функции полезны для создания проекций 3D массивов на оси координат. См. также ContFXYZ, DensXYZ, cont, Распределение данных. См. раздел Sample ‘contf_xyz, для примеров кода и графика.

Метод класса mglGraph: void ContFX (const mglDataA &v, const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void ContFY (const mglDataA &v, const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Метод класса mglGraph: void ContFZ (const mglDataA &v, const mglDataA &a, const char *stl="", mreal sVal=NAN, const char *opt="")
Функция С: void mgl_contf_x_val (HMGL gr, HCDT v, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_contf_y_val (HMGL gr, HCDT v, HCDT a, const char *stl, mreal sVal, const char *opt)
Функция С: void mgl_contf_z_val (HMGL gr, HCDT v, HCDT a, const char *stl, mreal sVal, const char *opt)

Аналогично предыдущему с ручным заданием значений для линий уровня.

Команда MGL: fplot 'y(x)' ['pen'='']
Метод класса mglGraph: void FPlot (const char *eqY, const char *pen="", const char *opt="")
Функция С: void mgl_fplot (HMGL gr, const char *eqY, const char *pen, const char *opt)

Рисует функцию ‘eqY(x)’ в плоскости z равно минимальному значению оси z с координатой ‘x’ в диапазоне осей координат. Опция value задает начальное число точек. См. также plot.

Команда MGL: fplot 'x(t)' 'y(t)' 'z(t)' ['pen'='']
Метод класса mglGraph: void FPlot (const char *eqX, const char *eqY, const char *eqZ, const char *pen, const char *opt="")
Функция С: void mgl_fplot_xyz (HMGL gr, const char *eqX, const char *eqY, const char *eqZ, const char *pen, const char *opt)

Рисует параметрическую кривую {‘eqX(t)’, ‘eqY(t)’, ‘eqZ(t)’}, где координата ‘t’ меняется в диапазоне [0, 1]. Опция value задает начальное число точек. См. также plot.

Команда MGL: fsurf 'z(x,y)' ['sch'='']
Метод класса mglGraph: void FSurf (const char *eqZ, const char *sch="", const char *opt="");
Функция С: void mgl_fsurf (HMGL gr, const char *eqZ, const char *sch, const char *opt);

Рисует поверхность ‘eqY(x,y)’ с координатами ‘x’, ‘y’ в диапазоне xrange, yrange. Опция value задает число точек. См. также surf.

Команда MGL: fsurf 'x(u,v)' 'y(u,v)' 'z(u,v)' ['sch'='']
Метод класса mglGraph: void FSurf (const char *eqX, const char *eqY, const char *eqZ, const char *sch="", const char *opt="")
Функция С: void mgl_fsurf_xyz (HMGL gr, const char *eqX, const char *eqY, const char *eqZ, const char *sch, const char *opt)

Рисует параметрическую поверхность {‘eqX(u,v)’, ‘eqY(u,v)’, ‘eqZ(u,v)’}, где координаты ‘u’, ‘v’ меняются в диапазоне [0, 1]. Опция value задает число точек. См. также surf.

Команда MGL: triplot idat xdat ydat ['sch'='']
Команда MGL: triplot idat xdat ydat zdat ['sch'='']
Команда MGL: triplot idat xdat ydat zdat cdat ['sch'='']
Метод класса mglGraph: void TriPlot (const mglDataA &id, const mglDataA &x, const mglDataA &y, const char *sch="", const char *opt="")
Метод класса mglGraph: void TriPlot (const mglDataA &id, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="")
Метод класса mglGraph: void TriPlot (const mglDataA &id, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="")
Функция С: void mgl_triplot_xy (HMGL gr, HCDT id, HCDT x, HCDT y, const char *sch, const char *opt)
Функция С: void mgl_triplot_xyz (HMGL gr, HCDT id, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt)
Функция С: void mgl_triplot_xyzc (HMGL gr, HCDT id, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt)

Рисует поверхность из треугольников. Вершины треугольников задаются индексами id в массиве точек {x[i], y[i], z[i]}. Строка sch задает цветовую схему. Если строка содержит ‘#’, то рисуется сетчатая поверхность. Размер по 1-му индексу массива id должен быть 3 или больше. Массивы x, y, z должны иметь одинаковые размеры. Массив c задает цвет треугольников (если id.ny=c.nx) или цвет вершин (если x.nx=c.nx). См. также dots, crust, quadplot, triangulation. См. раздел Sample ‘triplot, для примеров кода и графика.

Команда MGL: tricont vdat idat xdat ydat zdat cdat ['sch'='']
Команда MGL: tricont vdat idat xdat ydat zdat ['sch'='']
Команда MGL: tricont idat xdat ydat zdat ['sch'='']
Метод класса mglGraph: void TriCont (const mglDataA &id, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="")
Метод класса mglGraph: void TriCont (const mglDataA &id, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="")
Метод класса mglGraph: void TriContV (const mglDataA &v, const mglDataA &id, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="")
Метод класса mglGraph: void TriContV (const mglDataA &v, const mglDataA &id, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="")
Функция С: void mgl_tricont_xyzc (HMGL gr, HCDT id, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt)
Функция С: void mgl_tricont_xyz (HMGL gr, HCDT id, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt)
Функция С: void mgl_tricont_xyzcv (HMGL gr, HCDT v, HCDT id, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt)
Функция С: void mgl_tricont_xyzv (HMGL gr, HCDT v, HCDT id, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt)

Рисует линии уровня поверхности из треугольников при z=v[k] (или при z равном минимальному значению оси z если sch содержит ‘_’). Вершины треугольников задаются индексами id в массиве точек {x[i], y[i], z[i]}. Если аргуент v не задан, то используется массив из num элементов равно распределенных в диапазоне изменения цвета. Здесь num равен значению параметра value в опциях opt (по умолчанию 7). Строка sch задает цветовую схему. Размер по 1-му индексу массива id должен быть 3 или больше. Массивы x, y, z должны иметь одинаковые размеры. Массив c задает цвет треугольников (если id.ny=c.nx) или цвет вершин (если x.nx=c.nx). См. также triplot, cont, triangulation.

Команда MGL: quadplot idat xdat ydat ['sch'='']
Команда MGL: quadplot idat xdat ydat zdat ['sch'='']
Команда MGL: quadplot idat xdat ydat zdat cdat ['sch'='']
Метод класса mglGraph: void QuadPlot (const mglDataA &id, const mglDataA &x, const mglDataA &y, const char *sch="", const char *opt="")
Метод класса mglGraph: void QuadPlot (const mglDataA &id, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="")
Метод класса mglGraph: void QuadPlot (const mglDataA &id, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="")
Функция С: void mgl_quadplot_xy (HMGL gr, HCDT id, HCDT x, HCDT y, const char *sch, const char *opt)
Функция С: void mgl_quadplot_xyz (HMGL gr, HCDT id, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt)
Функция С: void mgl_quadplot_xyzc (HMGL gr, HCDT id, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt)

Рисует поверхность из четырёхугольников. Вершины четырёхугольников задаются индексами id в массиве точек {x[i], y[i], z[i]}. Строка sch задает цветовую схему. Если строка содержит ‘#’, то рисуется сетчатая поверхность. Размер по 1-му индексу массива id должен быть 4 или больше. Массивы x, y, z должны иметь одинаковые размеры. Массив c задает цвет четырёхугольников (если id.ny=c.nx) или цвет вершин (если x.nx=c.nx). См. также triplot. См. раздел Sample ‘triplot, для примеров кода и графика.

Команда MGL: dots xdat ydat zdat ['sch'='']
Команда MGL: dots xdat ydat zdat adat ['sch'='']
Метод класса mglGraph: void Dots (const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="")
Метод класса mglGraph: void Dots (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", const char *opt="")
Метод класса mglGraph: void Dots (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const mglDataA &a, const char *sch="", const char *opt="")
Функция С: void mgl_dots (HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt)
Функция С: void mgl_dots_a (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt)
Функция С: void mgl_dots_ca (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT c, HCDT a, const char *sch, const char *opt)

Рисует произвольно расположенные точки {x[i], y[i], z[i]}. Строка sch задает цветовую схему и тип маркеров. Если определёны массивы c, a то они задают цвет и прозрачность точек соответственно. Непрозрачные точки с заданным цветом можно нарисовать с помощью tens, используя стиль ‘ .’. Массивы x, y, z, a должны иметь одинаковые размеры. См. также crust, tens, mark, plot. См. раздел Sample ‘dots, для примеров кода и графика.

Команда MGL: crust xdat ydat zdat ['sch'='']
Метод класса mglGraph: void Crust (const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="")
Функция С: void mgl_crust (HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt)

Реконструирует и рисует поверхность по произвольно расположенным точкам {x[i], y[i], z[i]}. Опция value задает радиус ошибки (увеличите для удаления дыр). Строка sch задает цветовую схему. Если строка содержит ‘#’, то рисуется сетчатая поверхность. Массивы x, y, z должны иметь одинаковые размеры. См. также dots, triplot.