Эти функции строят графики для трехмерных (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.