|
楼主 |
发表于 2014-6-3 17:16:00
|
显示全部楼层
谢谢array的回答, 还是不太明白。例如我定义:
osg::Vec3d start = osg::Vec3d(0, 0, 0);
osg::Vec3d end = osg::Vec3d(1000 , 1000, 1000);
然后求与3D模型的交点:
osg::ref_ptr< osgUtil:ineSegmentIntersector> intersector =new osgUtil::LineSegmentIntersector(start,end);
osgUtil::IntersectionVisitor intersectVisitor(intersector.get());
Node->accept(intersectVisitor);
osgUtil::LineSegmentIntersector::Intersection inter = intersector->getFirstIntersection();
osg::Vec3 temp1 = inter.getLocalIntersectPoint();
osg::Vec3 temp2 = inter.getWorldIntersectPoint();
这样得出的交点的坐标值(temp1 和 temp2)和我预期的不同。(我定义了从原点出发的不同方向的射线,并求与3d模型的交点,但是所有交点的坐标值都在很小的一个范围内(-2,-2,-2.3)——(2,2,2.3))
不知道是不是我求交点的方法有问题呢?
|
|