comet двумерный график с анимированной кометой

## Синтаксис

               comet(y)
               comet(x, y)
               comet(x, y, Lf)
               comet(x, fun)
               comet(x, fun, Lf)
               comet(...,"colors",c)

## Аргументы

x
  вещественный вектор или матрица. Если не указать, то предполагается, что это вектор `1:np`, где `np` - это количество точек кривой (см. ниже). В качестве матрицы каждый столбец определяет абсциссы следа отдельной кометы.

y
  вещественный вектор или матрица. В качестве матрицы каждый столбец определяет ординаты следа отдельной кометы.

Lf
  вещественный скаляр на интервале `[0 1[`. Значение по умолчанию `0.1`. Он определяет ведущую часть следа кометы. Самые последние точки `k=Lf*np` отображаются в более толстой строке.

fun
  Scilab-функция с последовательностью вызова `y=fun(x)`. `fun` также может быть полиномом или рациональной дробью.

c
  `nc` цвета `nc` хвостов комет. Они могут определяться в виде вектора `nc` индексов цветов или названий цветов либо шестнадцатеричных кодов цветов "#RRGGBB". Либо матрицей (ncx3) из векторов `[r,g,b]` интенсивности Красного-Зелёного-Синего в интервале [0,1].

## Описание

Если `(x,y)` являются двумя векторами с одинаковым количеством элементов, то эта функция нарисует двумерный график с анимированной кометой, показывающей движение кривой `(x(1:k),y(1:k))` для `k`, меняющейся от `1` до `np=length(x)`.

График строится из трёх частей:

голова | метка, которая показывает текущее положение `(x(i),y(i))`.
тело | состоящее из `k=round(Lf*np)` самых последних точек траектории, отображаемое как более толстая часть трассы.
хвост | показывает часть кривой `(x(1:i-k),y(1:i-k))`.

Инструкция `comet(x, fun,...)` эквивалентна инструкции `comet(x, feval(x,fun),...)`.

Если `x` и `y` - матрицы одинаковых размеров, то анимированные кривые строятся для каждой пары `(x(:,l),y(:,l))`. В этом случае `np` - это количество строк матриц `x` и `y`.

`comet(...,"colors",c)` может быть использована для установки цвета для каждой из траекторий.

## Примеры

    // Одна комета по спирали:
    t = linspace(0, 10*%pi, 500);
    clf, isoview
    comet(t.*sin(t), t.*cos(t), "colors", "orange")

    // Две одновременные кометы с цветами по умолчанию :
    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.*cos(t) t.*sin(2*t)], "colors", ["orange" "mag"])

    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))

## Смотрите также

- comet3d
- paramfplot2d
- realtime
- названия цветов

## История

5.3.2 Введена функция comet().
6.1.0 Цвета теперь могут быть указаны также их именами или шестнадцатеричными кодами «#RRGGBB» или их интенсивностью [r g b] Красный-Зелёный-Синий.