Create 3D-interactive HTML File from MATLAB surface, Part2

This function allows to show 3d-surface plots in html - documents.


Updated 16 Feb 2011

View License

javaview_nosym(surface_handle, filename, destination, source, open_html)

This function generates output files for Javaview (
It allows to display and interact with 3d-Graph not only in the
javaview engine, but also in html-Documents. See javaview
documentation for more information about how to interact.

This function depends of the installed toolboxes. If the Symbolic Math Tooolbox (SMT) is installed, the html is
exported half automatically/ half manually. If the SMT is not installed the function will open the
generated stl file in JavaView and you must modify the result manually (see without_mupad.pdf for further
information) and export it to html. Don't forget to have your jars-directory in the html-file.

With SMT there are 4 output files:
a) first file (.stl)is generated by the surf2stl function (Many
thanks to Bill McDonald, this function is availabe at the MCFE
and was pick of the week on June 5th, 2009)
b) the second and third file (jvx) and (jvd) are input files for
javaview and are generated by mupad (or javaview). The jvx-file describes the
3d-graph, the jvd file descrribes scene options
c) the last file is an html file, were the 3d-Graph is displayed

Because the applet in html file need the javaruntime for javaview the
jars directory from the "source" (input parameter) directory is copied
to the destination folder.
open_html is true or false. When it is true your standard webbrowser is
opened and you will see the surface in the html file.

1. surface_handle - handle to surface graph
2. filename - filename for *.stl, .jvx, *.jvd, *.html
3. destination - folder where all files are saved
4. source - source folder of jars (see jvaview installation path)
5. open_html - shows the result html in your standard webbrowser

Sorry for the work around with the handmade copy and paste when to
generate the javaview files with SMT. But evalin(symengine, ...) does not produce
the required files.

Online Example:

x=r1*cos(u*p1) + r2*cos(u*p1).*cos(u*p2) +r3*cos(u*p1).*sin(v);
y=r1*sin(u*p1) + r2*sin(u*p1).*cos(u*p2) +r3*sin(u*p1).*sin(v);
javaview_nosym(h, 'test', 'C:\Users\sk\Desktop\3d-PDF\jvtest', 'C:\Program Files (x86)\JavaView\jars', 1);

The Code was created under Matlab 2010a, but it also works without Symbolic Math Toolbox from version Matlab 7.0.4 (R14, SP2)

Bugs and suggestions:
Please send to Sven Koerner: koerner(underline)sven(add)

You need to download and install first:
(Symbolic Math Toolbox with MuPad)

License to use and modify this code is granted freely to all interested, as long as the original author is
referenced and attributed as such. The original author maintains the right to be solely associated with this work.

Programmed by Sven Koerner: koerner(underline)sven(add)

Cite As

Sven Koerner (2023). Create 3D-interactive HTML File from MATLAB surface, Part2 (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
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

Hint in description that Matlab Version R14, SP2 also works with the code.

upload without_mupad.pdf

Added online examples based on surface reconstruction code of Luigi Giaccari: