(Apparently my reply from a few days ago didn't get to the list for some reason, so I'm sending it again.)
Robert Hanson wrote: > Jason, > > ho, ho! Now there's a challenge... > Yeah, I figured it wouldn't be exactly trivial, but in reality, you guys have already done all the hard work :). > I am totally excited to hear that the Sage community ( > http://www.sagemath.org/) has embraced Jmol. What a cool thing. This is what > open source is all about. > I emphatically agree. Again, we are *very* appreciative of the time and effort you guys have put into a top-notch product. > The JVXL file format is described in > http://chemapps.stolaf.edu/jmol/docs/misc/JVXL-format.pdf Take a look there > Yes, that's what I stayed up all night last night reading :). Maybe part of the problem was it was so late. I don't have a background in this, so I was learning what the marching cube algorithm was at the same time. > and see what you think. I'm not sure that is going to do the trick for you. > But we can certainly work together to get something that does. I think it > explains the basic idea. That we start with a 3D grid of values and aim to > create an isosurface based on a given cutoff value. We use the marching cube > algorithm, so we are basically creating a serial list of edges. It is this > list of edges that is being registered on the line with the numbers you > refer to below. There are lots of options. > > What exactly does a 3d contourplot look like? If you show me one, I might > have some ideas. > It would be enough to be able to send one level surface to Jmol. A 3d contour plot is just several level surfaces (i.e., isosurfaces) in the same plot (usually with some sort of cut-away or transparency so that you can see several level surfaces). See http://reference.wolfram.com/mathematica/ref/ContourPlot3D.html for mathematica's implementation and images, for example. Because we are communicating over the web to jmol running in the user's browser, I think it's best for Sage to build the JVXL file containing an isosurface on the server side and then send it to the client and have jmol just plot that (if I understand things correctly). In Sage, I'm starting with a function with three inputs and one output. I'm confused about what I should do from there (yeah, I know I haven't made much progress). I think I should: 1. evaluate the function on a grid of points and store this grid in a temporary variable, 2. Perform some sort of marching cube algorithm to somehow store the JXVL format 3. Send the resulting jvxl file to jmol and have jmol do its magic. To follow up on the specific question below, pseudocode for the last paragraph before the Edge Fraction Data section is: Go through all voxels (i.e., cubes) in the order prescribed (z varying fastest, then y, then x). For each cube, well, I'm not sure here. Does each number in the JVXL file represent a specific voxel (i.e., cube of 8 numbers)? Again, what exactly does the number 115922 in the example in the paper represent? Say I have a voxel (numbered as in page 8), where I determine that only the front intersection of edges 1, 2, and 10 is under the surface (so the surface cuts edges 1, 2, and 10). What number do I put in the JXVL file? Thanks, Jason ------------------------------------------------------------------------------ Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com _______________________________________________ Jmol-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jmol-users

