Last for the day -- just checked in an extension of ANISOTROPY and CENTER
for all isosurfaces that are file-derived. This means you have your scaling
for pmesh. Ideally, then, SAGE would just create triangles in its natural
scaling, and the system would simply tell Jmol how to scale it.

On Tue, Dec 22, 2009 at 7:44 PM, Jonathan Gutow <[email protected]> wrote:

> 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.
>

isosurface points


> >
> >
> > 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.
>

this is isosurface ANISOTROPY {scaleX, scaleY, scaleZ}. So, for example,

  pmesh ANISOTROPY {0.1 1 1} "pmesh.bin"

creates a surface squished in the x-direction 10-fold. For the above, you
would use

  pmesh ANISOTROPY {1 1 0.5} "pmesh.bin"

and if you wanted it then shifted as well so that it was centered around {0
0 0}, you would use

  pmesh ANISOTROPY {1 1 0.5} center {-0.5 -0.5 -0.25} "pmesh.bin"

(anisotropy and centering have always been there -- they are how we create
LCAO cartoons. These are really the central part of a dz atomic orbital
stretched a bit and then moved to the desired location.)


> >
> > 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?
>
>
When you see it working, you will understand why. "rotation" has a slightly
different meaning in 4D. It's not just rotating the projected 3D set. More
interesting than that; can't say I really grok it yet.



> 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
>



-- 
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
http://www.stolaf.edu/people/hansonr
phone: 507-786-3107


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
------------------------------------------------------------------------------
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