5.14 Парные графики

Эти функции строят графики для двух связанных массивов. Есть несколько основных типов 3D графиков: поверхность и поверхность уровня с окраской по второму массиву (SurfC, Surf3C), поверхность и поверхность уровня с прозрачностью по второму массиву (SurfA, Surf3A), плитки переменного размера (TileS), диаграмма точечного отображения (Map), STFA диаграмма (STFA). По умолчанию (если отсутствуют) значения x, yz для Surf3C, Surf3A) равно распределены в диапазоне осей координат. Младшие размерности массивов x, y, z, c должны быть одинаковы 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, yz для Surf3C, Surf3A) могут быть векторами (не матрицами как c). Строка sch задает цветовую схему (см. Цветовая схема). Строка opt задает опции графика (см. Опции команд).

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

Рисует параметрически заданную поверхность {x[i,j], y[i,j], z[i,j]} с цветом, заданным массивом c[i,j]. Если sch содержит ‘#’, то на поверхности рисуется сетка. Если sch содержит ‘.’, то рисуется поверхность из точек. Размерность массивов z и c должна быть одинакова. График строится для каждого z среза данных. См. также surf, surfa, beltc, surf3c. См. раздел Sample ‘surfc, для примеров кода и графика.

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

Рисует ленточки для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]} с цветом, заданным массивом c[i,j]. График может использоваться как 3d обобщение графика plot. Если sch содержит ‘x’, то ленточки рисуются вдоль оси x, иначе (по умолчанию) вдоль оси y. См. также belt, surfc, meshnum. См. раздел Sample ‘beltc, для примеров кода и графика.

