【技术实现步骤摘要】
基于位置编码八叉树的三维模型平面拾取方法及系统
[0001]本专利技术涉及三维拾取
,具体而言,涉及基于位置编码八叉树的三维模型平面拾取方法及系统。
技术介绍
[0002]拾取是计算机图形处理系统中一个重要的功能,在许多情况下,不仅要绘制图形,而且要允许通过输入设备(通常是鼠标)操纵屏幕上的物体,进行标识、移动和修改等;有时还需要获取物体的空间坐标或图形数值,所有的这些都需要以拾取作为实现的基础;目前对三维空间的拾取基本上是以拾取三维空间中的物体的包围盒为目标,或者是只能够根据二维屏幕的鼠标点拾取一个三维模型的点,却还没有根据二维空间的鼠标点拾取一个三维物体之上对应的平面的方法;而如果想在三维领域对一个三维物体进行数值方面的测量,根据鼠标点拾取三维物体上的平面的方法是不可或缺的。
[0003]在《基于OpenGL的三维模型点坐标拾取方法》一文中,提出了一种根据鼠标点求三维点的方法,该文中是通过遍历三维模型中的所有点,找出投影到屏幕上之后,与鼠标点坐标相同的三维点,再比较找到的坐标相同的点中深度最小的点;该文章的 ...
【技术保护点】
【技术特征摘要】
1.基于位置编码八叉树的三维模型平面拾取方法,其特征在于,包括以下步骤:S11,获取目标物品对应的目标三维模型并展示,所述目标三维模型中包括多个三角面,所述目标物品由多个三角面构成,且每个所述三角面包括至少一个拾取点;S12,获取用户在各个所述拾取点中选择的目标拾取点的二维坐标;S13,根据所述目标拾取点的二维坐标,计算获得所述目标拾取点的三维坐标;S14,根据所述目标拾取点的三维坐标和预置的八叉树数据库,获得所述八叉树数据库中的各个三角面中与所述目标拾取点之间距离最小的三角面作为目标三角面,并得到构成所述目标三角面的三个顶点中每个顶点的三维坐标,所述八叉树数据库中包括所述目标三维模型对应的多个三角面中每个三角面的位置信息,以及每个所述三角面对应的三个顶点中每个顶点的三维坐标;S15,根据所述目标三角面,得到构成所述目标三角面的三个顶点中每个顶点的三维坐标,并根据所述目标三角面和所述目标三角面的三个顶点中每个顶点的三维坐标,计算获得与所述目标三角面对应的平面法向量,以及所述目标三角面的中心点的三维坐标;S16,通过所述平面法向量和所述目标三角面的中心点的三维坐标,计算获得所述目标拾取点与所述目标三角面之间的目标距离,若所述目标距离不大于第一阈值,将所述目标三角面确定为搜索三角面;若所述目标距离大于所述第一阈值,则基于所述八叉树数据库重新确定所述目标三角面,直到所述目标拾取点与所述目标三角面之间的目标距离不大于第一阈值;S17,根据所述搜索三角面,从所述八叉树数据库中获得第一数量的目的三角面,每个所述目的三角面与所述搜索三角面之间的平面距离不大于第二阈值;S18,将所述第一数量的目的三角面和所述搜索三角面拟合为拾取平面,并将所述拾取平面作为目标拾取面;S19,基于所述八叉树数据库,输出所述目标拾取面的中心点的三维坐标和所述目标拾取面的平面法向量。2.根据权利要求1所述的基于位置编码八叉树的三维模型平面拾取方法,其特征在于,所述将多个所述目的三角面和所述搜索三角面拟合为拾取平面,并将所述拾取平面作为目标拾取面,包括:S21,将多个所述目的三角面和所述搜索三角面拟合为拾取平面,并基于所述八叉树数据库,获得所述拾取平面的中心点的三维坐标,以及与所述拾取平面对应的平面法向量;S22,通过所述拾取平面的中心点的三维坐标,以及与所述拾取平面对应的平面法向量,计算获得所述目标拾取点与所述拾取平面之间的核验距离;S23,若所述核验距离大于所述第三阈值,则基于所述八叉树数据库确定新的目标三角面,并基于所述新的目标三角面重新执行所述步骤S15至S18。3.根据权利要求2所述的基于位置编码八叉树的三维模型平面拾取方法,其特征在于,若所述核验距离不大于第三阈值,还包括:S24,将所述拾取平面确定为搜索核验三角面;S25,根据所述搜索核验三角面,从所述八叉树数据库中获得第二数量的目的核验三角面,所述第二数量的目的核验三角面中每个所述目的核验三角面与所述搜索三角面之间的平面距离不大于第四阈值,所述第二数量的值大于或等于所述第一数量;
S26,将所述第二数量的目的核验三角面和所述搜索核验三角面拟合为新的拾取平面;S27,将所述新的拾取平面确定为目标拾取面。4.根据权利要求3所述的基于位置编码八叉树的三维模型平面拾取方法,其特征在于,所述将所述新的拾取平面确定为目标拾取面,包括:多次重复步骤S24至S26,多次重复后分别获取多个不同数量的目的核验三角面,且在每连续两次重复步骤S24至S26的过程中,后一次得到的目的核验三角面的数量大于或等于前一次得到的目的核验三角面的数量,当重复次数等于第五阈值时,将最后一次对应的新的所述拾取平面作为所述目标拾取面;或者,当连续两次重复S24
‑
S26时,若获得的两个新的所述拾取平面的中心点的三维坐标之间相差不大于第六阈值,且两个新的所述拾取平面的平面法向量的点乘不小于第七阈值,则将最后一次对应的新的所述拾取平面作为所述目标拾取面。5.根据权利要求1
‑
4中任一项所述的基于位置编码八叉树的三维模型平面拾取方法,其特征在于,所述方法...
【专利技术属性】
技术研发人员:苏凯,吴祖静,吕健宇,伍荣誉,
申请(专利权)人:桂林量具刃具有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。