Iso-Surface Generator  
Steffen Weber 1999

This program takes volumetric data (particularly electron density data) and polygonises them, in order to produce up to five iso-surfaces. The result is written to a VRML97 (VRML2.0) file, which can then be viewed with any VRML viewer of your choice or with the included Java3D VRML viewer (from the Java3D & VRML working group) . This requires the installation of Java3D in addition to the JDK1.2.

JMap3D requires a Java Virtual Machine (JVM) installed on your computer wich can be downloaded for free in form of Sun Microsystem's JDK 1.2 .

For Windows users I strongly recommend to use the best VRML viewer available, called GLView3.6.  This is a stand-alone viewer which offers many rendering options. I was disappointed when I used VRML plug-ins for web-browsers.

Screen shots

click at images to see them in their original size

usage: Click check boxes of isosurface to be created. Choose the corresponding input files. Specify the isodensity values and transparencies for each isosurface. Choose scan step (1=full data set, 2= 1/8 of data set etc.). Specify filename for the VRML file. Click "start poligonizer". Then till the whole process is finished the background color of the log window will be green. After it turns gray again you can click "view VRML file" for viewing the isosurfaces with the provided VRML viewer (needs Java3D ) or use your own favorite VRML viewer.

note: If you use several input files to create one VRML file, the unit cell dimensions should of course be the same in each of these files. Therefore the unit cell data are extracted always from the input file given for the isosurface no.1. If you use several input files, but one of them more than once then use it for successive isosurfaces. If JMap3D notices that two successive input files have the same name it only reads the data once, thus saving some time. Usually reading input data takes about 1.5 minutes for a 20Mb ASCII input file.

Main features of JMap3D
  • runs on Windows, Solaris, Linux
  • output of VRML97 (VRML2.0) files
  • creates up to 5 iso-surfaces
  • each iso-surface may be created from a different file (eg. for merging Fourier and difference Fourier data)
  • for each iso-surface colors, iso-value and transparency can be specified
  • reads ASCII electron density files (ASCII format adapted from Dr.Kumazawa's MEED program)
  • reads binary data (FORTRAN & JAVA binaries, about ten times smaller than ASCII files) *
  • polygon count reduction algorithm (reduces down to 10% of original number of polygons) *
    (This reduces the number of polygons to be rendered as well as the file size of the VRML file, without serious loss of quality, especially when Gouraud shading is applied. Many small and nearly coplanar triangles are converted to fewer but larger ones thus maintaing the overall topology of the isosurface.)

*not available in the light version (contact me by email if you are interested in the full version)

ASCII file format
a b c alpha beta gamma
nx, ny, nz
ix, iy, iz, density[ix,iy,iz]
nx, ny, nz, density[nx,ny,nz]
- cell dimensions (eg.: 3.0 4.0 5.0 90 90 120)
- number of divisions (eg.: 100, 100, 100)
- grid point indices and value (eg.: 1, 0, 0, 2.55567)
- repeat for all grid points

The commas may be left out! Since the data files are very large, no sample file is included in the distribution. Density values have to be given for all grid points in the unit cell.

Download links

download Java Interpreter

download Java3D for JDK1.2

download JMap3D-light
(to download use right mouse button and save Link/Target as..)

1.) ZIP-file: use Winzip to extract the file to a directory of your choice
2.) JAR-file: put the file in a directory of your choice, change to DOS prompt and type "jar xvf jmap3d.jar"

In order to use the included VRML viewer you need to install Java3D first. You also have to move the file vrml97.jar to your directory jdk1.2/jre/lib/ext/ !