Summary
=======
I may be wrong on this, so I need people to check my work ...

It looks to me like the RasMol rotations about axes are not consistently
right-handed.

We need to discuss this and try to figure out what to do about it ... if
anything ... whether or not it is something we need to *fix* in Jmol.

The bad news is that changing the rotation behavior would break every
script that uses the 'rotate y <degrees>' command or the Chime 'move'
command. The good news is that the repair is quite easy.

Should Jmol be 100% RasMol/Chime compatible?
Should Jmol only support a fully right-handed system?
Can't we have both?


Detail
======
I think we have the general understanding that the axis orientation in
RasMol is right-handed. With the default orientation of having
  - +X to the right
  - +Y going down
  - +Z into the screen

The general feeling from the jmol-users seems to be that we should offer
the option of having +Y go up and +Z come out of the screen. Many think
that this is a more natural orientation that is adopted by math
textbooks, OpenGL, VRML, etc.



Now, we need to talk about the rotations.

As I understand it, a right-handed rotation should be counter-clockwise
when the viewer is positioned on the + axis and is looking towards the
origin.

To visualize it with your hand ...
 - with your right hand
 - extend your thumb
 - curl your fingers
 - point your thumb at your nose
 - you are looking at the origin from the + end of the axis
 - your fingers are pointing in the direction of the rotation

I believe that this is consistent with Anthony Stone's previous email to
jmol-users.

Let's look at the axis rotations in RasMol ...

  load someMolecule
  set axes on
  rotate x 10

You then need to take the mouse and wiggle it a little. I observe that
the +Z axis (which is in the back) comes up.

Point your thumb to the right with your fingers curled. The fingers are
curling up from the back. This means that RasMol did a right-handed
rotation around the X axis. Good.

Let's skip to the Z axis

  reset
  rotate z 10

I observe that the +X drops on the right. The +Z axis goes into the
screen. Point your right thumb into the screen. Your fingers are curling
down on the right. RasMol is doing a right-hand rotation around the Z
axis. Good.

Finally, let's look at the Y axis

  reset
  rotate y 10

I observe that the +Z axis at the back moves to the left. The +Y axis
points down, so point your right thumb down. Fingers are curling around
back to the *right* ... but +Z moved to the *left*. Huh?

Try it with your left hand. Thumb down, fingers curl to the left, +Z
moved to the left ... it sure looks like to me that RasMol is doing a
left-hand rotation around the Y axis.



I have looked at this several dozen times over the past 6 months. At
first I wasn't confident of my observations, but now I have convinced
myself. But I may be wrong ... I certainly have struggled with this
'handedness' stuff :-)

Q: Please post some independent confirmations telling me that you concur ...
or explaining my error :-)

Q: I have not tried this in Chime ... can someone check it out and
confirm that it behaves the same way?

Q: Can someone also confirm that the chime 'move' command about the y
axis is also left-handed?


Unfortunately, this has pretty big implications for someone who has a
large investment in existing scripts (Eric?). It means that all moves and
rotates around the Y axis need to be negated. At least it isn't difficult.

My goal for Jmol has been to get as close as possible to 100% RasMol/Chime
script compatibility, to ease the migration path for people who have
existing scripts. But this might be a pretty big change for people who
have an investment in tutorials/courseware.

As I see it, the options are pretty similar to the Axis Orientation
question:

 1. Jmol should only support RasMol/Chime rotations
    - people have made an investment in existing
      RasMol/Chime scripts
    - it works fine, leave it alone
    - people are used to seeing it behave this way
    - it doesn't really matter, no one has looked
      at it for years so nobody really cares

 2. Jmol should be completely right-handed
    - the system should be consistently right-handed
    - the fact that y rotates backwards is a design
      flaw that should be corrected, not propogated
    - people have been confused by this for years
    - noone is going to use existing scripts anyway
    - OR, those who have scripts can easily change them
    - OR, just write a script converter that will
      fix existing scripts ... just negate the parameter
      to 'rotate y <degrees>' and 'move x <Y> z ...'
      commands

 3. Jmol should offer both
    - it is easy to support both
    Q: What should the default orientation be in Jmol?
    Q: What should the script command be to change
       the setting?
    Q: Is this *exactly* the same switch that controls
       the Y axis orientation?



I am interested in your thoughts and feedback.


Thanks,
Miguel





-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Jmol-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to