plot3d2

plot surface defined by rectangular facets

Calling Sequence

plot3d2(X,Y,Z [,vect,theta,alpha,leg,flag,ebox])
plot3d2(X,Y,Z, <opt_args>)

Arguments

X, Y, Z:3 real matrices defining a data structure.

: :vect a real vector. : :<opt_args> This represents a sequence of statements `key1=value1,

key2=value2`,... where key1, key2,... can be one of the following: theta, alpha ,leg,flag,ebox (see definition below).
: :theta, alpha real values giving in degree the spherical coordinates
of the observation point.
: :leg string defining the labels for each axis with @ as a field
separator, for example “X@Y@Z”.
: :flag a real vector of size three. flag=[mode,type,box].
:mode an integer (surface color).
:mode>0 the surface is painted with color “mode” ; the boundary of
the facet is drawn with current line style and color.

: :mode=0: a mesh of the surface is drawn. : :mode<0: the surface is painted with color “-mode” ; the boundary

of the facet is not drawn. Note that the surface color treatement can be done using color_mode and color_flag options through the surface entity properties (see surface_properties).

:

: :type an integer (scaling).
type=0:the plot is made using the current 3D scaling (set by a previous call to param3d, plot3d, contour or plot3d1).
: :type=1: rescales automatically 3d boxes with extreme aspect ratios,
the boundaries are specified by the value of the optional argument ebox.
: :type=2: rescales automatically 3d boxes with extreme aspect ratios,
the boundaries are computed using the given data.
: :type=3: 3d isometric with box bounds given by optional ebox,
similarily to type=1.
: :type=4: 3d isometric bounds derived from the data, to similarily
type=2.
: :type=5: 3d expanded isometric bounds with box bounds given by
optional ebox, similarily to type=1.
: :type=6: 3d expanded isometric bounds derived from the data,
similarily to type=2. Note that axes boundaries can be customized through the axes entity properties (see axes_properties).

:

: :box an integer (frame around the plot).
box=0:nothing is drawn around the plot.

: :box=1: unimplemented (like box=0). : :box=2: only the axes behind the surface are drawn. : :box=3: a box surrounding the surface is drawn and captions are

added.
: :box=4: a box surrounding the surface is drawn, captions and axes
are added. Note that axes aspect can also be customized through the axes entity properties (see axes_properties).

:

:

: :ebox It specifies the boundaries of the plot as the vector
[xmin,xmax,ymin,ymax,zmin,zmax]. This argument is used together with type in flag : if it is set to 1, 3 or 5 (see above to see the corresponding behaviour). If flag is missing, ebox is not taken into acoount. Note that, when specified, the ebox argument acts on the data_bounds field that can also be reset through the axes entity properties (see axes_properties).

:

Description

plot3d2 plots a surface defined by rectangular facets. (X,Y,Z) are three matrices which describe a surface. The surface is composed of four sided polygons.

The X-coordinates of a facet are given by X(i,j), X(i+1,j), X(i+1,j+1) and X(i,j+1). Similarly Y and Z matrices contain Y and Z-coordinates.

The vect vector is used when multiple surfaces are coded in the same (X,Y,Z) matrices. vect(j) gives the line at which the coding of the jth surface begins. Like in plot3d, the same properties are editable (see surface_properties and axes_properties).

Sample

Examples

u = `linspace`_(-%pi/2,%pi/2,40);
v = `linspace`_(0,2*%pi,20);
X = `cos`_(u)'*`cos`_(v);
Y = `cos`_(u)'*`sin`_(v);
Z = `sin`_(u)'*`ones`_(v);
plot3d2(X,Y,Z);
e=`gce`_();
e.color_mode=4; // change color
f=e.data;
TL = `tlist`_(["3d" "x" "y" "z" "color"],f.x,f.y,f.z,10*(f.z)+1);
e.data=TL;
e.color_flag=2;

See Also

Table Of Contents

This Page