<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( https://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) Serge Steer
 * Copyright (C) 2018 - Samuel GOUGEON
 *
 * Copyright (C) 2012 - 2016 - Scilab Enterprises
 *
 * This file is hereby licensed under the terms of the GNU GPL v2.0,
 * pursuant to article 5.3.4 of the CeCILL v.2.1.
 * This file was originally licensed under the terms of the CeCILL v2.1,
 * and continues to be available under such terms.
 * For more information, see the COPYING file which you should have received
 * along with this program.
-->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
          xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
          xml:lang="ja" xml:id="comet">
    <refnamediv>
        <refname>comet</refname>
        <refpurpose>2次元 comet アニメーションプロット</refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>呼び出し手順</title>
        <synopsis>
            comet(y)
            comet(x, y)
            comet(x, y, Lf)
            comet(x, fun)
            comet(x, fun, Lf)
            comet(..., "colors",c)
        </synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>パラメータ</title>
        <variablelist>
            <varlistentry>
                <term>x</term>
                <listitem>
                    実数ベクトルまたは行列. 省略された場合,
                    ベクトル <literal>1:np</literal> が指定されたと仮定されます.
                    ただし,<literal>np</literal> は曲線の点の数(下記参照)です.
                    行列として、各列は別々の彗星の軌跡の水平座標を定義します。
                    <para/>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>y</term>
                <listitem>
                    長さの実数ベクトルまたは行列. 行列として、各列は別々の彗星の軌跡の縦座標を定義します。
                    <literal>nc=size（y,"c"）</literal>  は、同時に描画される彗星の数です。
                    <para/>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>Lf</term>
                <listitem>
                    範囲 <literal>[0 1[</literal> の実数スカラー. デフォルト値は 0.1です.
                    これは、彗星の痕跡のLeading fractionを定義します。最近の点は太い線でプロットされています
                    （<literal>k=Lf*np</literal>）。
                    <para/>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>fun</term>
                <listitem>
                    呼び出し手順  <literal>y=fun(x)</literal> のScilab関数.
                    <varname>fun</varname> は多項式または有理数とすることもできます.
                    <para/>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>c</term>
                <listitem>
                    <literal>nc</literal> colors of the <literal>nc</literal> comets traces.
                    They may be specified as a vector of <literal>nc</literal> color indices or
                    <link linkend="color_list">color names</link> or "#RRGGBB" hexadecimal
                    color codes. Or by a matrix (ncx3) of <literal>[r,g,b]</literal> vectors of
                    Red-Green-Blue intensities in the [0,1] interval.
                    <para/>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>説明</title>
        <para>
            <literal>(x,y)</literal> が同じ要素数のベクトルの場合,
            この関数は,
            <literal>m</literal>を<literal>1</literal> から
            <literal>np=length(x)</literal>まで変えて
            曲線<literal>(x(1:m), y(1:m))</literal>の漸進を示す
            2次元アニメーションプロットを描画します.
        </para>
        <para>
            このプロットは以下の3つの部分から構成されます:
            <table>
                <tr><td><emphasis role="bold">ヘッド</emphasis></td>
                    <td>カレントの位置<literal>(x(i),y(i))</literal>を示すマーカ.</td>
                </tr>
                <tr><td><emphasis role="bold">ボディ</emphasis></td>
                    <td>
                        軌跡の最も最近の点である<literal>k=round（Lf*np）</literal>
                        で構成され、トレースのより厚い部分として表示されます。
                    </td>
                </tr>
                <tr><td><emphasis role="bold">テール</emphasis></td>
                    <td>
                        曲線の<literal>(x(1:i-k),y(1:i-k))</literal>の部分を表示.
                    </td>
                </tr>
            </table>
        </para>
        <para>
            <literal>comet(x,fun,...)</literal> は, <literal>comet(x,feval(x,fun),...)</literal>
            と等価です.
        </para>
        <para>
            <varname>x</varname> および <varname>y</varname> は
            同じ大きさの行列の場合, 各組　 <literal>(x(:,l),y(:,l))</literal> 毎に.
            アニメーション表示された曲線が描画されます.
            この場合, <literal>np</literal>は
            <varname>x</varname>および  <varname>y</varname>の 行の数です.
        </para>
        <para>
            <literal>comet(...,"colors",c)</literal> は各曲線の色を設定する際に使用できます.
        </para>
    </refsection>
    <refsection>
        <title>例</title>
        <programlisting role="example"><![CDATA[
// One comet in spiral:
t = linspace(0, 10*%pi, 500);
clf, isoview
comet(t.*sin(t), t.*cos(t), "colors", "orange")
    ]]></programlisting>
        <inlinemediaobject>
            <imageobject>
                <imagedata fileref="../../images/comet_1.png"/>
            </imageobject>
        </inlinemediaobject>
        <para/>
        <programlisting role="example"><![CDATA[
// Two simultaneous comets with default colors:
t = linspace(0,10*%pi,500)';
clf
comet(t.*sin(t), [t.*sin(2*t) t.*sin(3*t)])
    ]]></programlisting>
        <para/>
        <programlisting role="example"><![CDATA[
// Chosen colors:
clf
comet(t.*sin(t), [t.*cos(t) t.*sin(2*t)], "colors", ["orange" "mag"])
    ]]></programlisting>
        <inlinemediaobject>
            <imageobject>
                <imagedata fileref="../../images/comet_2.png"/>
            </imageobject>
        </inlinemediaobject>
        <para/>
        <programlisting role="example"><![CDATA[
function y = traj(x)
  y = 1.5*sin(x^2)
endfunction
clf
comet(linspace(0,5,500),traj)
    ]]></programlisting>
        <para/>
        <programlisting role="example"><![CDATA[
clf
comet(linspace(-2,4,500), (%s-3)/(%s^3+2*%s^2+1))
    ]]></programlisting>
    </refsection>
    <refsection>
        <title>参照</title>
        <simplelist type="inline">
            <member>
                <link linkend="comet3d">comet3d</link>
            </member>
            <member>
                <link linkend="paramfplot2d">paramfplot2d</link>
            </member>
            <member>
                <link linkend="realtime">realtime</link>
            </member>
            <member>
                <link linkend="color_list">colors names</link>
            </member>
        </simplelist>
    </refsection>
    <refsection>
        <title>履歴</title>
        <revhistory>
            <revision>
                <revnumber>5.3.2</revnumber>
                <revremark>
                    関数 comet() が導入されました.
                </revremark>
            </revision>
            <revision>
                <revnumber>6.1.0</revnumber>
                <revremark>
                  色は、名前、"#RRGGBB"の16進コード、または赤緑青の強度で指定することもできるようになりました。
                </revremark>
            </revision>
        </revhistory>
    </refsection>
</refentry>