Команда MGL: surf3c adat cdat val ['sch'='']
Команда MGL: surf3c xdat ydat zdat adat cdat val ['sch'='']
Метод класса mglGraph: void Surf3C (mreal val, const mglDataA &a, const mglDataA &c, const char *sch="", const char *opt="")
Метод класса mglGraph: void Surf3C (mreal val, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &c, const char *sch="", const char *opt="")
Функция С: void mgl_surf3c_val (HMGL gr, mreal val, HCDT a, HCDT c, const char *sch, const char *opt)
Функция С: void mgl_surf3c_xyz_val (HMGL gr, mreal val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT c, 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. Аналогично surf3, но цвет задается массивом c. Если sch содержит ‘#’, то рисуется сетчатая поверхность. Если sch содержит ‘.’, то рисуется поверхность из точек. См. также surf3, surfc, surf3a. См. раздел Sample ‘surf3c, для примеров кода и графика.

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

Аналогично предыдущему для num поверхностей уровня равномерно распределённых в диапазоне изменения цвета. Величина num равна значению параметра value в опциях opt (по умолчанию 3).

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

Рисует параметрически заданную поверхность {x[i,j], y[i,j], z[i,j]} с прозрачностью, заданной массивом c[i,j]. Если sch содержит ‘#’, то на поверхности рисуется сетка. Если sch содержит ‘.’, то рисуется поверхность из точек. Размерность массивов z и c должна быть одинакова. График строится для каждого z среза данных. См. также surf, surfc, surf3a. См. раздел Sample ‘surfa, для примеров кода и графика.

Команда MGL: surf3a adat cdat val ['sch'='']
Команда MGL: surf3a xdat ydat zdat adat cdat val ['sch'='']
Метод класса mglGraph: void Surf3A (mreal val, const mglDataA &a, const mglDataA &c, const char *sch="", const char *opt="")
Метод класса mglGraph: void Surf3A (mreal val, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &c, const char *sch="", const char *opt="")
Функция С: void mgl_surf3a_val (HMGL gr, mreal val, HCDT a, HCDT c, const char *sch, const char *opt)
Функция С: void mgl_surf3a_xyz_val (HMGL gr, mreal val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT c, 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. Аналогично surf3, но прозрачность задается массивом c. Если sch содержит ‘#’, то рисуется сетчатая поверхность. Если sch содержит ‘.’, то рисуется поверхность из точек. См. также surf3, surfc, surf3a. См. раздел Sample ‘surf3a, для примеров кода и графика.

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

Аналогично предыдущему для num поверхностей уровня равномерно распределённых в диапазоне изменения цвета. При этом массив c может быть вектором со значениями прозрачности и num=c.nx. В противном случае величина num равна значению параметра value в опциях opt (по умолчанию 3).

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

Рисует параметрически заданную поверхность {x[i,j], y[i,j], z[i,j]} с цветом и прозрачностью, заданными массивами c[i,j] и a[i,j] соответственно. Если sch содержит ‘#’, то на поверхности рисуется сетка. Если sch содержит ‘.’, то рисуется поверхность из точек. Размерность массивов z и c должна быть одинакова. График строится для каждого z среза данных. См. также surf, surfc, surfa, surf3ca. См. раздел Sample ‘surfca, для примеров кода и графика.

Команда MGL: surf3ca adat cdat bdat val ['sch'='']
Команда MGL: surf3ca xdat ydat zdat adat cdat bdat val ['sch'='']
Метод класса mglGraph: void Surf3CA (mreal val, const mglDataA &a, const mglDataA &c, const mglDataA &b, const char *sch="", const char *opt="")
Метод класса mglGraph: void Surf3CA (mreal val, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &c, const mglDataA &b, const char *sch="", const char *opt="")
Функция С: void mgl_surf3ca_val (HMGL gr, mreal val, HCDT a, HCDT c, HCDT b, const char *sch, const char *opt)
Функция С: void mgl_surf3ca_xyz_val (HMGL gr, mreal val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT c, HCDT b, 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. Аналогично surf3, но цвет и прозрачность задается массивами c и b соответственно. Если sch содержит ‘#’, то рисуется сетчатая поверхность. Если sch содержит ‘.’, то рисуется поверхность из точек. См. также surf3, surfc, surf3a. См. раздел Sample ‘surf3a, для примеров кода и графика.

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

Аналогично предыдущему для num поверхностей уровня равномерно распределённых в диапазоне изменения цвета. Здесь величина num равна значению параметра value в опциях opt (по умолчанию 3).

Команда MGL: tiles zdat rdat ['sch'='']
Команда MGL: tiles xdat ydat zdat rdat ['sch'='']
Команда MGL: tiles xdat ydat zdat rdat cdat ['sch'='']
Метод класса mglGraph: void TileS (const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="")
Метод класса mglGraph: void TileS (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &r, const char *sch="", const char *opt="")
Метод класса mglGraph: void TileS (const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &r, const mglDataA &c, const char *sch="", const char *opt="")
Функция С: void mgl_tiles (HMGL gr, HCDT z, HCDT c, const char *sch, const char *opt)
Функция С: void mgl_tiles_xy (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const char *sch, const char *opt)
Функция С: void mgl_tiles_xyc (HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, HCDT c, const char *sch, const char *opt)

Рисует плитки для параметрически заданной поверхности {x[i,j], y[i,j], z[i,j]} с цветом, заданным массивом c[i,j]. Аналогично Tile(), но размер плиток задается массивов r. Если строка sch содержит стиль ‘x’ или ‘y’, то плитки будут ориентированы перпендикулярно x- или y-оси. Это создает эффект "прозрачности" при экспорте в файлы EPS. График строится для каждого z среза данных. См. также surfa, tile. См. раздел Sample ‘tiles, для примеров кода и графика.

Команда MGL: map udat vdat ['sch'='']
Команда MGL: map xdat ydat udat vdat ['sch'='']
Метод класса mglGraph: void Map (const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="")
Метод класса mglGraph: void Map (const mglDataA &x, const mglDataA &y, const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="")
Функция С: void mgl_map (HMGL gr, HCDT ax, HCDT ay, const char *sch, const char *opt)
Функция С: void mgl_map_xy (HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt)

Рисует точечное отображение для матриц {ax, ay } параметрически зависящих от координат x, y. Исходное положение ячейки задает ее цвет. Высота пропорциональна якобиану J(ax,ay). График является аналогом диаграммы Арнольда ??? Если sch содержит ‘.’, то цветные точки рисуются в узлах матриц (полезно для "запутанного" отображения), иначе рисуются грани. См. раздел Mapping visualization, для примеров кода и графика.

Команда MGL: stfa re im dn ['sch'='']
Команда MGL: stfa xdat ydat re im dn ['sch'='']
Метод класса mglGraph: void STFA (const mglDataA &re, const mglDataA &im, int dn, const char *sch="", const char *opt="")
Метод класса mglGraph: void STFA (const mglDataA &x, const mglDataA &y, const mglDataA &re, const mglDataA &im, int dn, const char *sch="", const char *opt="")
Функция С: void mgl_stfa (HMGL gr, HCDT re, HCDT im, int dn, const char *sch, const char *opt)
Функция С: void mgl_stfa_xy (HMGL gr, HCDT x, HCDT y, HCDT re, HCDT im, int dn, const char *sch, const char *opt)

Рисует спектрограмму комплексного массива re+i*im для Фурье размером dn точек в плоскости z равно минимальному значению оси z. Параметр dn – любое чётное число. Например в 1D случае, результатом будет график плотности от массива res[i,j]=|\sum_d^dn exp(I*j*d)*(re[i*dn+d]+I*im[i*dn+d])|/dn размером {int(nx/dn), dn, ny}. Массивы re, im параметрически зависят от координат x, y. Все размеры массивов re и im должны быть одинаковы. Младшие размерности массивов x, y, re должны быть одинаковы. Массивы x и y могут быть векторами (не матрицами как re). См. раздел Sample ‘stfa, для примеров кода и графика.