| | 122 | void testQuatRotate(const osg::Vec3d& from, const osg::Vec3d& to) |
| | 123 | { |
| | 124 | osg::Quat q_nicolas; |
| | 125 | q_nicolas.makeRotate(from,to); |
| | 126 | |
| | 127 | osg::Quat q_original; |
| | 128 | q_original.makeRotate_original(from,to); |
| | 129 | |
| | 130 | std::cout<<"osg::Quat::makeRotate("<<from<<", "<<to<<")"<<std::endl; |
| | 131 | std::cout<<" q_nicolas = "<<q_nicolas<<std::endl; |
| | 132 | std::cout<<" q_original = "<<q_original<<std::endl; |
| | 133 | std::cout<<" from * M4x4(q_nicolas) = "<<from * osg::Matrixd::rotate(q_nicolas)<<std::endl; |
| | 134 | std::cout<<" from * M4x4(q_original) = "<<from * osg::Matrixd::rotate(q_original)<<std::endl; |
| | 135 | } |
| | 136 | |
| | 165 | |
| | 166 | testQuatRotate(osg::Vec3d(1.0,0.0,0.0),osg::Vec3d(0.0,1.0,0.0)); |
| | 167 | testQuatRotate(osg::Vec3d(0.0,1.0,0.0),osg::Vec3d(1.0,0.0,0.0)); |
| | 168 | testQuatRotate(osg::Vec3d(0.0,0.0,1.0),osg::Vec3d(0.0,1.0,0.0)); |
| | 169 | testQuatRotate(osg::Vec3d(1.0,1.0,1.0),osg::Vec3d(1.0,0.0,0.0)); |
| | 170 | testQuatRotate(osg::Vec3d(1.0,0.0,0.0),osg::Vec3d(1.0,0.0,0.0)); |
| | 171 | testQuatRotate(osg::Vec3d(1.0,0.0,0.0),osg::Vec3d(-1.0,0.0,0.0)); |
| | 172 | testQuatRotate(osg::Vec3d(-1.0,0.0,0.0),osg::Vec3d(1.0,0.0,0.0)); |
| | 173 | testQuatRotate(osg::Vec3d(0.0,1.0,0.0),osg::Vec3d(0.0,-1.0,0.0)); |
| | 174 | testQuatRotate(osg::Vec3d(0.0,-1.0,0.0),osg::Vec3d(0.0,1.0,0.0)); |
| | 175 | testQuatRotate(osg::Vec3d(0.0,0.0,1.0),osg::Vec3d(0.0,0.0,-1.0)); |
| | 176 | testQuatRotate(osg::Vec3d(0.0,0.0,-1.0),osg::Vec3d(0.0,0.0,1.0)); |