Bob,
        That's sort of what I thought.  I think most of the pieces are  
already in Jmol.  Comments on your comments below.

On Dec 22, 2009, at 7:11 PM, Robert Hanson wrote:

> Jonathan, I think we are in pretty good shape already with measures,  
> bounding boxes, and axes all being able to be set up with ticks and  
> labels and such. So probably what we want to do for a "plot3D"  
> object is simply allow an association of those with an isosurface. I  
> don't know that we need anything else done with the isosurface itself.
>
> In general we probably need some setting that allows scaling to be  
> done based on a surface. Perhaps:
>
> zoom $isosurfaceId 0
That seems like a good syntax to me.  I assume the idea would be to  
use the zoom on molecules on the surfaces.
>
> more comments below...
>
> On Sat, Dec 19, 2009 at 10:09 PM, Jonathan Gutow <[email protected]>  
> wrote:
> I think these questions are primarily for Bob.
>
> I'm starting to look at the plot3D class and think about what would
> need to be extracted from surfaces provided as meshes/jvxl to plot and
> scale them.  I haven't looked at this portion of the code in detail
> before so have a few questions:
>
> 1) As we load isosurfaces do we permanently store max and min values
> for each coordinate anywhere?  So far I haven't found them stored in
> anything as long lived as the isosurface.  I see a couple of places
> where the isosurface is read to determine these parameters.  Do we
> want to do this everytime?  Seems to me that for plotting purposes
> where we will be choosing scale based on this we should keep permanent
> records for each dimension.
>
> To date there hasn't been any real use for that, so it hasn't been  
> calculated. (What you may be seeing is a report coming out of the  
> atomDataReader for molecular surfaces and such.) But it would be  
> easy enough to calculate from the vertex list.
>
> But it's easy enough -- just two Point3f values.
The question then is how costly a search of the vertices is this?  If  
it's cheap maybe we should just recalculate each time.  This brings up  
another thought.  We don't have a way of just displaying a small  
sphere/dot at each vertex without placing an atom at each do we?   
Adding something like that to the isosurface command would be nice.
>
>
> 2) Other things I am considering to have in the plot3D object are:
> labels for each degree of freedom (for axes labels)
>
> I'm starting to wonder if we need a special object or not. Are you  
> sure all this can't be done using a bounding box? Coordinates are  
> the property of the applet in general, not a specific model or  
> surface. And you can position a bounding box anywhere you want. I  
> was hoping the bounding box object would suffice here. (But, yes, it  
> could use labels as well, which it does not have right now.)
>
> I'm thinking something like
>
> boundbox $isosurface1
>
> that would instantly pop up an unscaled box that could be  
> customized. Or maybe that would be
>
> isosurface1 boundbox .....
I think this might work.
>
>
> x:y:z aspect ratios (default 1:1:1 or so bounding box fills window?)
>
> This is all set for the bounding box now. Or, more generally,  
> "measures" -- which can be positioned anywhere one wants. They can  
> be scaled in any way you want and start at a given value as well.
Are we talking about the same thing here?  The idea is that even if  
the bound box is [(0,0,0),(1,1,1)] you could force the display of it  
and the isosurface in the Jmol coordinates as [(0,0,0),(1,1,0.5)].   
For some reason the SAGE people want to control how much axes are  
squished or stretched versus each other rather than using the whole  
available window.
>
> So maybe a plot3D object would simply allow for three perpendicular  
> measures to be added easily.
>
>
> nticksmaj, nticksmin to specify the number of major and minor ticks
> number format for axes scales
>
> This is all set for bounding box and measures. major, minor, and  
> subminor; string or number formats for axes scales are in.
>
>
> units for each axis
>
> Maybe units are just part of the label? Not all plots need units.
>
> 3) This has also got me thinking about a more general plot object.
> How about a generic plot object for objects of any number of
> dimensions?  The basic idea is that you could specify which triple of
> dimensions to use for the x,y,z triplet and use a fourth dimension to
> specify a magnitude at a point (plotable as a color intensity, scaled
> spheres or used to produce an isosurface at some level), a fourth and
> fifth dimension to specify a complex value at a point (not sure how to
> plot that...scaled spheres of different colors?), or a fourth, fifth
> and sixth dimension to plot a vector field.  The key idea being that
> we could choose the which triple, qradruple, pentuple or hextuple to
> plot out of any n-tuple.
>
> Yes, this is what Andy Hanson and I were working on this past  
> summer. We haven't taken it further, but it's basically "Jmol-nD".  
> The interesting thing to implement is 4-D rotations. :)
This would be a really cool addition and would make Jmol into a data  
set slicer and dicer.  I'm not clear why the n-D rotations are  
difficult.  Can't they always be broken down into a series of 2-D  
rotations about properly selected axes?

Jonathan
                          Dr. Jonathan H. Gutow
Chemistry Department                                 [email protected]
UW-Oshkosh                                           Office:920-424-1326
800 Algoma Boulevard                                 FAX:920-424-2042
Oshkosh, WI 54901
                  http://www.uwosh.edu/facstaff/gutow






------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Jmol-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to