3D plot onto an arbitrary surface.
Updated 20 Oct 2005

No License

JSURF is similar in almost all respects to the standard SURF plot except that it admits a second matrix T of z-coordinates of size [m,n] that is used to plot over the base surface described by coordinates (x,y,z).

JSURF(x,y,z,T) plots the 3D surface T onto the surface described by (x,y,z). JSURF(x,y,z,-T) plots on the underside of the surface. The colour scale is determined by the range of T.

JSURF(...,'PropertyName','PropertyValue',...) sets the surface property values for the object.

h = JSURF(...) returns the handle to the plot object.

%Peaks riding on a Saddle
P = peaks(51);
[x,y] = meshgrid(-4:8/50:4,-4:8/50:4);
z = sqrt(10^2*ones(size(x)) - 1.2*x.^2 + 1.5*y.^2);
axis vis3d;
axis off;
set(gca,'DataAspectRatio',[1 1 1]);

This plot function was developed under version 7 of Matlab and no guarantees can be given for versions lower than this.

Cite As

J De Freitas (2024). Jsurf (https://www.mathworks.com/matlabcentral/fileexchange/8763-jsurf), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP1
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes