Эти функции строят графики для трехмерных (3D) массивов. Трёхмерными считаются массивы, зависящие от трёх параметров (индексов) подобно матрице f(x_i,y_j,z_k), i=1...n, j=1...m, k=1...l. По умолчанию (если отсутствуют) значения x, y, z равно распределены в диапазоне осей координат. Младшие размерности массивов x, y, z должны быть одинаковы x.nx=a.nx && y.nx=a.ny && z.nz=a.nz или x.nx=y.nx=z.nx=a.nx && x.ny=y.ny=z.ny=a.ny && x.nz=y.nz=z.nz=a.nz. Массивы x, y и z могут быть векторами (не матрицами как a). Строка sch задает цветовую схему (см. Цветовая схема). Строка opt задает опции графика (см. Опции команд).
adat val ['sch'=''] ¶xdat ydat zdat adat val ['sch'=''] ¶mglGraph: void Surf3 (mreal val, const mglDataA &a, const char *sch="", const char *opt="") ¶mglGraph: void Surf3 (mreal val, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", const char *opt="") ¶void mgl_surf3_val (HMGL gr, mreal val, HCDT a, const char *sch, const char *opt) ¶void mgl_surf3_xyz_val (HMGL gr, mreal val, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) ¶Рисует поверхность уровня для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]) при a(x,y,z)=val. Если sch содержит ‘#’, то рисуется сетчатая поверхность. Если sch содержит ‘.’, то рисуется поверхность из точек. Замечу, что возможно некорректная отрисовка граней вследствие неопределённости построения сечения если поверхность пересекает ячейку данных 2 и более раз. См. также cloud, dens3, surf3c, surf3a, axial. См. раздел Sample ‘surf3’, для примеров кода и графика.
adat ['sch'=''] ¶xdat ydat zdat adat ['sch'=''] ¶mglGraph: void Surf3 (const mglDataA &a, const char *sch="", const char *opt="") ¶mglGraph: void Surf3 (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", const char *opt="") ¶void mgl_surf3 (HMGL gr, HCDT a, const char *sch, const char *opt) ¶void mgl_surf3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) ¶Аналогично предыдущему для num поверхностей уровня равномерно распределённых в диапазоне изменения цвета. Величина num равна значению параметра value в опциях opt (по умолчанию 3).
adat ['sch'=''] ¶xdat ydat zdat adat ['sch'=''] ¶mglGraph: void Cloud (const mglDataA &a, const char *sch="", const char *opt="") ¶mglGraph: void Cloud (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", const char *opt="") ¶void mgl_cloud (HMGL gr, HCDT a, const char *sch, const char *opt) ¶void mgl_cloud_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) ¶Рисует облачный график для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). График состоит из кубиков с цветом и прозрачностью пропорциональной значениям a. Результат похож на облако – малые значения прозрачны, а большие нет. Число кубиков зависит от meshnum. Если sch содержит ‘.’, то будет построен график более низкого качества, но с заметно меньшим использованием памяти. Если sch содержит ‘i’, то прозрачность будет инвертирована, т.е. области с более высокими значениями будут более прозрачны, а с более низким – менее прозрачны. См. также surf3, meshnum. См. раздел Sample ‘cloud’, для примеров кода и графика.
adat ['sch'='' sval=-1] ¶xdat ydat zdat adat ['sch'='' sval=-1] ¶mglGraph: void Dens3 (const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶mglGraph: void Dens3 (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶void mgl_dens3 (HMGL gr, HCDT a, const char *sch, mreal sVal, const char *opt) ¶void mgl_dens3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, mreal sVal, const char *opt) ¶Рисует график плотности для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). График рисуется на срезе sVal в направлении {‘x’, ‘y’, ‘z’}, указанном в строке sch (по умолчанию, в напралении ‘y’). Если sch содержит ‘#’, то на срезе рисуется сетка. См. также cont3, contf3, dens, grid3. См. раздел Sample ‘dens3’, для примеров кода и графика.
vdat adat ['sch'='' sval=-1] ¶vdat xdat ydat zdat adat ['sch'='' sval=-1] ¶mglGraph: void Cont3 (const mglDataA &v, const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶mglGraph: void Cont3 (const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶void mgl_cont3_val (HMGL gr, HCDT v, HCDT a, const char *sch, mreal sVal, const char *opt) ¶void mgl_cont3_xyz_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, mreal sVal, const char *opt) ¶Рисует линии уровня для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Линии рисуются для значений из массива v на срезе sVal в направлении {‘x’, ‘y’, ‘z’}, указанном в строке sch (по умолчанию, в напралении ‘y’). Если sch содержит ‘#’, то на срезе рисуется сетка. Если sch содержит ‘t’ или ‘T’, то значения v[k] будут выведены вдоль контуров над (или под) кривой. См. также dens3, contf3, cont, grid3. См. раздел Sample ‘cont3’, для примеров кода и графика.
adat ['sch'='' sval=-1] ¶xdat ydat zdat adat ['sch'='' sval=-1] ¶mglGraph: void Cont3 (const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶mglGraph: void Cont3 (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶void mgl_cont3 (HMGL gr, HCDT a, const char *sch, mreal sVal, const char *opt) ¶void mgl_cont3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, mreal sVal, const char *opt) ¶Аналогично предыдущему для num линий уровня равномерно распределённых в диапазоне изменения цвета. Величина num равна значению параметра value в опциях opt (по умолчанию 7).
vdat adat ['sch'='' sval=-1] ¶vdat xdat ydat zdat adat ['sch'='' sval=-1] ¶mglGraph: void Contf3 (const mglDataA &v, const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶mglGraph: void Contf3 (const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶void mgl_contf3_val (HMGL gr, HCDT v, HCDT a, const char *sch, mreal sVal, const char *opt) ¶void mgl_contf3_xyz_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, mreal sVal, const char *opt) ¶Рисует закрашенные линии (контуры) уровня для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Линии рисуются для значений из массива v на срезе sVal в направлении {‘x’, ‘y’, ‘z’}, указанном в строке sch (по умолчанию, в напралении ‘y’). Если sch содержит ‘#’, то на срезе рисуется сетка. См. также dens3, cont3, contf, grid3. См. раздел Sample ‘contf3’, для примеров кода и графика.
adat ['sch'='' sval=-1] ¶xdat ydat zdat adat ['sch'='' sval=-1] ¶mglGraph: void Contf3 (const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶mglGraph: void Contf3 (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶void mgl_contf3 (HMGL gr, HCDT a, const char *sch, mreal sVal, const char *opt) ¶void mgl_contf3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, mreal sVal, const char *opt) ¶Аналогично предыдущему для num закрашенных линий (контуров) уровня равномерно распределённых в диапазоне изменения цвета. Величина num равна значению параметра value в опциях opt (по умолчанию 7).
adat ['sch'='' sval=-1] ¶xdat ydat zdat adat ['sch'='' sval=-1] ¶mglGraph: void Grid3 (const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶mglGraph: void Grid3 (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", mreal sVal=-1, const char *opt="") ¶void mgl_grid3 (HMGL gr, HCDT a, const char *sch, mreal sVal, const char *opt) ¶void mgl_grid3_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, mreal sVal, const char *opt) ¶Рисует сетку для 3d массива, заданного параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). График рисуется на срезе sVal в направлении {‘x’, ‘y’, ‘z’}, указанном в строке sch (по умолчанию, в напралении ‘y’). См. также cont3, contf3, dens3, grid2, meshnum.
vdat adat bdat ['sch'=''] ¶vdat xdat ydat zdat adat bdat ['sch'=''] ¶mglGraph: void DCont (const mglDataA &v, const mglDataA &a, const mglDataA &b, const char *sch="", const char *opt="") ¶mglGraph: void DCont (const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &b, const char *sch="", const char *opt="") ¶void mgl_dcont_val (HMGL gr, HCDT v, HCDT a, HCDT b, const char *sch, const char *opt) ¶void mgl_dcont_xyz_val (HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *sch, const char *opt) ¶Рисует линии пересечений поверхностей постоянного уровня для 3d данных a, b заданных параметрически a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Поверхности уровня берутся при значениях функции равных элементам массива v. См. также cont, cont3. См. раздел Sample ‘dcont’, для примеров кода и графика.
adat bdat ['sch'='' sval=-1] ¶xdat ydat zdat adat bdat ['sch'='' sval=-1] ¶mglGraph: void DCont (const mglDataA &a, const mglDataA &b, const char *sch="", const char *opt="") ¶mglGraph: void DCont (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &b, const char *sch="", const char *opt="") ¶void mgl_dcont (HMGL gr, HCDT a, HCDT b, const char *sch, mreal sVal, const char *opt) ¶void mgl_HCDT b, cont_xyz (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *sch, const char *opt) ¶Аналогично предыдущему для num уровней равномерно распределённых в диапазоне изменения цвета. Величина num равна значению параметра value в опциях opt (по умолчанию 7).
tr g1 g2 adat rval ['sch'='' flag=0 num=3] ¶mglGraph: void Beam (const mglDataA &tr, const mglDataA &g1, const mglDataA &g2, const mglDataA &a, mreal r, const char *stl="", int flag=0, int num=3) ¶mglGraph: void Beam (mreal val, const mglDataA &tr, const mglDataA &g1, const mglDataA &g2, const mglDataA &a, mreal r, const char *stl="", int flag=0) ¶void mgl_beam (HMGL gr, HCDT tr, HCDT g1, HCDT g2, HCDT a, mreal r, const char *stl, int flag, int num) ¶void mgl_beam_val (HMGL gr, mreal val, HCDT tr, HCDT g1, HCDT g2, HCDT a, mreal r, const char *stl, int flag) ¶Рисует поверхность уровня для 3d массива a при постоянном значении a=val. Это специальный тип графика для a заданного в сопровождающей системе координат вдоль кривой tr с ортами g1, g2 и с поперечным размером r. Переменная flag – битовый флаг: ‘0x1’ - рисовать в сопровождающих (не лабораторных) координатах; ‘0x2’ - рисовать проекцию на плоскость \rho-z; ‘0x4’ - рисовать нормированное в каждом сечении поле. Размеры массивов по 1-му индексу tr, g1, g2 должны быть nx>2. Размеры массивов по 2-му индексу tr, g1, g2 и размер по 3-му индексу массива a должны быть одинаковы. См. также surf3.