3D data space coordinates to normalized figure coordinates conversion

Like dsxy2figxy or ds2nfu, also work for 3D axes. An utility function to help annotation.
849 Downloads
Updated 21 Oct 2013

View License

While using annotation function, you may want to transform data space coordinates to normalized figure coordinates.
If you are using 2D axes you can use dsxy2figxy or ds2nfu. But they can't work at 3D axes.
And this utility function do this. It can work for 3D axes and 2D axes as well.
I try to make it work for any axes setting, and now it can work for the following conditions:
1, 'Projection' can be 'orthographic' or 'perspective'.
2, arbitrary rotate the axes, even the up vector is not [0 0 1].
3, any valid 'DataAspectRatio' and 'PlotBoxAspectRatio'.
4, 'XDir' can be 'normal' or 'reverse'.
5, 'XScale' can be 'linear' or 'log'.
6, modify axes property by other function like 'axis', 'view', camroll', etc.

Cite As

MinLong Kwong (2024). 3D data space coordinates to normalized figure coordinates conversion (https://www.mathworks.com/matlabcentral/fileexchange/43896-3d-data-space-coordinates-to-normalized-figure-coordinates-conversion), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Interactive Control and Callbacks in Help Center and MATLAB Answers
Tags Add Tags
Acknowledgements

Inspired by: Data space to figure units conversion

Inspired: data-explore, ThreeVector

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.2.0.0

Update description.

1.0.0.0