param3d1 — 3D plot of parametric curves
param3d1(x,y,z,[theta,alpha,leg,flag,ebox]) param3d1(x,y,list(z,colors),[theta,alpha,leg,flag,ebox])
matrices of the same size (nl,nc).
Each column i of the matrices corresponds to the coordinates
of the ith curve. You can give a specific color for each curve by
using list(z,colors)
instead of
z
, where colors
is a vector of
size nc
. If color(i)
is
negative the curve is plotted using the mark with id
abs(style(i))
; if style(i)
is
strictly positive, a plain line with color id
style(i)
or a dashed line with dash id
style(i)
is used.
real values giving in degree the spherical coordinates of the observation point. The default values are 35 and 45 degree.
string defining the captions for each axis with @ as a field separator, for example "X@Y@Z".
type
and box
have the
same meaning as in plot3d
:
an integer (scaling).
the plot is made using the current 3D scaling (set
by a previous call to param3d
,
plot3d
, contour
or
plot3d1
).
rescales automatically 3d boxes with extreme
aspect ratios, the boundaries are specified by the value
of the optional argument ebox
.
rescales automatically 3d boxes with extreme aspect ratios, the boundaries are computed using the given data. This is the default value.
3d isometric with box bounds given by optional
ebox
, similarily to
type=1
.
3d isometric bounds derived from the data,
similarily to type=2
.
3d expanded isometric bounds with box bounds given
by optional ebox
, similarily to
type=1
.
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).
an integer (frame around the plot).
nothing is drawn around the plot.
unimplemented (like box=0).
only the axes behind the surface are drawn.
a box surrounding the surface is drawn and captions are added.
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). This is the default value.
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 acount. 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). The
ebox
default value is
[0,1,0,1,0,1]
.
param3d1
is used to plot 3D curves defined by
their coordinates x
, y
and
z
. Note that data can also be got or modified through
the surface entity properties (see surface_properties).
Note that properties like rotation angles
,
colors
and thickness
of the plotted
curves can also be got or modified through the polyline entity properties
(see polyline_properties).
Enter the command param3d1()
to see a
demo.
xset('window',20) // create a window number 20 t=[0:0.1:5*%pi]'; param3d1([sin(t),sin(2*t)],[cos(t),cos(2*t)],.. list([t/10,sin(t)],[3,2]),35,45,"X@Y@Z",[2,3]) xdel(20); a=get("current_axes");//get the handle of the newly created axes t=[0:0.1:5*%pi]'; param3d1([sin(t),sin(2*t)],[cos(t),cos(2*t)],[t/10,sin(t)]) a.rotation_angles=[65,75]; a.data_bounds=[-1,-1,-1;1,1,2]; //boundaries given by data_bounds a.thickness = 2; h=a.children //get the handle of the param3d entity: an Compound composed of 2 curves h.children(1).foreground = 3 // first curve curve2 = h.children(2); curve2.foreground = 6; curve2.mark_style = 2;