Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: Français - Português - 日本語 - Русский
Scilab Help >> Graphics > 2d_plot > comet

comet

2D comet animated plot

Syntax

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

Parameters

x
a real vector or matrix. If omitted, it is assumed to be the vector 1:np where np is the total number of curve points (see below). As a matrix, each column defines the abscissae of the trace of a separate comet.

y
a real vector or matrix. As a matrix, each column defines the ordinates of the trace of a separate comet. nc=size(y,"c") is the number of comets simultaneously drawn.

Lf
a real scalar in the interval[0,1[. Default value is 0.1: It defines the Leading fraction of the comet's trace. The k=Lf*np most recent points are plotted in thicker line.

fun
a scilab function with syntax y = fun(x). fun can also be a polynomial or a rational fraction.

c
nc colors of the nc comets traces. They may be specified as a vector of nc color indices or color names or "#RRGGBB" hexadecimal color codes. Or by a matrix (ncx3) of [r,g,b] vectors of Red-Green-Blue intensities in the [0,1] interval.

Description

If (x,y) are two vectors, this function draws a 2D comet animated plot showing the progression of the curve (x(1:m),y(1:m)) for m varying from 1 to np=length(x).

The plot is made of three parts:

a head mark that shows the current (x(i),y(i)) position.
a body consisting in the k=round(Lf*np) most recent points of the trajectory, displayed as a thicker part of the trace.
a tail that shows the (x(1:i-k),y(1:i-k)) part of the curve.

comet(x,fun,...) is equivalent to comet(x, feval(x,fun),...).

If x and y are matrices with identical sizes, then animated curves are drawn for each pair (x(:,j),y(:,j)). In this case np is the number of rows of x and y.

comet(...,"colors",c) can be used to set the colors of each trajectory.

Examples

// One comet in spiral:
t = linspace(0, 10*%pi, 500);
clf, isoview
comet(t.*sin(t), t.*cos(t), "colors", "orange")

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

// Chosen colors:
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))

See also

History

VersionDescription
5.3.2 Function comet() introduced.
6.1.0 Colors can now be specified also by their name, or by their "#RRGGBB" hexadecimal code, or by their [r g b] Red-Green-Blue intensities.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:49:20 CET 2020