查看: 1119|回复: 1

有关碰撞检测的问题 大家帮帮忙啊,谢谢啦

[复制链接]

该用户从未签到

发表于 2010-5-22 14:17:52 | 显示全部楼层 |阅读模式
我现在需到这样一个问题,麻烦大家给我提提思路吧

我要完成一个“在数据手套的交互下实现零件的约束导航装配”毕业设计

在虚拟手拾取零件时,我采用的是《海军教程》中的交集测试的方法,得到的是碰撞检

检测后的世界坐标,现在问题是:如何实现在碰撞检查后 零件跟随着虚拟手一块运动

啊?  

if(mhand!= NULL)
    {
     
   mt->setMatrix(*mhand);//mhand是获得的虚拟手的世界坐标指针
     
   
     osg:ineSegment *handSegment=new osg::LineSegment();
     osg::Vec3 start=osg::Vec3(  0.0,  0,15.0);
     osg::Vec3 end=osg::Vec3(  0.0,  -clen,15.0);
     start=start*(*mhand);
     end=end*(*mhand);
              handSegment->set(start,end);
     osgUtil::IntersectVisitor handVisitor;
     handVisitor.addLineSegment(handSegment);
     boxNode->accept(handVisitor);
     osgUtil::IntersectVisitor::HitList handboxhits;
     handboxhits= handVisitor.getHitList(handSegment);
     osgUtil::Hit hitResults;
     
     if (!handboxhits.empty())
     {
      hitResults=handboxhits.front();
          mt1->setMatrix(*mhand);

     }

该用户从未签到

发表于 2010-5-22 15:20:40 | 显示全部楼层
手动更新回调~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表