[Bf-committers] NDOF: patch for spin/roll rotations

Ettore Pasquini ettore_pasquini at 3dconnexion.com
Tue Aug 21 02:01:25 CEST 2007


On 8/16/07 9:01 AM, "Jean-Luc Peurière" <jlp at nerim.net> wrote:
> 
> However, i fall on somewhat a stumble block.
> 
> Should we link the device on the world axis or the view axis ?
> This has somewhat a strong importance, but there is some coherency problems
> 
> - in turntable and fly mode, view axis are what make sense. that means that an
> action
>  on the device will always give predictable results and always the same. That
> fly rotation are
> inverted seems to me natural as you are rotating the camera instead of
> orbiting around selection

Yes, fly mode rotations should all be inverted compared to Turntable mode.
What I meant is that they are *not fully* inverted: RY and RZ are in fact
just like in turntable mode, which is incoherent.

> 
> - In transform mode, we should and do respect actually the transform
> orientation of the view.
>  For that to work, we need to be in world coordinates when orientation is
> global or local
>   However, that means that an action on the devices may move a different axis
> that in
> turntable mode, or in the inverted way.

I am not sure what to say here. My opinion doesn't count much since I am not
using Blender for work (well except developing for it:). I do agree that if
the objective is to make fine adjustments it makes sense to move in world
coordinates, because you might want to move along the world axes period. Or
you might prefer to move the object relative to your view... Again, I don't
know the use case here.

> 
> It make no sense to use view axis in transform mode unless the transform
> orientation is
> on view, but it is rather disturbing when it moves a different axis than the
> one intented.
> 
> I would like some feedback on that before doing more, because i feel it is
> important 

If we use world axes in Transform mode the advantage I see is to be certain
of moving with the best precision along the world axes (maybe using the
dominant mode switch too). The downside is that you must align the view with
the world axes to be able to work in a sane way.

If we use view axes in Transform mode the advantage is that we are coherent
with the other modes and the object will rotate as you expect. Downside is
less precision, unless we devise a way to tie the navigation to one world
axis only, keeping the intuitiveness of the view orientation: kinda like a
World-Dominant switch. I'm thinking at something like this: consider for
simplicity a 2D view coordinate system whose axes Xv and Yz are represented
by _ and |, and also world coordinates represented by * rotated by a theta
angle in the following drawing (to view the ascii art you might need to read
the email with a fixed-width font)

    Yv
Yw  |       Xw
  * |     *  
   *|  *
    *____________ Xv

      v
     eye


If we are looking at the world from the bottom and if the movements follow
the view axes we'll have a movement along the Xv axis. Now, if we enable the
World-Dominant switch, we would enable a motion along the Xw axis instead.
I think this can be extended to 3D.
Just my 2 cents...

-- 
http://www.3dconnexion.com/




More information about the Bf-committers mailing list