Re: [osg-users] Matrix Quat precision

2008-03-27 Thread Robert Osfield
Hi Vincet,

Even with doubles there are still precisions issue, just much smaller
than with floats.  If you are using a iterative calculation then if
you aren't care the errors could accumulate until their become
visable.   The best thing to do is to avoid an iterative calculation
and calculate the new camera position based on the position of the
node in the scene on each frame.

Robert.

On Thu, Mar 27, 2008 at 8:38 AM, Vincent Bourdier
[EMAIL PROTECTED] wrote:
 Hi all,

 I'm currently making a new Manipulator inherited from MatrixManipulator.

 The specificity is : On the call of a function, the manipulator (camera)
 have to follow a node which is moving. I mean that the camera have to be
 exactly immobile relative to the moving node.
  For that i've used Matrix, Vec3 and Quat.

 All looks great, but after 10 minutes of running, I can see that a little
 moving difference between the node and the camera... if the node rotate
 about 2 or 3 axis, the difference is more important...

 Using Vec3d, Quat and Matrixd, is there any reason for this lack of
 precision ? Or is it my method which is not good... ?

 Thanks.

 Regards,
Vincent.

 ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Matrix Quat precision

2008-03-27 Thread Vincent Bourdier
Hi Robert,

For the moment I use a relative calculation (I compute on each frame
depending on the last frame's position).
I suppose that computing in absolute mode could be better... but I would be
more difficult to implement.

Thanks Robert, I'll will try this if I have some time...

One more question : If there any conversion between Quat and Matrix, or Quat
and Vector, or Vector and Matrix which can not be precise ? I mean some
conversion function to avoid for example in the goal of beeing always
precise ?

Regards,
   Vincent

2008/3/27, Robert Osfield [EMAIL PROTECTED]:

 Hi Vincet,

 Even with doubles there are still precisions issue, just much smaller
 than with floats.  If you are using a iterative calculation then if
 you aren't care the errors could accumulate until their become
 visable.   The best thing to do is to avoid an iterative calculation
 and calculate the new camera position based on the position of the
 node in the scene on each frame.

 Robert.


 On Thu, Mar 27, 2008 at 8:38 AM, Vincent Bourdier
 [EMAIL PROTECTED] wrote:
  Hi all,
 
  I'm currently making a new Manipulator inherited from MatrixManipulator.
 
  The specificity is : On the call of a function, the manipulator (camera)
  have to follow a node which is moving. I mean that the camera have to be
  exactly immobile relative to the moving node.
   For that i've used Matrix, Vec3 and Quat.
 
  All looks great, but after 10 minutes of running, I can see that a
 little
  moving difference between the node and the camera... if the node rotate
  about 2 or 3 axis, the difference is more important...
 
  Using Vec3d, Quat and Matrixd, is there any reason for this lack of
  precision ? Or is it my method which is not good... ?
 
  Thanks.
 
  Regards,
 Vincent.
 

  ___
   osg-users mailing list
   osg-users@lists.openscenegraph.org
 
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Matrix Quat precision

2008-03-27 Thread Robert Osfield
Hi Vincent,

You approach is iterative so the errors will accumulate, so it's based
to avoid this and go fetch the world matrices from the node your
tracking each frame.  The osgGA::NodeTrackerManipulator does this.

Robert.

On Thu, Mar 27, 2008 at 8:57 AM, Vincent Bourdier
[EMAIL PROTECTED] wrote:
 Hi Robert,

 For the moment I use a relative calculation (I compute on each frame
 depending on the last frame's position).
 I suppose that computing in absolute mode could be better... but I would be
 more difficult to implement.

 Thanks Robert, I'll will try this if I have some time...

 One more question : If there any conversion between Quat and Matrix, or Quat
 and Vector, or Vector and Matrix which can not be precise ? I mean some
 conversion function to avoid for example in the goal of beeing always
 precise ?

 Regards,
Vincent

 2008/3/27, Robert Osfield [EMAIL PROTECTED]:

  Hi Vincet,
 
  Even with doubles there are still precisions issue, just much smaller
  than with floats.  If you are using a iterative calculation then if
  you aren't care the errors could accumulate until their become
  visable.   The best thing to do is to avoid an iterative calculation
  and calculate the new camera position based on the position of the
  node in the scene on each frame.
 
  Robert.
 
 
  On Thu, Mar 27, 2008 at 8:38 AM, Vincent Bourdier
  [EMAIL PROTECTED] wrote:
   Hi all,
  
   I'm currently making a new Manipulator inherited from MatrixManipulator.
  
   The specificity is : On the call of a function, the manipulator (camera)
   have to follow a node which is moving. I mean that the camera have to be
   exactly immobile relative to the moving node.
For that i've used Matrix, Vec3 and Quat.
  
   All looks great, but after 10 minutes of running, I can see that a
 little
   moving difference between the node and the camera... if the node rotate
   about 2 or 3 axis, the difference is more important...
  
   Using Vec3d, Quat and Matrixd, is there any reason for this lack of
   precision ? Or is it my method which is not good... ?
  
   Thanks.
  
   Regards,
  Vincent.
  
 
   ___
osg-users mailing list
osg-users@lists.openscenegraph.org
  
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
  
  
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 


 ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Matrix Quat precision

2008-03-27 Thread Vincent Bourdier
Yes I know that I currently accumulate error, but when I did it I was
thinking about a zero-error so it wasn't a problem...
The NodeTrackerManipulator does it, yes, but I'm working on a manipulator
still existing in the project, and make a whole new manipulator looks a lot
of work and I don't have enough time to do it...

Maybe in the future...

Thanks for the help :-)
Regards,
Vincent.

2008/3/27, Robert Osfield [EMAIL PROTECTED]:

 Hi Vincent,

 You approach is iterative so the errors will accumulate, so it's based
 to avoid this and go fetch the world matrices from the node your
 tracking each frame.  The osgGA::NodeTrackerManipulator does this.

 Robert.

 On Thu, Mar 27, 2008 at 8:57 AM, Vincent Bourdier

 [EMAIL PROTECTED] wrote:
  Hi Robert,
 
  For the moment I use a relative calculation (I compute on each frame
  depending on the last frame's position).
  I suppose that computing in absolute mode could be better... but I would
 be
  more difficult to implement.
 
  Thanks Robert, I'll will try this if I have some time...
 
  One more question : If there any conversion between Quat and Matrix, or
 Quat
  and Vector, or Vector and Matrix which can not be precise ? I mean some
  conversion function to avoid for example in the goal of beeing always
  precise ?
 
  Regards,
 Vincent
 
  2008/3/27, Robert Osfield [EMAIL PROTECTED]:
 
   Hi Vincet,
  
   Even with doubles there are still precisions issue, just much smaller
   than with floats.  If you are using a iterative calculation then if
   you aren't care the errors could accumulate until their become
   visable.   The best thing to do is to avoid an iterative calculation
   and calculate the new camera position based on the position of the
   node in the scene on each frame.
  
   Robert.
  
  
   On Thu, Mar 27, 2008 at 8:38 AM, Vincent Bourdier
   [EMAIL PROTECTED] wrote:
Hi all,
   
I'm currently making a new Manipulator inherited from
 MatrixManipulator.
   
The specificity is : On the call of a function, the manipulator
 (camera)
have to follow a node which is moving. I mean that the camera have
 to be
exactly immobile relative to the moving node.
 For that i've used Matrix, Vec3 and Quat.
   
All looks great, but after 10 minutes of running, I can see that a
  little
moving difference between the node and the camera... if the node
 rotate
about 2 or 3 axis, the difference is more important...
   
Using Vec3d, Quat and Matrixd, is there any reason for this lack of
precision ? Or is it my method which is not good... ?
   
Thanks.
   
Regards,
   Vincent.
   
  
___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
   
 
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
   
   
   ___
   osg-users mailing list
   osg-users@lists.openscenegraph.org
  
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
  
 
 
  ___
   osg-users mailing list
   osg-users@lists.openscenegraph.org
 
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Matrix Quat precision

2008-03-27 Thread Robert Osfield
Hi Vincent,

Tweaking how you compute the position shouldn't take more than a
couple of hours, and really doesn't require one to write an new
manipulator.

Robert.

On Thu, Mar 27, 2008 at 9:30 AM, Vincent Bourdier
[EMAIL PROTECTED] wrote:
 Yes I know that I currently accumulate error, but when I did it I was
 thinking about a zero-error so it wasn't a problem...
 The NodeTrackerManipulator does it, yes, but I'm working on a manipulator
 still existing in the project, and make a whole new manipulator looks a lot
 of work and I don't have enough time to do it...

 Maybe in the future...

 Thanks for the help :-)


 Regards,
 Vincent.

 2008/3/27, Robert Osfield [EMAIL PROTECTED]:
  Hi Vincent,
 
  You approach is iterative so the errors will accumulate, so it's based
  to avoid this and go fetch the world matrices from the node your
  tracking each frame.  The osgGA::NodeTrackerManipulator does this.
 
  Robert.
 
  On Thu, Mar 27, 2008 at 8:57 AM, Vincent Bourdier
 
  [EMAIL PROTECTED] wrote:
   Hi Robert,
  
   For the moment I use a relative calculation (I compute on each frame
   depending on the last frame's position).
   I suppose that computing in absolute mode could be better... but I would
 be
   more difficult to implement.
  
   Thanks Robert, I'll will try this if I have some time...
  
   One more question : If there any conversion between Quat and Matrix, or
 Quat
   and Vector, or Vector and Matrix which can not be precise ? I mean some
   conversion function to avoid for example in the goal of beeing always
   precise ?
  
   Regards,
  Vincent
  
   2008/3/27, Robert Osfield [EMAIL PROTECTED]:
  
Hi Vincet,
   
Even with doubles there are still precisions issue, just much smaller
than with floats.  If you are using a iterative calculation then if
you aren't care the errors could accumulate until their become
visable.   The best thing to do is to avoid an iterative calculation
and calculate the new camera position based on the position of the
node in the scene on each frame.
   
Robert.
   
   
On Thu, Mar 27, 2008 at 8:38 AM, Vincent Bourdier
[EMAIL PROTECTED] wrote:
 Hi all,

 I'm currently making a new Manipulator inherited from
 MatrixManipulator.

 The specificity is : On the call of a function, the manipulator
 (camera)
 have to follow a node which is moving. I mean that the camera have
 to be
 exactly immobile relative to the moving node.
  For that i've used Matrix, Vec3 and Quat.

 All looks great, but after 10 minutes of running, I can see that a
   little
 moving difference between the node and the camera... if the node
 rotate
 about 2 or 3 axis, the difference is more important...

 Using Vec3d, Quat and Matrixd, is there any reason for this lack of
 precision ? Or is it my method which is not good... ?

 Thanks.

 Regards,
Vincent.

   
 ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org

  
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
   
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
   
  
  
   ___
osg-users mailing list
osg-users@lists.openscenegraph.org
  
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
  
  
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 


 ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org