OK, it took me a while to process that but I think I am with you. So I
assume that "When you spin the molecule," above means "when you spin
the molecule around a line axis you have created" (and the line axis
does not coincide with the "regular" external x, y or z axis of
rotation)? Because otherwise I do not see how the xyz coordinate
changes...
Believe me, it took me QUITE A WHILE to figure this out myself. Right,
you can, for example, now
set picking SPIN
or
set picking SPIN 30
and then select any two atoms to spin the molecule around. So there's an
example of when the center is not on the axis.
My implementation assumes that the XY position rotation center,
usually but not always the center of the applet window, should not
change.
Makes total sense. If the XY position is not at the center of the
applet, we do not want the molecule to suddenly snap to the center.
This has been an issue in authoring movies--I often want to designate
an atomset as the center of rotation without snapping it to the center
of the applet. This is one reason that what you have developed is
fantastic, because of the lack of 'snapping'.
You can also now
set windowCentered OFF
then when you
center (atomno=3)
the molecule rotates around atom 3, but there's no snap. -- Atom 3 isn't
put at (150,150) on a 300x300 applet.
An earlier implementation of this was
set frieda ON
but I thought that was somewhat obscene and removed it.
But we may need some different or at least explicit mechanism to
reset it after spinning, we should add that.
I think this is needed. Let's say that in the context of an
interactive exercise, I script a spin of the molecule around a line,
and then stop the spin and expect the student to then rotate the
structure, do some exploring-- it should rotate sensibly.
tell me if it doesn't and we will find a way to make it sensible.
Let's play with it a bit more
Is it possible at this point to make a downloadable package of this
version? Seems like there have been some hangups
It should be OK. There was a color bug that Miguel fixed; that's all I
know of.
and see if there is an obvious, natural solution to this new problem.
But whatever that solution is, it should consist of two parts:
a) defining the XY position in the window around which rotation is to
occur.
b) defining the xyz position in molecular coordinates that should be
the center of rotation.
My first approach would be that both points should be specified at the
same position along the axis that has just been (or is being) used for
spinning. My intuition says use the midpoint of the line, but I am
really not sure yet. And I am not sure how to set the center of
rotation to a point on the line, any suggestions? I will look around
on the interactive scripting pages and at some of the messaging output
on your spin test page to see if I can get some clues.
center $line1
or possibly
set windowCentered OFF
center $line1
There's bit of a change because of rescaling.
I have to think about what would happen if you are spinning the
model and then while doing that apply a rotation. Probably not a good
idea.
actually, it behaves properly. The internal spinning is very robust, I
think. You can do anything --- center, rotate, manipulate it with the
mouse -- and it will just keep spinning about that axis. I hadn't
realized it was that good.
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users