File Exchange

image thumbnail

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

version 1.4 (587 KB) by

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

1 Download


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)

Comments and Ratings (8)

Sven Koerner

Sven Koerner (view profile)

Hi Jillian,
I had a look in the javaview help but couldn't find any property for a logarithmic scaling. I also tried to export an graph with logarithmic scale from mupad, but there is the same result - only linear axes.


This is great - exactly what I need! Thanks for your contribution.

The one problem I have is that it changes my logarithmic axis into a linear scaling. Do you know if there's any way around this? The x-axis is set in my matlab script using set(gca, 'XScale', 'log') (and the resulting matlab plots are correct), but the html gives me all linear axes.


Sven Koerner

Sven Koerner (view profile)

Dear Erik,
cool that it work with older Matlab-Versions. And you're right: I forgot to upload the "without_mupad.pdf". I'll upload it in a minute, so it is online hopefully tomorrow.

Erik Benkler

Erik Benkler (view profile)

Dear Sven,
I confirmed this to work with Matlab R14 SP2 (without SMT of course). You wrote something about more details on manual editing of the HTML file exported by javaview in the file "without_mupad.pdf", but I cannot find this file (forgot to upload?).

Thanks for sharing this!

This is Awesome!

Sven Koerner

Sven Koerner (view profile)

Hi Jan, a colleague tested the examples also in Firefox and it works. Maybe you must check your add-on configuration. Maybe you can try it with an alternative browser?

Jan Simon

Jan Simon (view profile)

Looks like a marvelous idea. Unfortunately I can see just a text line in my Firefox browser, if I click on the two online examples: "Applet shows test.jvx (right click on graph to select option, or press "h" to select a point)." Nothing else. Does my browser require to display the examples?



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:

MATLAB Release
MATLAB 7.10 (R2010a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video