Эти функции строят графики для двух связанных массивов. Есть несколько основных типов 3D графиков: поверхность и поверхность уровня с окраской по второму массиву (SurfC, Surf3C), поверхность и поверхность уровня с прозрачностью по второму массиву (SurfA, Surf3A), плитки переменного размера (TileS), диаграмма точечного отображения (Map), STFA диаграмма (STFA). По умолчанию (если отсутствуют) значения x, y (и z для 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, y (и z для Surf3C, Surf3A
) могут быть векторами (не матрицами как c). Строка sch задает цветовую схему (см. Цветовая схема). Строка opt задает опции графика (см. Опции команд).
zdat cdat ['sch'='']
¶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’, для примеров кода и графика.
zdat cdat ['sch'='']
¶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’, для примеров кода и графика.
adat cdat val
['sch'='']
¶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’, для примеров кода и графика.
adat cdat ['sch'='']
¶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).
zdat cdat ['sch'='']
¶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’, для примеров кода и графика.
adat cdat val
['sch'='']
¶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’, для примеров кода и графика.
adat cdat ['sch'='']
¶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).
zdat cdat adat ['sch'='']
¶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’, для примеров кода и графика.
adat cdat bdat val
['sch'='']
¶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’, для примеров кода и графика.
adat cdat ['sch'='']
¶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).
zdat rdat ['sch'='']
¶xdat ydat zdat rdat ['sch'='']
¶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’, для примеров кода и графика.
udat vdat ['sch'='']
¶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, для примеров кода и графика.
re im dn
['sch'='']
¶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’, для примеров кода и графика.