These functions perform plotting of 3D data. 3D means that data depend from 3 independent parameters like matrix f(x_i,y_j,z_k), i=1...n, j=1...m, k=1...l. By default (if absent) values of x, y, z are equidistantly distributed in axis range. The minor dimensions of arrays x, y, z, a should be equal x.nx=a.nx && y.nx=a.ny && z.nz=a.nz
or x.nx=y.nx=z.nx=a.nx && x.ny=y.ny=z.ny=a.ny && x.nz=y.nz=z.nz=a.nz
. Arrays x, y and z can be vectors (not matrices as a). String sch sets the color scheme (see Color scheme) for plot. String opt contain command options (see Command options).
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)
¶The function draws isosurface plot for 3d array specified parametrically a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]) at a(x,y,z)=val. If string contain ‘#’ then wire plot is produced. If string sch have symbol ‘.’ then plot by dots is produced. Note, that there is possibility of incorrect plotting due to uncertainty of cross-section defining if there are two or more isosurface intersections inside one cell. See also cloud, dens3, surf3c, surf3a, axial. See Sample ‘surf3’, for sample code and picture.
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)
¶Draws num-th uniformly distributed in color range isosurfaces for 3d data. Here num is equal to parameter value
in options opt (default is 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)
¶The function draws cloud plot for 3d data specified parametrically a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). This plot is a set of cubes with color and transparency proportional to value of a. The resulting plot is like cloud – low value is transparent but higher ones are not. The number of plotting cells depend on meshnum. If string sch contain symbol ‘.’ then lower quality plot will produced with much low memory usage. If string sch contain symbol ‘i’ then transparency will be inversed, i.e. higher become transparent and lower become not transparent. See also surf3, meshnum. See Sample ‘cloud’, for sample code and picture.
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)
¶The function draws density plot for 3d data specified parametrically a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Density is plotted at slice sVal in direction {‘x’, ‘y’, ‘z’} if sch contain corresponding symbol (by default, ‘y’ direction is used). If string stl have symbol ‘#’ then grid lines are drawn. See also cont3, contf3, dens, grid3. See Sample ‘dens3’, for sample code and picture.
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)
¶The function draws contour plot for 3d data specified parametrically a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Contours are plotted for values specified in array v at slice sVal in direction {‘x’, ‘y’, ‘z’} if sch contain corresponding symbol (by default, ‘y’ direction is used). If string sch have symbol ‘#’ then grid lines are drawn. If string sch have symbol ‘t’ or ‘T’ then contour labels will be drawn below (or above) the contours. See also dens3, contf3, cont, grid3. See Sample ‘cont3’, for sample code and picture.
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)
¶The same as previous with vector v of num-th elements equidistantly distributed in color range. Here num is equal to parameter value
in options opt (default is 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)
¶The function draws solid (or filled) contour plot for 3d data specified parametrically a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Contours are plotted for values specified in array v at slice sVal in direction {‘x’, ‘y’, ‘z’} if sch contain corresponding symbol (by default, ‘y’ direction is used). If string sch have symbol ‘#’ then grid lines are drawn. See also dens3, cont3, contf, grid3. See Sample ‘contf3’, for sample code and picture.
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)
¶The same as previous with vector v of num-th elements equidistantly distributed in color range. Here num is equal to parameter value
in options opt (default is 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)
¶The function draws grid for 3d data specified parametrically a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Grid is plotted at slice sVal in direction {‘x’, ‘y’, ‘z’} if sch contain corresponding symbol (by default, ‘y’ direction is used). See also 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)
¶The function draws lines at intersections of isosurfaces for 3d data a, b specified parametrically a[i,j,k](x[i,j,k], y[i,j,k], z[i,j,k]). Isosurfaces are taken for values specified in array v. See also cont, cont3. See Sample ‘dcont’, for sample code and picture.
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)
¶The same as previous with vector v of num-th elements equidistantly distributed in color range. Here num is equal to parameter value
in options opt (default is 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)
¶Draws the isosurface for 3d array a at constant values of a=val. This is special kind of plot for a specified in accompanied coordinates along curve tr with orts g1, g2 and with transverse scale r. Variable flag is bitwise: ‘0x1’ - draw in accompanied (not laboratory) coordinates; ‘0x2’ - draw projection to \rho-z plane; ‘0x4’ - draw normalized in each slice field. The x-size of data arrays tr, g1, g2 must be nx>2. The y-size of data arrays tr, g1, g2 and z-size of the data array a must be equal. See also surf3.