Code covered by the BSD License  

Highlights from
Simple 3D mesh to web converter

5.0

5.0 | 4 ratings Rate this file 18 Downloads (last 30 days) File Size: 5.15 KB File ID: #40942
image thumbnail

Simple 3D mesh to web converter

by

 

25 Mar 2013 (Updated )

A simple script to convert a mesh consisting of faces and vertices to an interactive html document.

| Watch this File

File Information
Description

x3mesh is a small and simple script for converting a Matlab mesh consisting of faces and vertices into an x3dom object in an html file.

This allows 3d objects to be displayed and interacted with on the web (rotate and zoom).

Run demo1.m and demo2.m to try it out. The script produces a .html files which can be opened in a browser.

An example of the output can be found here:
http://www.birving.com/other/Example4.html

The script takes advantage of the x3dom web format. More details can be found here:
http://www.x3dom.org/

Not supported by internet explorer. Use a recent Firefox, Chrome or Safari browser.

Update:
1) Added better optional argument parser
2) Added option to set vertex color
3) Added option so set mesh to auto-rotate

MATLAB release MATLAB 8.0 (R2012b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (6)
13 Apr 2013 Scott Richardson

Hi Ben, awesome program!

06 Apr 2013 Scott Richardson  
27 Mar 2013 Benjamin I

Hi Scott. Thanks. This version doesn't support color unless you manually edit the html file... But that sounds like a good idea. I will update it to support face color when I get a chance (give me a few days).

27 Mar 2013 Scott Richardson

Hi, very nice, thank you. Is it possible to have a different color assigned to each face which could be viewed in the html file?

26 Mar 2013 Benjamin I

Hi Dan,

Thanks. The easiest way to create a mesh from is a volume using isosurface.

For example see Example 1:
http://www.mathworks.com/help/matlab/ref/isosurface.html

You can plot a mesh in matlab using:
[x,y,z,v] = flow;
p = patch(isosurface(x,y,z,v,-3));
isonormals(x,y,z,v,p)
set(p,'FaceColor','red','EdgeColor','none');
daspect([1,1,1])
view(3); axis tight
camlight
lighting gouraud

You can export this same mesh to html using something like:
[x,y,z,v] = flow;
fv=isosurface(x,y,z,v,-3);
x3mesh(fv.faces, fv.vertices, 'Matlab_flow', 0.3, 'some more text')

I think I will add this as another example.

26 Mar 2013 Dan

Great idea, Ben. But how do you get the data in the mesh structure example_mesh.mat

Thanks a lot,
Dan

Updates
26 Mar 2013

added note about internet explorer not being supported

26 Mar 2013

update title to make it clearer

27 Mar 2013

added a second demo file

01 Apr 2013

added ability to set mesh color and autorotation. Improved function parsing using inputParser.

12 Apr 2013

added better demo files and surf export example

Contact us