pratty70
04-10-2006 15:29:14
We are developing a system requiring physics simulation with guaranteed consistent results (i.e. the same outcome every time). We are employing OgerNewt to do just that.
We are using cylinders and tree collision objects within the scene, positioned from information provided in a config file, including position and orientation.
We are now firing objects into the scene and have noticed something quite strange!! We have a scene symmetrical about the Y axis. When injecting objects into the scene at one side of the symetrical mesh we log a set of results which differ from the ones on the other side of the mesh!!
We have done various tests breaking the scene down and have determined that by placing the objects using setpositionorientation - if a quaternion rotation is required on an object - it behaves differently in the scene after the rotation. We have determined that (due to rounding errors??) the eventual orientation of rotated objects is not exact - and although only a by a very small fraction - it is enough to cause a different outcome of the physics. Our system is dependant on the outcome being the same at both sides of the mesh.
Should we expect this kind of result?
Any thoughts or help greatly appreciated.
We are using cylinders and tree collision objects within the scene, positioned from information provided in a config file, including position and orientation.
We are now firing objects into the scene and have noticed something quite strange!! We have a scene symmetrical about the Y axis. When injecting objects into the scene at one side of the symetrical mesh we log a set of results which differ from the ones on the other side of the mesh!!
We have done various tests breaking the scene down and have determined that by placing the objects using setpositionorientation - if a quaternion rotation is required on an object - it behaves differently in the scene after the rotation. We have determined that (due to rounding errors??) the eventual orientation of rotated objects is not exact - and although only a by a very small fraction - it is enough to cause a different outcome of the physics. Our system is dependant on the outcome being the same at both sides of the mesh.
Should we expect this kind of result?
Any thoughts or help greatly appreciated.