CN103236079A - 一种基于三维模型体素化的内部球改进构造方法 - Google Patents

一种基于三维模型体素化的内部球改进构造方法 Download PDF

Info

Publication number
CN103236079A
CN103236079A CN2013101382850A CN201310138285A CN103236079A CN 103236079 A CN103236079 A CN 103236079A CN 2013101382850 A CN2013101382850 A CN 2013101382850A CN 201310138285 A CN201310138285 A CN 201310138285A CN 103236079 A CN103236079 A CN 103236079A
Authority
CN
China
Prior art keywords
centerdot
voxel
model
spheroid
cube
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013101382850A
Other languages
English (en)
Other versions
CN103236079B (zh
Inventor
李重
王君良
许鸿尧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sci Tech University ZSTU
Original Assignee
Zhejiang Sci Tech University ZSTU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Sci Tech University ZSTU filed Critical Zhejiang Sci Tech University ZSTU
Priority to CN201310138285.0A priority Critical patent/CN103236079B/zh
Publication of CN103236079A publication Critical patent/CN103236079A/zh
Application granted granted Critical
Publication of CN103236079B publication Critical patent/CN103236079B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种智能仿真技术,具体是指一种基于三维模型体素化的内部球改进构造方法。本发明是通过模型表面体素化、模型内部体素化、内部球基本构造、内部球聚类构造层次球结构等步骤改进了内部球构造方式和层次结构聚类方法。本发明的优点是内部球半径在初始化时就确定,无需作后续处理,操作简单,并能减少内部球数目,最后得到有意义的聚类效果。本发明应用于模型与模型之间的碰撞检测具有广阔的前景。

Description

一种基于三维模型体素化的内部球改进构造方法
技术领域
本发明涉及到一种智能仿真技术,具体是指一种基于三维模型体素化的内部球改进构造方法。
背景技术
碰撞检测技术是视景仿真中的重要研究内容,也是虚拟环境产生沉浸感的重要手段,在计算机视觉、虚拟现实、机器人等领域有着广泛应用。通过碰撞检测可以确定两个或者多个物体彼此之间有没有发生接触或穿透。三维模型近似逼近为碰撞检测提供了可行性,能够快速而精确地检测出物体间是否发生碰撞并进行相应处理,因而在碰撞检测中发挥着重要应用,越来越多地受到人们的关注。
三维模型逼近中,有多种几何图元用于构建模型的“包围盒层次结构”(BVH)作预处理。按包围盒的不同又分为包围球法(Sphere)、轴向包围盒法(AABB)、方向包围盒法(OBB)、离散方向多面体法(k-DOP)、固定方向凸包(FDH)等。目前普遍采用的碰撞检测是空间二叉划分BSP(Binary Space Partitioning)树和AABB包围盒方式。相比计算量和方便性来讲还是模型的立方体和球体逼近更方便些。其中,球体之间的碰撞检测可以说是最简单的数学模型,由于只有一个自由度,我们只要知道球体的球心和半径就能进行检测,但也存在精度不高等问题。为了提高模型包围球逼近时碰撞检测的速度和效率,人们又构造了球体树方法。现行球体逼近方法有很多,核心问题是对模型球体个数和逼近误差的优化。文献[8]提出了基于中轴的内部球层次树结构,用于碰撞检测,球体数目相对较少但模型逼近误差相对较大。文献[9]使用椭球体代替球体,用于物体间碰撞检测,取得了较好效果,但椭球绘制时需要确定长短轴方向,增加了模型绘制负担。文献[10]提出了基于体素化的内部球层次树数据结构,用于碰撞检测和穿透量计算,但存在球体数目较多和内部球聚类效果不理想等问题。我们知道,聚类是一种研究数据之间可能存在相互关系的技术,其聚类分析的结果不仅能表明数据之间的内在联系和本质区别,还能为进一步数据处理与知识发现提供保证。球体树结构是提高碰撞检测时效性的一种很好解决方法,而球体聚类不仅为构造这种层次树结构提供方法,在模型分割中也能得到有意义的分割效果。
本文在文献[10]基础上改进了内部球构造方式和层次结构聚类方法,主要贡献有:基于改进内部球半径计算减少内部球数目;通过局部细分提高球体连续性;并使用测地距离作为聚类参数,得到较好的聚类效果。
发明内容
本发明针对现有技术中的不足,提出一种在三维模型体素化基础上,构建模型的内部球逼近,并对内部球聚类得到球体内部球层次结构的方法。
本发明是通过下述技术方案得以实现的:
一种基于三维模型体素化的内部球改进构造方法,其特征在于包括下述步骤:
(1)模型表面体素化
首先计算出模型的AABB包围盒,然后根据体素单位对包围盒进行划分,得到每个大小为L×L×L空间体素列表,分辨率为X/L×Y/L×Z/L,接着使用立方体和三角面求交算法确定这些基本体元作为边界体素,并将这些体素标记为非空,从而完成3D模型表面的体素化操作;其中,L是体素单位长度,X、Y、Z分别表示三维方向的长度;
其中,AABB包围盒是指一个其表面法向与坐标轴方向相一致的长方体,用两个顶点坐标amax和amin来表示一个模型的AABB,其中,amax=(Xmax,Ymax,Zmax),amin=(Xmin,Ymin,Zmin),以这两点为对角顶点构成的包围盒即为模型AABB包围盒;
其中,立方体和三角面求交:以立方体的中心为原点建立坐标系,基于分离轴定理,对13条轴线进行测试,步骤如下:
(A)计算出检测的13条轴线,分别为立方体法向3条轴线,三角形面法向1条轴线,立方体三个法向和三角形三条边叉积构成的9条轴线;
如果上述立方体和三角形面均能被13条轴线分离,则立方体和三角面不相交;反之,只要其中有一条轴线不能将两者分离,则立方体和三角面相交;
(B)当轴线为立方体法向时,进行三角形面和立方体最小包围盒的重叠检测;
(C)当轴线为三角形面法向时,先确定立方体对角线和三角面法线的方向最接近的对角线两个顶点;
若对角线顶点中小的那一个顶点在三角形面的正面一侧或对角线顶点中大的那一个顶点在三角形面的反面一侧,则立方体和三角面不相交;反之,两者相交;
(D)当轴线为立方体法向和三角形三条边的叉积时,先将三角形面和立方体的顶点都投影到轴线上,以立方体的投影点的中心为原点,然后在三角形面的投影点中找出最大值M和最小值m;
在立方体的投影点中计算投影覆盖的区间半径R,若有|M|>R、且|m|>R,则立方体和三角面不相交;反之,两者相交;
若在(B)、(C)、(D)步骤过程中均没有检测到相交时,返回立方体和三角面不相交;
(2)模型内部体素化
在确定了封闭模型表面体素之后,对空体素的六个方向进行扫描,在六个方向均找到边界体素,即将此体素标记为内部体素,然后对内部区域填充,填充过程如下:
初始化时所有体素的标志位设为0,经过表面的体素化后,使表面边界体素的标志位为1,则外部和内部体素标记为0;具体算法步骤有:
(A)选择X、Y、或Z三个方向中的一个方向进行扫描;
(B)扫描到第一个标记为1且后一体素标记为0的体素,记下体素标号T1;其中的T表示X、Y、或Z三个方向中的一个;
(C)继续扫描,找到第一个标记为1且前一体素标记为0的体素,记下体素标号T2
(D)该体素行中,标号在T1和T2之间的即为内部体素;
(E)验证标号在T1和T2之间的体素,对其进行六个方向扫描;若均有边界体素,则可确定T1和T2之间的体素是内部体素,并将其标记为-1;
(3)内部球基本构造
(A)对边界体素中,中心在模型内部的体素进行二次细分预处理,得到新的体素集合;
(B)初始化得到所有体素中心作为球心,并计算相应的半径;
(C)在步骤(B)的集合中找到半径值最大的球体,作为一个确定构造的球体;
(D)找到一个确定构造的球体之后,在剩余的球体中,将球心落在这个确定构造的球体内的球体作为取消的球体;
(E)在剩余的球体中,重复步骤(C)和(D),在本步骤中剩余的球体是指除去步骤(D)中确定构造的球体和球心在这个球体内的取消的球体;
(F)直到所有球体都确定构造或取消构造;
(4)内部球聚类构造层次球结构
使用聚类方法对模型的内部球进行球体分类,用于球体层次树结构构造和网格模型分割;聚类方法的操作如下:
设聚类个数为n,给定内部球个数为m,中心为pj,对应半径为rj,其中j=0,1,…,m-1;初始聚类中心为wi,其中i=0,1,…,n-1;迭代聚类参数kij的计算为:
kij:=|{wk:d(pj,wk)<d(pj,wi)}|∈{0,1,…,n}…………………………(1)
聚类中心wi的更新为
w i : = &Sigma; j = 0 m h &lambda; ( k ij ) &CenterDot; p j &CenterDot; v j &Sigma; j = 0 m h &lambda; ( k ij ) &CenterDot; v j &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; ( 2 )
其中 h &lambda; ( k ) = e - k &lambda; , v j = 4 3 &pi; &CenterDot; r j 3 ;
初始λ的值第t次迭代的λ值为tmax是最大迭代次数;
球体聚类过程中,两中心pj和wi的距离可分成三部分:pj到模型表面投影点ptj的最短距离dj,wi到模型表面投影点wti的最短距离di,表面两点测地距离为d(ptj,wti);因此两内部球心的测地距离可表示为:
d(pj,wi)=dj+d(ptj,wti)+di.。
在本发明中,所述的体素化(Voxelization)是用空间体素单位来近似表示三维模型几何形式的一种建模方法,能从内部到边界完整的体现模型形状等属性。空间体素和二维图像中的像素类似,可看成是从二维正方形点扩展成三维的立方体单元。三维模型体素化操作主要包括两部分:模型表面体素化和模型内部体素化。
作为优选,上述的一种基于三维模型体素化的内部球改进构造方法中,将内部球中心和聚类中心按同向投影到模型表面,按聚类中心到模型表面距离最短的方向为投影方向,所有球心按这个方向投影构成同向投影,对于有凸起、凹陷、有弯曲的三维模型表面,取最短的交点为投影点,对网格表面模型上的两个中心:内部球中心在模型表面的投影点和聚类中心在模型表面的投影点,计算模型表面两点间测地距离。
有益效果:在本发明的使用过程中,内部球半径在初始化时就确定,无需作后续处理,操作简单,并能减少内部球数目。同时,对边界体素作适当细分,解决体素分辨率较低时内部球的连续性问题,且在内部球体聚类上使用测地距离计算,得到有意义的聚类效果;现有工作条件下,内部球数目跟体素单位大小有关。体素单位小时,模型逼近效果较好,但内部球较多。如何在保证模型逼近效果的同时,进一步减少球体数目,并结合聚类效果构造层次结构树,应用于模型与模型之间的碰撞检测具有广阔的前景。
附图说明
图1单个体素立方体和三角面求交示意图
图2模型表面体素的示意图
图3二维情况下的模型内部体素化示意图
图4由文献[10]的方法体现的内部球构造示意图
图5由本发明方法体现的内部球构造示意图
图6兔子模型的内部球示意图
图7由文献[10]的方法体现的龙的模型内部球聚类效果示意图
图8由本发明方法体现的龙的模型内部球聚类效果示意图
图9在实施例2中的内部中心点同向投影方式示意图
具体实施方式
下面对本发明的实施作具体说明:
实施例1
一种基于三维模型体素化的内部球改进构造方法,包括下述步骤:
(1)模型表面体素化
这一步操作相对简单,首先计算出模型的AABB包围盒,然后根据体素单位对包围盒进行划分,得到每个大小为L×L×L空间体素列表,分辨率为(X/L)×(Y/L)×(Z/L)。接着使用立方体和三角面求交算法确定这些基本体元作为最终边界体素,并将这些体素标记为非空,从而完成3D模型表面的体素化操作。
模型AABB包围盒:
AABB包围盒是指一个其表面法向与坐标轴方向相一致的长方体。我们可以用两个顶点坐标amax和amin来表示一个模型的AABB,其中,amax=(Xmax,Ymax,Zmax),amin=(Xmin,Ymin,Zmin)。以这两点为对角顶点构成的包围盒即为模型AABB包围盒。
然后,立方体和三角面求交:
为确定所有和模型表面相交的体素,需对所有体素立方体和模型表面的三角面进行求交测试。初始化时以立方体的中心为原点建立坐标系,基于分离轴定理,需对13条轴线进行测试,主要步骤如下:
(A)计算出需检测的13条轴线,分别为立方体法向3条轴线,三角形面法向1条轴线,立方体三个法向和三角形三条边叉积构成的9条轴线。如果立方体和三角形面均能被13条轴线分离,则立方体和三角面不相交;反之,只要其中有一条轴线不能将两者分离,则立方体和三角面相交。
(B)当轴线为立方体法向时,进行三角形面和立方体最小包围盒的重叠检测。
(C)当轴线为三角形面法向时,先找到立方体中与三角形面法向最接近的对角线两个顶点,若顶点中最小的那一个在三角形面的正面一侧或最大的那一个在三角形面的反面一侧,则立方体和三角面不相交;反之,两者相交。
(D)当轴线为立方体法向和三角形三条边的叉积时,先将三角形面和立方体的顶点都投影到轴线上,以立方体的投影点的中心为原点,然后在三角形面的投影点中找出最大值M和最小值m;
在立方体的投影点中计算投影覆盖的区间半径R,若有|M|>R、且|m|>R,则立方体和三角面不相交;反之,两者相交;
只有当(B)、(D)、(C)步过程中均没有检测到相交时,才返回立方体和三角面不相交。单个体素立方体和三角形平面的求交如图1所示。其中,L是体素单位长度,C为体素中心点,G为C在三角面上的投影点,N为通过C点的三角面S的法向量。所需检测的13条轴线为:坐标轴线X、Y、Z三条,三角面法线N一条,坐标轴向X、Y、Z分别和三角面三条边DE、EF、FD的叉积9条。
将模型表面体素化的操作进行完之后即可得到对模型体素表示的一个“外壳”,模型表面体素化效果如图2所示。接下来要做的是进行模型的内部体素化操作。
(2)模型内部体素化
在确定了封闭模型表面体素(标记为非空)之后,标记为空的体素一部分在模型内部,还有一部分在模型外部。内部体素化操作就是要找到那些在模型内部的空体素并将它们作相应标记。这里采用一种比较简单的扫描线方法,对空体素的六个方向进行扫描,一旦在六个方向均找到边界体素,即将此体素标记为内部体素。内部区域填充过程如下:
初始化时所有体素的标志位设为0,经过表面的体素化后,使表面边界体素的标志位为1,则外部和内部体素标记为0。具体算法步骤有:
(A)选择一个扫描方向,可以沿x,y或z的方向扫描,假定以(x,y)为起点体素,沿z的方向扫描体素行;
(B)找到第一个标记为1且后一体素标记为0的体素,记下体素标号z1
(C)继续扫描,找到第一个标记为1且前一体素标记为0的体素,记下体素标号z2
(C)该体素行中,标号在z1和z2之间的一般即为内部体素;
(E)验证标号在z1和z2之间的体素,对其进行六个方向扫描若均有边界体素,则可确定z1和z2之间的体素是内部体素,并将其标记为-1。
在二维上,模型的内部体素标记如图2中A到B。
我们要构造的内部球是指填充在模型内部且不能超出模型表面边界的一些球体。要求这样的球体在逼近模型程度相同情况下越少越好。首先介绍内部球基本构造方法,其次针对体素分辨率较低情况下内部球体不连续情形,进行改进提高逼近精度。
(3)内部球基本构造
基于体素的内部球构造主要是先确定候选球球心和半径,再按照一定的构造原则进行内部球的构造。基本原则是在保证逼近效果的前提下,尽可能的减少球体数目。因此可以根据半径值最大优先构造原则来进行内部球的构造。
为使所构造的内部球数目尽可能的少,本文对文献[10]方法进行改进:构造了一个内部球后没有更新其余候选体素的半径,所有候选体素的半径都是在第一次初始化时确定的。这样虽然内部球之间有了相交,但能有效提高模型的逼近效果,且内部球数也有明显的减少。图4中A→B→D是文献[10]的方法,而图5中的A→C→E是本实施例的方法。图6是本文方法构造的兔子模型内部球效果。
(4)内部球聚类构造层次球结构
接下来,我们使用聚类方法对模型的内部球进行球体分类,用于球体层次树结构构造和网格模型分割等。曲面表面上两点之间的测地线是连接这两点的最短距离,采用测地距离分类可以将空间欧氏距离很近但测地距离较远的物体不同模块区分出来。本文所用聚类算法在BNG(Batch Neural Gas)算法基础上,基于测地距离改进,使聚类效果更有实际意义。BNG算法思想是:
设聚类个数为n,给定内部球个数为m,中心为pj,对应半径为rj,其中j=0,1,…,m-1。初始聚类中心为wi,其中i=0,1,…,n-1。迭代聚类参数kij的计算为
kij:=|{wk:d(pj,wk)<d(pj,wi)}∈{0,1,…,n}.…………………………(1)
聚类中心wi的更新为
w i : = &Sigma; j = 0 m h &lambda; ( k ij ) &CenterDot; p j &CenterDot; v j &Sigma; j = 0 m h &lambda; ( k ij ) &CenterDot; v j , &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; ( 2 )
其中 h &lambda; ( k ) = e - k &lambda; , v j = 4 3 &pi; &CenterDot; r j 3 .
初始λ的值
Figure BDA00003072642800084
第t次迭代的λ值为
Figure BDA00003072642800085
tmax是最大迭代次数。
文献[10]聚类过程中,由于距离d使用的是欧氏距离,球体聚类效果不明显,如图7中相同分类的一些区域出现不连通情形。本文BNG算法聚类参数计算中,距离d使用了基于测地距离的计算,可以很好的解决该问题,实验结果如图8所示。
球体聚类过程中,两中心pj和wi的距离可分成三部分:pj到模型表面投影点ptj的最短距离dj,wi到模型表面投影点wti的最短距离di,表面两点测地距离为d(ptj,wti)。因此两内部球心的测地距离可表示为:
d(pj,wi)=dj+d(ptj,wti)+di.。
实施例2
按实施例1相同的方法与步骤,在测定两内部球心的测地距离后,为使点投影后的测地距离用于聚类后达到有意义的效果,本文将内部球中心和聚类中心按同向投影到模型表面。我们按聚类中心到模型表面距离最短的方向为投影方向,所有球心按这个方向投影构成同向投影。最短距离方向的确定可用搜索球技术减少计算量。对于有凸起、凹陷、有弯曲的三维模型表面,同向投影可能会有多个交点,我们取最短的交点为投影点。投影方式如图9所示,pj为内部球中心,ptj为内部球中心在模型表面的投影点,wi为聚类中心,wti为聚类中心在模型表面的投影点。对网格表面模型上两个点ptj和wti,计算模型表面两点间测地距离,我们采用文献[13]给出的近似计算方法。
通过本发明方法得到的逼近效果优于现在技术的方法,且球体数目明显减少。本发明的内部球改进构造方法,使内部球半径在初始化时就确定,无需作后续处理,操作简单,并能减少内部球数目。同时,对边界体素作适当细分,解决体素分辨率较低时内部球的连续性问题。最后,在内部球体聚类上使用测地距离计算,得到有意义的聚类效果。
现有工作条件下,内部球数目跟体素单位大小有关。体素单位小时,模型逼近效果较好,但内部球较多。如何在保证模型逼近效果的同时,进一步减少球体数目,并结合聚类效果构造层次结构树,应用于模型与模型之间的碰撞检测将是我们今后的研究工作。
参考文献
[1]Palmer I.and Grimsdale R.Collision detection for animation usingsphere-trees.Computer Graphics Forum,1995,14(2),105–116
[2]HubbardP.Approximating polyhedra with spheres for time-criticalcollision detection.ACM Transactions on Graphics,1996,15(3),179–210
[3]O’Sullivan C,Dingliana J.Realtime collision detection and responseusing spheretrees.In Proceedings of the Spring Conference on ComputerGraphics,1999,83–92
[4]Van Den Bergen G.Efficient collision detection of complex deformablemodels using AABB trees.Journal of Graphics Tools,1997,2(4),1–13
[5]Gottschalk S.,Lin M.,Manocha D.OBB-Tree:A hierarchical structurefor rapid interference detection.In Proceedings of ACM SIGGRAPH,1996,171–180
[6]Krishnan S,Pattekar A.,Lin M,Manocha D.Spherical shells:A higherorder bounding volume for fast proximity queries.In Proceedings of the1998 Workshop on the Algorithmic Foundations of Robotics,1998,122–136
[7]Klosowski J,Held M,Mitchell J,Sowizral H,Zikan K.Efficientcollision detection using bounding volume hierarchies of k-DOPs.IEEEtransactions on Visualization and Computer Graphics,1998,4(1),21–36
[8]Bradshaw G,O’Sullivan C.Adaptive medial-axis approximation forsphere-tree construction.ACM Transactions on Graphics,2004,23(1),1-26
[9]Liu S.J,Jin X.G,Wang C.L.Ellipsoidal-blob approximation of 3Dmodels and its applications.Computers&Graphics,2007,31(2),243-251
[10]Weller R,Zachmann G.Inner sphere trees for proximity andpenetration queries.In Proceedings of 2009 Robotics:Science andSystems Conference(RSS),Seattle,USA,2009
[11]Schneider P.J,Eberly D.H,Geometric tools for Computer Graphics,Morgan Kaufmann,San Francisco,USA,2003
[12]Cottrell M,Hammer B,Hasenfuss A,Villmann T.Batch and median neuralgas.Neural Networks,2006,19,762–771
[13]周艳,刘圣军,金小刚,冯结青.基于测地距离的多边形网格模型约束变形.软件学报,2007,18(6),1543-1552。

Claims (2)

1.一种基于三维模型体素化的内部球改进构造方法,其特征在于包括下述步骤:
(1)模型表面体素化
首先计算出模型的AABB包围盒,然后根据体素单位对包围盒进行划分,得到每个大小为L×L×L空间体素列表,分辨率为X/L×Y/L×Z/L,接着使用立方体和三角面求交算法确定这些基本体元作为边界体素,并将这些体素标记为非空,从而完成3D模型表面的体素化操作;其中,L是体素单位长度,X、Y、Z分别表示三维方向的长度;
其中,AABB包围盒是指一个其表面法向与坐标轴方向相一致的长方体,用两个顶点坐标amax和amin来表示一个模型的AABB,其中,amax=(Xmax,Ymax,Zmax),amin=(Xmin,Ymin,Zmin),以这两点为对角顶点构成的包围盒即为模型AABB包围盒;
其中,立方体和三角面求交:以立方体的中心为原点建立坐标系,基于分离轴定理,对13条轴线进行测试,步骤如下:
(A)计算出检测的13条轴线,分别为立方体法向3条轴线,三角形面法向1条轴线,立方体三个法向和三角形三条边叉积构成的9条轴线;
如果上述立方体和三角形面均能被13条轴线分离,则立方体和三角面不相交;反之,只要其中有一条轴线不能将两者分离,则立方体和三角面相交;
(B)当轴线为立方体法向时,进行三角形面和立方体最小包围盒的重叠检测;
(C)当轴线为三角形面法向时,先确定立方体对角线和三角面法线的方向最接近的对角线两个顶点;
若对角线顶点中小的那一个顶点在三角形面的正面一侧或对角线顶点中大的那一个顶点在三角形面的反面一侧,则立方体和三角面不相交;反之,两者相交;
(D)当轴线为立方体法向和三角形三条边的叉积时,先将三角形面和立方体的顶点都投影到轴线上,以立方体的投影点的中心为原点,然后在三角形面的投影点中找出最大值M和最小值m;
在立方体的投影点中计算投影覆盖的区间半径R,若有|M|>R、且|m|>R,则立方体和三角面不相交;反之,两者相交;
若在(B)、(C)、(D)步骤过程中均没有检测到相交时,返回立方体和三角面不相交;
(2)模型内部体素化
在确定了封闭模型表面体素之后,对空体素的六个方向进行扫描,在六个方向均找到边界体素,即将此体素标记为内部体素,然后对内部区域填充,填充过程如下:
初始化时所有体素的标志位设为0,经过表面的体素化后,使表面边界体素的标志位为1,则外部和内部体素标记为0;具体算法步骤有:
(A)选择X、Y、或Z三个方向中的一个方向进行扫描;
(B)扫描到第一个标记为1且后一体素标记为0的体素,记下体素标号T1;其中的T表示X、Y、或Z三个方向中的一个;
(C)继续扫描,找到第一个标记为1且前一体素标记为0的体素,记下体素标号T2
(D)该体素行中,标号在T1和T2之间的即为内部体素;
(E)验证标号在T1和T2之间的体素,对其进行六个方向扫描;若均有边界体素,则可确定T1和T2之间的体素是内部体素,并将其标记为-1;
(3)内部球基本构造
(A)对边界体素中,中心在模型内部的体素进行二次细分预处理,得到新的体素集合;
(B)初始化得到所有体素中心作为球心,并计算相应的半径;
(C)在步骤(B)的集合中找到半径值最大的球体,作为一个确定构造的球体;
(D)找到一个确定构造的球体之后,在剩余的球体中,将球心落在这个确定构造的球体内的球体作为取消的球体;
(E)在剩余的球体中,重复步骤(C)和(D),在本步骤中剩余的球体是指除去步骤(D)中确定构造的球体和球心在这个球体内的取消的球体;
(F)直到所有球体都确定构造或取消构造;
(4)内部球聚类构造层次球结构
使用聚类方法对模型的内部球进行球体分类,用于球体层次树结构构造和网格模型分割;聚类方法的操作如下:
设聚类个数为n,给定内部球个数为m,中心为pj,对应半径为rj,其中j=0,1,…,m-1;初始聚类中心为wi,其中i=0,1,…,n-1;迭代聚类参数kij的计算为:
kij:=|{wk:d(pj,wk)<d(pj,wi)}|∈{0,1,…,n}…………………………(1)
聚类中心wi的更新为
w i : = &Sigma; j = 0 m h &lambda; ( k ij ) &CenterDot; p j &CenterDot; v j &Sigma; j = 0 m h &lambda; ( k ij ) &CenterDot; v j &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; ( 2 )
其中 h &lambda; ( k ) = e - k &lambda; , v j = 4 3 &pi; &CenterDot; r j 3 ;
初始λ的值
Figure FDA00003072642700034
第t次迭代的λ值为tmax是最大迭代次数;
球体聚类过程中,两中心pj和wi的距离可分成三部分:pj到模型表面投影点ptj的最短距离dj,wi到模型表面投影点wti的最短距离di,表面两点测地距离为d(ptj,wti);因此两内部球心的测地距离可表示为:
d(pj,wi)=dj+d(ptj,wti)+di.。
2.根据权利要求1所述的一种基于三维模型体素化的内部球改进构造方法,其特征在于,将内部球中心和聚类中心按同向投影到模型表面,按聚类中心到模型表面距离最短的方向为投影方向,所有球心按这个方向投影构成同向投影,对于有凸起、凹陷、有弯曲的三维模型表面,取最短的交点为投影点,对网格表面模型上的两个中心:内部球中心在模型表面的投影点和聚类中心在模型表面的投影点,计算模型表面两点间测地距离。
CN201310138285.0A 2013-04-19 2013-04-19 一种基于三维模型体素化的内部球改进构造方法 Expired - Fee Related CN103236079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310138285.0A CN103236079B (zh) 2013-04-19 2013-04-19 一种基于三维模型体素化的内部球改进构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310138285.0A CN103236079B (zh) 2013-04-19 2013-04-19 一种基于三维模型体素化的内部球改进构造方法

Publications (2)

Publication Number Publication Date
CN103236079A true CN103236079A (zh) 2013-08-07
CN103236079B CN103236079B (zh) 2015-07-22

Family

ID=48884118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310138285.0A Expired - Fee Related CN103236079B (zh) 2013-04-19 2013-04-19 一种基于三维模型体素化的内部球改进构造方法

Country Status (1)

Country Link
CN (1) CN103236079B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103598915A (zh) * 2013-11-13 2014-02-26 浙江德尚韵兴图像科技有限公司 一种肿瘤射频消融技术中精确定位三球覆盖肿瘤的方法
CN106600671A (zh) * 2016-10-21 2017-04-26 上海拆名晃信息科技有限公司 一种网格模型的体素化方法及装置
CN107103642A (zh) * 2017-03-14 2017-08-29 佛山科学技术学院 一种三维模型体素化实体填充方法
CN107590299A (zh) * 2016-07-08 2018-01-16 富士通株式会社 面化处理方法和信息处理设备
CN107590298A (zh) * 2016-07-08 2018-01-16 富士通株式会社 体素化方法和信息处理装置
CN107789832A (zh) * 2017-10-26 2018-03-13 广州市雷军游乐设备有限公司 构成复杂碰撞器的方法、装置、终端设备及存储介质
CN108663990A (zh) * 2018-04-16 2018-10-16 华中科技大学 一种基于两级体素化模型的多轴加工干涉检测与处理方法
CN109359534A (zh) * 2018-09-12 2019-02-19 鲁东大学 一种三维物体几何特征提取方法及系统
CN110163955A (zh) * 2019-04-12 2019-08-23 西北大学 一种ug模型的体素化方法
CN111745692A (zh) * 2020-08-31 2020-10-09 佛山隆深机器人有限公司 一种机器人夹具与机械臂干涉检测方法
CN111862331A (zh) * 2020-07-28 2020-10-30 福建天泉教育科技有限公司 一种基于cpu运算的模型体素化效率优化的方法及其系统
CN112927334A (zh) * 2021-02-22 2021-06-08 中铁二院工程集团有限责任公司 一种基于gpu的三维模型快速体素化方法
CN113610970A (zh) * 2021-08-30 2021-11-05 上海智能网联汽车技术中心有限公司 一种自动驾驶系统、装置及方法
CN113961460A (zh) * 2021-10-25 2022-01-21 北京构力科技有限公司 基于轻量化技术的碰撞检测方法、装置、电子设备和计算机可读存储介质
CN115205485A (zh) * 2022-06-30 2022-10-18 广州极点三维信息科技有限公司 基于包围盒的三维空间探测扩充方法、系统、装置及介质
CN116912431A (zh) * 2023-09-14 2023-10-20 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、存储介质及程序产品
US12026923B2 (en) 2021-12-15 2024-07-02 Hewlett-Packard Development Company, L.P. Object model encodings

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022565A (zh) * 2007-02-15 2007-08-22 浙江大学 体三维显示中体素均匀分布的实现方法
WO2010028379A2 (en) * 2008-09-05 2010-03-11 The Research Foundation Of State University Of New York Bladder wall thickness mapping for tumor detection
CN102779350A (zh) * 2012-06-07 2012-11-14 中国人民解放军信息工程大学 一种锥束ct迭代重建算法投影矩阵构建方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022565A (zh) * 2007-02-15 2007-08-22 浙江大学 体三维显示中体素均匀分布的实现方法
WO2010028379A2 (en) * 2008-09-05 2010-03-11 The Research Foundation Of State University Of New York Bladder wall thickness mapping for tumor detection
CN102779350A (zh) * 2012-06-07 2012-11-14 中国人民解放军信息工程大学 一种锥束ct迭代重建算法投影矩阵构建方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MARIE COTTRELL 等: "Batch and median neural gas", 《NEURAL NETWORKS》, 31 December 2006 (2006-12-31), pages 762 - 771 *
RENE WELLER 等: "《Virtual Realities》", 31 December 2011, article "Inner Sphere Trees and Their Application to Collision Detection", pages: 181-201 *
吴晓军 等: "改进的基于欧氏距离测度网格模型体素化算法", 《计算机辅助设计与图形学学报》, vol. 16, no. 4, 30 April 2004 (2004-04-30), pages 592 - 597 *
方向 等: "点到任意多面体距离的快速计算方法", 《计算机辅助设计与图形学学报》, vol. 13, no. 9, 30 September 2001 (2001-09-30), pages 788 - 792 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103598915A (zh) * 2013-11-13 2014-02-26 浙江德尚韵兴图像科技有限公司 一种肿瘤射频消融技术中精确定位三球覆盖肿瘤的方法
CN103598915B (zh) * 2013-11-13 2016-01-27 浙江德尚韵兴图像科技有限公司 一种肿瘤射频消融技术中精确定位三球覆盖肿瘤的方法
CN107590299A (zh) * 2016-07-08 2018-01-16 富士通株式会社 面化处理方法和信息处理设备
CN107590299B (zh) * 2016-07-08 2021-06-11 富士通株式会社 面化处理方法和信息处理设备
CN107590298A (zh) * 2016-07-08 2018-01-16 富士通株式会社 体素化方法和信息处理装置
CN107590298B (zh) * 2016-07-08 2021-01-05 富士通株式会社 体素化方法和信息处理装置
CN106600671A (zh) * 2016-10-21 2017-04-26 上海拆名晃信息科技有限公司 一种网格模型的体素化方法及装置
CN107103642B (zh) * 2017-03-14 2020-07-07 佛山科学技术学院 一种三维模型体素化实体填充方法
CN107103642A (zh) * 2017-03-14 2017-08-29 佛山科学技术学院 一种三维模型体素化实体填充方法
CN107789832A (zh) * 2017-10-26 2018-03-13 广州市雷军游乐设备有限公司 构成复杂碰撞器的方法、装置、终端设备及存储介质
CN108663990B (zh) * 2018-04-16 2019-11-22 华中科技大学 一种基于两级体素化模型的多轴加工干涉检测与处理方法
CN108663990A (zh) * 2018-04-16 2018-10-16 华中科技大学 一种基于两级体素化模型的多轴加工干涉检测与处理方法
CN109359534A (zh) * 2018-09-12 2019-02-19 鲁东大学 一种三维物体几何特征提取方法及系统
CN110163955A (zh) * 2019-04-12 2019-08-23 西北大学 一种ug模型的体素化方法
CN110163955B (zh) * 2019-04-12 2023-02-28 西北大学 一种ug模型的体素化方法
CN111862331A (zh) * 2020-07-28 2020-10-30 福建天泉教育科技有限公司 一种基于cpu运算的模型体素化效率优化的方法及其系统
CN111862331B (zh) * 2020-07-28 2023-05-23 福建天泉教育科技有限公司 一种基于cpu运算的模型体素化效率优化的方法及其系统
CN111745692A (zh) * 2020-08-31 2020-10-09 佛山隆深机器人有限公司 一种机器人夹具与机械臂干涉检测方法
CN112927334A (zh) * 2021-02-22 2021-06-08 中铁二院工程集团有限责任公司 一种基于gpu的三维模型快速体素化方法
CN113610970A (zh) * 2021-08-30 2021-11-05 上海智能网联汽车技术中心有限公司 一种自动驾驶系统、装置及方法
CN113961460A (zh) * 2021-10-25 2022-01-21 北京构力科技有限公司 基于轻量化技术的碰撞检测方法、装置、电子设备和计算机可读存储介质
US12026923B2 (en) 2021-12-15 2024-07-02 Hewlett-Packard Development Company, L.P. Object model encodings
CN115205485A (zh) * 2022-06-30 2022-10-18 广州极点三维信息科技有限公司 基于包围盒的三维空间探测扩充方法、系统、装置及介质
CN115205485B (zh) * 2022-06-30 2023-03-24 广州极点三维信息科技有限公司 基于包围盒的三维空间探测扩充方法、系统、装置及介质
CN116912431A (zh) * 2023-09-14 2023-10-20 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、存储介质及程序产品
CN116912431B (zh) * 2023-09-14 2023-12-22 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN103236079B (zh) 2015-07-22

Similar Documents

Publication Publication Date Title
CN103236079B (zh) 一种基于三维模型体素化的内部球改进构造方法
CN111707269B (zh) 一种三维环境下的无人机路径规划方法
Jiménez et al. 3D collision detection: a survey
US8903693B2 (en) Boundary handling for particle-based simulation
JP2021536604A (ja) コンピュータビジョンシステム
CN111275816B (zh) 获取点云数据的方法及相关设备
CN111062980B (zh) 一种软体碰撞检测方法
Chen et al. Reconstructing compact building models from point clouds using deep implicit fields
CN105993034A (zh) 用于增强表面重构的轮廓求全
Vasquez-Gomez et al. Hierarchical ray tracing for fast volumetric next-best-view planning
JP2020537271A (ja) ボリュームデータの密度座標ハッシュ化
CN107657659A (zh) 基于长方体拟合扫描三维点云的曼哈顿结构建筑物自动建模方法
CN114386293B (zh) 一种虚实合成的激光雷达点云生成方法和装置
CN115661374A (zh) 一种基于空间划分和模型体素化的快速检索方法
CN103679751B (zh) 一种基于量子计算的碰撞检测方法
Qin et al. Research and application of Boolean operation for triangular mesh model of underground space engineering—Boolean operation for triangular mesh model
CN101609565A (zh) 基于L-Rep模型的三维实体布尔运算方法
Min et al. Accelerating probabilistic volumetric mapping using ray-tracing graphics hardware
Liu et al. An effective self-collision detection algorithm for multi-degree-of-freedom manipulator
Mortazavi et al. Voxel-based point cloud localization for smart spaces management
Khamayseh et al. Deterministic point inclusion methods for computational applications with complex geometry
Sulaiman et al. Bounding-volume hierarchies technique for detecting object interference in urban environment simulation
Hu et al. Hybrid hierarchical collision detection based on data reuse
Liu et al. Shape from silhouette outlines using an adaptive dandelion model
Zhang et al. LiDAR Simulator for Autonomous Driving in Ocean Scenes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150722

Termination date: 20160419

CF01 Termination of patent right due to non-payment of annual fee