Multitrack 3D Simulink Scope


Updated 18 Dec 2017

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

This block is an enhanced version of the standard XYGraph Simulink block.
The standard XYGraph allows to plot the motion of ONE point in the XY plane. This block allows plotting the motion of SEVERAL points in the XYZ space.

In other words each point draws a line as it moves, so you end up having several lines in the plot instead of just one. Setting the camera position parameter to [0 0 1] reduces the plot to a classic 2D one.

This block is very useful when you have to compare the motion of a point versus a reference trajectory. See this blog entry for more information: https://blogs.mathworks.com/pick/2017/03/10/3d-scope/

Run install_3dscope.m to install the scope. The file M2DScope_new.mdl contains a new version for R2014b and later, which was rewritten taking advantages of new graphic features. The file M2DScope_old.mdl contains the legacy version which is slower, has less features, and i think it's harder to use due to its coordinate input ordering, but should work for any version (5.3 and later).

Read the readme.txt file for more info.


Cite As

Giampiero Campa (2023). 3DScope (https://www.mathworks.com/matlabcentral/fileexchange/4915-3dscope), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R11
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on View and Analyze Simulation Results in Help Center and MATLAB Answers

Inspired: 3D Stem for Simulink Block, Attractors

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

1) several performance, elegance, readability, robustness and backward compatibility improvements
2) the user can make the figure active, specify a line marker for the current locations, and a maximum number of points

Several improvements and minor bug fixes to sfun3d.m

Fixed a small bug (thanks Richard), and added another example on lorenz attractor.
A new S-Function (sfun3d.m) was written for R2014b and later which takes advantages of newer graphics capabilities. The legacy S-Function sfunxyz.m was also rewritten so it can work for R2014b and later.