3D comet plot of multiple objects

Plots trajectories of multiple objects in 3D with controllable speed and tail length

https://github.com/joe-of-all-trades/comet3n

You are now following this Submission

comet3n plots trajectories of multiple objects in 3D with controllable speed and tail length. It takes an M*5 array as an input. Column 1-4 is the (x,y,z,t) coordinate of an object, respectively. Column 5 is object id number. Time and object id number must both be integers. See example below or just run democomet3n.m
% Object 1
t = (1:500)*pi/50;
x = 16*(sin(t).^3);
y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);
t = 1:500;
z = 0.5 * t;
id = ones(length(t), 1);
obj1 = cat(2, x', y', z', t', id);

% Object 2
t = (1:500)*pi/50;
x = -16*(sin(t).^3);
y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);
t = 1:500;
z = -0.5 * t;
id = ones(length(t), 1)*2;
obj2 = cat(2, x', y', z', t', id);

% Combine two objects.
src = cat(1, obj1, obj2);

comet3n(src, 'speed', 5, 'headsize', 1.5, 'tailwidth', 2,...
'taillength', 100 )

Cite As

CY Y (2026). 3D comet plot of multiple objects (https://github.com/joe-of-all-trades/comet3n), GitHub. Retrieved .

Acknowledgements

Inspired by: 3D Comet Plot

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes Action
1.2.0.0

Added demo
Updated description to include example.
updated description

1.1.0.0

Corrected minor error in code
linked to github
faster rendering

1.0.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.