osg碰撞检测进阶
osgUtil封装了RayIntersector、LineSegmentIntersector、PlaneIntersector求交器,分别用于三维空间射线、线段、平面与场景osg::Node的求交,本文主要分析三种求交器应用的代码、进而分析其内部实现的代码结构,同时分析其求交的特点及应用场景,并实现一种针对点云的碰撞检测求交器。
目录
- 1 平面求交器的应用及分析
- 2 osg实现点云的碰撞检测
内容
- 1 平面求交器的应用及分析
osg中求交器的基类为osgUtil::Intersector,此类为纯虚类,通过其继承出五种求交器,分别为组求交器、线段求交器、平面求交器、多面体求交器、射线求交器,本例主要讲解线段求交器、平面求交器、射线求交器。三种求交器分别应用不同场景,其中射线求交器可用于选中模型,即已知射线的起点和方向,求其与模型的交点;线段求交器可应用于线段与模型的求交,典型的场景如模型生成DEM(数字高程模型),即已知模型的范围、以组求交的方式,以规则格网的形式,求出一系列线段与模型的交点坐标,从而得到DEM;平面求交器常用于求出平面与模型的交线,如分析模型的横断面、纵断面等&#