<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
<MAN>
  <LANGUAGE>eng</LANGUAGE>

  <TITLE>param3d1</TITLE>

  <TYPE>Scilab Functio</TYPE>

  <DATE>April 1993</DATE>

  <SHORT_DESCRIPTION name="param3d1">3D plot of parametric
  curves</SHORT_DESCRIPTION>

  <CALLING_SEQUENCE>
    <CALLING_SEQUENCE_ITEM>param3d1(x,y,z,[theta,alpha,leg,flag,ebox])</CALLING_SEQUENCE_ITEM>

    <CALLING_SEQUENCE_ITEM>param3d1(x,y,list(z,colors),[theta,alpha,leg,flag,ebox])</CALLING_SEQUENCE_ITEM>
  </CALLING_SEQUENCE>

  <PARAM>
    <PARAM_INDENT>
      <PARAM_ITEM>
        <PARAM_NAME>x,y,z</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <P>: matrices of the same size (nl,nc).</P>

          <P>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
          <VERB>list(z,colors)</VERB> instead of <VERB>z</VERB>, where
          <VERB>colors</VERB> is a vector of size <VERB>nc</VERB>. If
          <VERB>color(i)</VERB> is negative the curve is plotted using the
          mark with id <VERB>abs(style(i))</VERB>; if <VERB>style(i)</VERB> is
          strictly positive, a plain line with color id <VERB>style(i)</VERB>
          or a dashed line with dash id <VERB>style(i)</VERB> is used.</P>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>theta,alpha</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: real values giving in degree the spherical coordinates of the
          observation point.</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>leg</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: string defining the captions for each axis with @ as a field
          separator, for example "X@Y@Z".</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>flag=[type,box]</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: <VERB>type</VERB> and <VERB>box</VERB> have the same meaning
          as in <VERB>plot3d</VERB>:</SP>

          <PARAM_INDENT>
            <PARAM_ITEM>
              <PARAM_NAME>type</PARAM_NAME>

              <PARAM_DESCRIPTION>
                <SP>: an integer (scaling).</SP>

                <PARAM_INDENT>
                  <PARAM_ITEM>
                    <PARAM_NAME>type=0</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>the plot is made using the current 3D scaling (set
                      by a previous call to <VERB>param3d</VERB>,
                      <VERB>plot3d</VERB>, <VERB>contour</VERB> or
                      <VERB>plot3d1</VERB>).</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>type=1</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>rescales automatically 3d boxes with extreme aspect
                      ratios, the boundaries are specified by the value of the
                      optional argument <VERB>ebox</VERB>.</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>type=2</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>rescales automatically 3d boxes with extreme aspect
                      ratios, the boundaries are computed using the given
                      data.</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>type=3</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>3d isometric with box bounds given by optional
                      <VERB>ebox</VERB>, similarily to
                      <VERB>type=1</VERB>.</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>type=4</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>3d isometric bounds derived from the data, to
                      similarily<VERB>type=2</VERB>.</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>type=5</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>3d expanded isometric bounds with box bounds given
                      by optional <VERB>ebox</VERB>, similarily to
                      <VERB>type=1</VERB>.</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>type=6</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>3d expanded isometric bounds derived from the data,
                      similarily to <VERB>type=2</VERB>.Note that axes
                      boundaries can be customized through the axes entity
                      properties (see <LINK>axes_properties</LINK>).</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>
                </PARAM_INDENT>
              </PARAM_DESCRIPTION>
            </PARAM_ITEM>

            <PARAM_ITEM>
              <PARAM_NAME>box</PARAM_NAME>

              <PARAM_DESCRIPTION>
                <SP>: an integer (frame around the plot).</SP>

                <PARAM_INDENT>
                  <PARAM_ITEM>
                    <PARAM_NAME>box=0</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>nothing is drawn around the plot.</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>box=1</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>unimplemented (like box=0).</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>box=2</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>only the axes behind the surface are drawn.</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>box=3</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>a box surrounding the surface is drawn and captions
                      are added.</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>

                  <PARAM_ITEM>
                    <PARAM_NAME>box=4</PARAM_NAME>

                    <PARAM_DESCRIPTION>
                      <SP>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
                      <LINK>axes_properties</LINK>).</SP>
                    </PARAM_DESCRIPTION>
                  </PARAM_ITEM>
                </PARAM_INDENT>
              </PARAM_DESCRIPTION>
            </PARAM_ITEM>
          </PARAM_INDENT>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>ebox</PARAM_NAME>

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

  <DESCRIPTION>
    <P><VERB>param3d1</VERB> is used to plot 3D curves defined by their
    coordinates <VERB>x</VERB>, <VERB>y</VERB> and <VERB>z</VERB>. Note that
    data can also be set or get through the surface entity properties (see
    <LINK>surface_properties</LINK>).</P>

    <P>Note that properties like <VERB>rotation angles</VERB>,
    <VERB>colors</VERB> and <VERB>thickness</VERB> of the plotted curves can
    also be set through the param3d entity properties (see
    <LINK>param3d_properties</LINK>).</P>

    <P>Enter the command <VERB>param3d1()</VERB> to see a demo.</P>
  </DESCRIPTION>

  <EXAMPLE><![CDATA[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);
 set("figure_style","new") //create a figure
 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;
 ]]></EXAMPLE>

  <SEE_ALSO>
    <SEE_ALSO_ITEM>
      <LINK>param3d</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>plot3d</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>plot2d</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>gca</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>xdel</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>delete</LINK>
    </SEE_ALSO_ITEM>
  </SEE_ALSO>

  <AUTHOR>J.Ph.C.</AUTHOR>
</MAN>