查看: 2037|回复: 2

两条线段的交点怎么求

[复制链接]

该用户从未签到

发表于 2009-5-25 17:46:42 | 显示全部楼层 |阅读模式
//得到新的位置
                osg::Vec3 newPos1 = m_vPosition + delta;

                osgUtil::IntersectVisitor ivXY;
                //根据新的位置得到两条线段检测
                osg::ref_ptr<osg:ineSegment> lineXY = new osg::LineSegment(newPos1,
                        m_vPosition);

                osg::ref_ptr<osg::LineSegment> lineZ = new osg::LineSegment(newPos1+osg::Vec3(0.0f,0.0f,10.0f),
                        newPos1-osg::Vec3(0.0f,0.0f,10.0f)) ;
               
                ivXY.addLineSegment(lineZ.get()) ;

                ivXY.addLineSegment(lineXY.get()) ;
                //结构交集检测
                m_pHostViewer->getSceneData()->accept(ivXY) ;

如果要分别求这两段线段的交点坐标该用什么函数,是不是HitList里有?怎么区分是哪条线段的

该用户从未签到

发表于 2009-5-25 19:24:17 | 显示全部楼层
IntersectVisitor::getHitList()的输入参数可以指定捕获哪一条线段的交集测试结果。
此外IntersectVisitor已经弃用并且不再更新。多数情况下,请使用IntersectionVisitor
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2009-5-25 23:48:14 | 显示全部楼层
    两条线段的交点可以手动求嘛,哪用得着这么麻烦,写个函数玩一下
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

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

    联系我们

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