# comet

2次元 comet アニメーションプロット.

## 呼び出し手順

    comet(y)

    comet(x,y)

    comet(x,fun)

    comet(x,y,p)

    comet(x,fun,p)

    comet(...,"colors",c)

## パラメータ

x

  実数ベクトルまたは行列. 省略された場合, ベクトル `1:ny` が指定されたと仮定されます. ただし,`ny` は曲線の点の数(下記参照)です.

y

  長さの実数ベクトルまたは行列.

p

  範囲 `[0 1[` の実数スカラー. デフォルト値は 0.1です.

fun

  呼び出し手順 `y=fun(x)` のScilab関数. `fun` は多項式または有理数とすることもできます.

c

  `ny` 色添字のベクトル.

## 説明

`(x,y)` が同じ要素数のベクトルの場合, この関数は, `k`を`1` から `size(x,'*')`まで変えて 曲線`(x(1:k),y(1:k))`の漸進を示す 2次元アニメーションプロットを描画します.

このプロットは以下の3つの部分から構成されます:

ヘッド

  カレントの位置`(x(i),y(i))`を示すマーカ.

ボディ

  ヘッドにつらなる曲線を表示します:曲線の一部 `(x(i-k:i),y(i-k:i))`.

テール

  曲線の`(x(1:i-k),y(1:i-k))`の部分を表示.

`comet(x,fun,...)` は, `comet(x,feval(x,fun),...)` と等価です.

`comet(...,p)` はボディの相対的な長さを設定する 際に使用することができます. `k` は `k = round(p*ny)`のように定義できます.

`y` が行列の場合, 曲線のアニメーション表示は, `(x,y(:,l))`の各組について描画されます. この場合, `ny` は`y`の 行の数です.

`x` および `y` は 同じ大きさの行列の場合, 各組 `(x(:,l),y(:,l))` 毎に. アニメーション表示された曲線が描画されます. この場合, `ny`は `x`および `y`の 行の数です.

`comet(...,"colors",c)` は 各曲線の色を設定する際に私用できます.

## 例

    t = linspace(0,10*%pi,500);
    clf();set(gca(),"isoview","on"); // 等軸に設定
    comet(t.*sin(t),t.*cos(t))

    t = linspace(0,10*%pi,500)';
    clf();comet(t.*sin(t),[t.*sin(2*t) t.*sin(3*t)])

    t = linspace(0,10*%pi,500)';
    clf();comet(t.*sin(t),[t.*sin(2*t) t.*sin(3*t)],"colors",[3 5])

    function y=traj(x),y=1.5*sin(x^2),endfunction
    clf();comet(linspace(0,5,500),traj)

    clf();comet(linspace(-2,4,500),(%s-3)/(%s^3+2*%s^2+1))

## 参照

- color
- comet3d
- paramfplot2d

## 履歴

5.3.2
関数 `comet` が導入されました.