没有合适的资源?快使用搜索试试~ 我知道了~
基于距离场的三维物体厚度和间隙可视化的新方法及并行算法的研究
þHOS T E D B Y可在www.sciencedirect.com网站上查阅计算设计与工程学报2(2015)183www.elsevier.com/locate/jcde基于距离场的三维物体厚度和间隙可视化井井正友、梅津伸之、若崎一马、佐藤俊介茨城大学,4-12-1 Nakanarusawa,Hitachi,Ibaraki 316-8511,Japan接收日期:2015年1月28日;接收日期:2015年4月14日;接受日期:2015年4月15日2015年4月28日在线发布摘要本文提出了一种新的方法来可视化的厚度和间隙的三维物体在多面体表示。所提出的方法在可视化中使用对象的距离场。提出了一种基于GPU的多面体距离场并行计算方法。在距离场构造中,体素和模型的表面多边形之间的距离被多次计算。通常选择相似的多边形集合作为用于紧密体素的紧密多边形。利用这种空间一致性,设计了一种并行算法来计算一簇相邻体素与剔除操作所选多边形之间的距离,从而充分利用GPU的快速共享内存机制物体的厚度/间隙通过在物体的可见表面上分布点并用对应于这些点处的厚度/间隙值的唯一颜色对其进行着色来可视化提出了一种改进的射线投射法,利用物体的距离场计算厚度/间隙基于这些算法的系统在距离场构建之后,实现了接近交互速率&2015 年 CAD/CAM 工 程 师 协 会 。 由 Elsevier 制 作 和 主 持 。 这 是 一 个 在 CC BY-NC-ND 许 可 证 下 的 开 放 获 取 文 章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。关键词:内切球;空间相干性;并行计算;轴对齐包围盒;修改光线投射; GPU1. 介绍厚度和间隙是产品设计的基本参数在功能分析中,单个壁和肋的厚度对于计算许用应力和应变一般来说,现代产品的设计是通过尽可能多地减少所需的结构强度允许的壁厚来实现轻量化。厚度评估在其他设计任务中也很重要,例如用于屏蔽汽车发动机噪音的绝缘体的形状。绝缘体形状必须在其表面上具有足够且恒定的厚度,以减少传输声音的音量。从可折叠性的观点来看,部件厚度是重要的在注塑成型中,热熔塑料材料被迫进入模腔,使其冷却并硬化以形成所需零件的形状很难将这种塑料材料插入非常薄的壁形状中。如果壁厚很大,n通讯作者。电话81294385262.电子邮件地址:umezu@mx.ibaraki.ac.jp(N. Umezu)。同行评审由CAD/CAM工程师协会负责由于冷却过程中较厚区域的过度收缩,可能会出现均匀的局部凹陷(缩痕)[1,2]。为了帮助机器设计师,一些CAD系统提供了零件厚度可视化功能[3零件的互补形状的厚度应与零件周围的间隙发动机部件之间需要有足够的间隙,以便使用空气流冷却其表面。此外,间隙会影响切削工具的可及性,并在加工过程中固定到零件表面间隙评价是汽车安全性的重要环节.国际法规规定,半径为50 mm的球体可接触的外表面部件必须具有大于R2.5的圆度[6,7]。检测球体接触形状相当于识别间隙大于100 mm的零件表面。在本文中,我们提出了一种新的方法来可视化的厚度和间隙的三维(3D)物体的多面体表示。所提出的方法采用的可视化对象的距离场考虑一个盒子状空间中的固体物体物体的3D距离场是空间的均匀单元分解,其中在每个立方单元http://dx.doi.org/10.1016/j.jcde.2015.04.0012288-4300/2015 CAD/CAM工程师协会。&由Elsevier制作和主持。这是一个在CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。184M. Inui等人/计算设计与工程学报2(2015)183在该空间中,记录从体素的中心到物体表面上的最近点的距离此外,诸如最近多边形的标识号的其他属性可以被记录在体素中。记录的距离值的使用取决于体素是在对象内部还是外部具有内部体素的距离场用于厚度可视化,而间隙可视化使用具有外部体素的距离场来实现多面体物体的距离场可以通过迭代计算每个体素的中心与表面多边形之间的距离来获得。物体表面上的多边形可以根据它们的接近程度分为几组。对于每个组,定义了一个轴对齐的边界框(AABB),它紧紧包围多边形[8]。使用AABB树,即,可以选择足够接近给定体素的框、多边形的相似的多边形集合通常被选择为用于紧密体素的紧密多边形在此基础上,设计了一种新的并行算法,以计算一簇相邻的体素和通过剔除操作选择的多边形之间的距离,以便充分利用图形处理单元(GPU)快速3D物体在表面上点p处的厚度t被定义为在p处接触表面的最大内接球S的直径(见图1)。1)[3]。同样,p处的间隙c定义为与p处表面外部接触的最大外接球T的直径。物体的厚度/间隙可以通过在物体的可见表面上分布点并用对应于其厚度/间隙值的唯一颜色来绘制来可视化提出了一种新的计算表面点厚度/间隙的方法,即修正光线投射法光线投射是三维标量场可视化的一种典型方法。在常规光线投射中,为每个像素指定通过对象的视线(光线)像素颜色是通过沿射线累积标量场中的值来确定的在我们的改进方法中,每条射线都以与常规方法相同的方式投射,直到它到达物体表面上的一个点然后,光线转向垂直于表面的方向,并进入距离场,以检测场中的第一个峰值,该峰值对应于在该点接触表面的最大内接或外切球的半径本文的其余部分组织如下。第2节提供了3D物体的厚度和间隙的一些定义。此外,简要回顾了以往的研究,距离场计算和厚度/间隙可视化。第三部分总结了本研究的贡献。第4描述了一种并行距离场计算算法及其使用统一计算设备架构(CUDA)[9](一种行业标准GPU计算环境)的实现。此外,它讨论了使用共享内存的距离场的空间相干性的基础上第5描述了用于可视化物体厚度/间隙的改进的射线投射方法文中还讨论了提高可视化性能的一些方法第6节介绍了样品物体的厚度/间隙可视化结果。利用GPU的并行处理能力,可在几分钟内以足够高的速度计算出约80百万体素的距离场,以供实际使用。在获得距离场之后,可以通过使用我们改进的射线投射算法以接近交互的速率可视化对象的厚度/间隙。最后,第7节总结了我们的发现并结束了论文。2. 相关研究2.1. 厚度/间隙定义和分析在机械制图中,厚度被定义为两个相对平行表面上的点之间的距离。 此定义不适用于具有复杂曲面的物体。定义3D物体厚度的两种主要方法是射线法和球体法[1,3,10]。在射线法中,表面上点p处的厚度通过使用从p沿与局部向外法线相反的方向发出的射线来给出。p和另一点q之间的欧几里得距离d对应于厚度,其中q是射线和与物体直接相对的表面之间的交点(见图2)。如果包含p和q的两个表面不平行,则这个定义是模糊的,因为p和q处的厚度值变得不同。sphere方法总是返回一致的结果。在这种方法中,表面上点p处的厚度由在p处接触表面的最大内接球的直径给出(见图1(a))。由于最大内接球的中心轨迹对应于物体的中轴(图中的虚线)[11],因此表面点的厚度对应于该点与中轴之间距离的两倍。一般来说,球面法给出的厚度与机械制图对板状形状厚度的定义一致,但在角部除外,在角部,Fig. 1. 球面法中的厚度/间隙定义图二. 射线法中的厚度定义。M. Inui等人/计算设计与工程学报2(2015)183185最大内接球减小,如图1(b)所示。Subburaj等人通过提出对球体法的修改来定义在这种方法中,使用对象的骨架而不是其中轴来定义厚度[10]。然而,外部厚度不适合评估薄楔形形状的厚度,其中厚度值变得比预期大得多。一些CAD系统提供厚度可视化功能[4,5]。一般来说,它们的可视化质量不足以精确地理解物体厚度的变化GeomCaliper是一个专门用于多面体实体模型厚度可视化的系统它支持光线方法和球体方法。根据一份报告[3],它采用了均匀网格和k-d树来实现良好的厚度计算性能;然而,该报告的技术细节尚未公布。此外,据我们所知,没有任何商业系统可用于可视化产品清关。厚度/间隙可视化在学术界尚未得到积极研究。Subburaj等人[10]提出了基于体素模型的厚度分析除了“外部厚度”之外,他们还提出了两个新的度量标准:“射线照相厚度”,它基于射线方法的变体,以及“内部厚度”,这是一种距离变换,稍后将解释。Lu等人。[12]提出了基于距离变换的厚度分析,用于检测3D对象的较厚区域以前,我们开发了一个简单的厚度可视化系统的固体模型[13],从而确定多边形的厚度通过使用距离场的球体方法迄今为止开发的大多数间隙分析方法都是专门针对特定制造要求的,例如,机器人运动规划的配置空间[14]和可加工性评估的可达性圆锥[15,16]。同样,在医疗领域,已知一些间隙可视化方法可帮助在虚拟环境中导航植入物[17,18]。这些方法过于专业化,无法简单地可视化物体周围的间隙距离。2.2. 距离场计算和可视化我们使用距离场进行厚度/间隙可视化。构造距离场的快速算法已经被积极研究[19]。有两种基本方法。第一种方法称为距离变换,它基于距离信息的传播[20,21]。 在该方法中,检测物体边界上的体素,并在初始化步骤中计算它们的精确距离值。然后将距离传播到剩余的内部或外部体素。通过根据预先定义的模板[22- 24]更新值,从相邻体素的距离计算体素的新距离Zhao[25]提出了一种离散求解程函方程的快速扫描方法Chang等人[26]遵循Zhaofs方法计算完整的距离场。通过传播得到的距离场基本上是近似的,并且它们不适合于某些需要精确结果的工程应用。第二种方法是基于精确计算体素和表面多边形之间的距离。在距离场构造中,一些距离计算可以根据它们的空间相干性而被丢弃。Payne和Toga[27]通过将多边形数据存储在分 层 边 界 框 中 来 利 用 相 干 性 。 Gueziec [28] 在 他 的Meshsweeper算法中扩展了这种方法,其中为每个边界框计算距离间隔。该间隔给出了体素与框中任何多边形之间距离的下限和上限。如果一个盒子的下界大于其他盒子的上界,那么在距离计算中可以忽略盒子中的所有多边形。三角形网格的每个特征(顶点、边或小平面)都可以转换为包含最接近特征的点的相应特征多面体距离场的计算成本可以通过根据特征多面体对体素进行分类来降低[29]。对象的所有特征的特征多面体构成3D Voronoi图,这是将3D空间划分为区域,其中每个区域由比任何其他特征更接近一个特征的所有点组成[30]。Hoff等人[31]提出了一种通过多边形渲染硬件加速的Voronoi图计算方法。Sud等人。[32,33]改进了他们的方法,并将其用于计算3D距离场。自适应采样距离场(ADF)根据局部细节自适应地记录距离值,并将数据存储在空间层次中以进行有效处理。一般来说,ADF比基于均匀单元分解的常规距离场需要更少的内存。在[34- 36]中提出了存储八叉树的单元顶点处的距离的ADF体素中的距离值通过顶点处的值的三线性插值来导出。ADF对于某些工程应用是无效的,在这些工程应用中,需要在每个体素中存储附加的距离相关属性,例如,最近多边形的标识号。3D标量场(如距离场)的可视化是体绘制中的一个典型主题[37]。渲染标量场有两种基本方法:显式提取场中的等值面和通过累积场中的标量值生成光线投射用于第二种方法[38,39]。在这种方法中,射线被投射到标量场的体素中,并以一定的间隔对体素值进行采样。采样值沿光线累积,以确定产生半透明图片所需的不透明度在体绘制中,距离场通常不是可视化目标,但它用于促进3D空间中其他信息的可视化或计算。例如,距离场用于计算偏移表面[40]。距离场在光线投射中也很有用。沿光线采样点的间隔大小对于光线投射中的渲染性能通过使用预先记录在体素中的距离信息,可以确定保证不穿透对象边界的间隔大小[41]。据我们所知,文献中没有关于基于距离场的物体厚度/间隙可视化的186M. Inui等人/计算设计与工程学报2(2015)183¼3. 本研究报告在本文中,我们提出了一种快速和精确的方法来可视化的厚度/间隙的3D对象的内部/外部距离场的基础上。因此,我们的工作贡献如下。基于距离场的厚度/间隙可视化:本研究的主要贡献是开发了一种基于距离场精确可视化3D物体球体法用于测量物体的厚度/间隙。在我们以前的系统[13]和商业系统(如GeomCaliper[3一般来说,如果对象被粗略地镶嵌有大多边形或不均匀尺寸的多边形,则该方法的可视化质量较低。我们的方法基于密集覆盖对象的可见表面的点来可视化对象的厚度/间隙。对于每个点,通过改进的射线投射方法计算在该点处接触表面的最大内接或外接球体,并且该点被涂上与厚度/间隙值对应的唯一颜色(即,接触球体的直径距离场的并行计算:在实践中使用我们的厚度/间隙可视化方法的最关键我们使用空间相干性的概念来减少距离场的计算成本,在均匀分辨率的情况下。与Payne和Toga[27]以及Gueziec[28]提出的先前方法相比,我们的方法在剔除操作中使用体素簇与多边形边界框之间的距离范围。在剔除操作之后剩余的多边形的几何数据被存储在GPU的快速共享存储器机制中。它们被线程有效地使用,每个线程计算集群中的体素与多边形之间的距离。GPU的并行因此,我们相信这种方法比使用传统深度缓冲器硬件的其他方法更有前途(例如[32,33])。我们采用[13]中描述的方法的初始概念。本文提出的方法使用轴对齐的盒子来包围体素簇和表面多边形,以提高距离场计算中的剔除性能。4. 并行距离场计算4.1. 筹备工作我们的方法需要一个镶嵌的CAD模型的对象作为输入。大多数商业CAD系统都提供了一个功能,将模型数据输出为一组三角形多边形,例如STL文件格式。 该模型被分解成一组小的立方体细胞(体素)根据一个统一的空间网格。 每个体素根据其中心相对于对象边界的位置被分类为内部或外部体素;如果如果体素的中心位于边界上,则体素分为内部体素和外部体素。使用垂直射线方法执行从输入多面体模型到其等效体素模型的考虑一个轴对齐的盒状空间,它紧紧地包围着给定的模型。 使用具有相等间隔的均匀轴对齐空间网格细分空间。网格被投影到xy平面上。从每个投影的网格点,沿着z轴方向延伸向上的射线,并且计算射线与给定多面体模型的表面的交点根据交点的z坐标对交点进行排序,得到射线上与物体内部相对应的一组线段选择位于片段上的空间网格点作为内部体素的中心点。以类似的方式执行具有外部体素的模型的计算在这种情况下,包围多面体模型的框通过向外移动框的六个矩形表面而被扩展D(框的最大轴的与具有内部体素的模型的情况一样,生成垂直射线,并计算射线与表面多边形的交点。 基于所获得的点,导出对应于对象的外部部分的段。位于片段上的网格点对应于外部体素的中心点。空间网格的分辨率被确定为使得所生成的内部(外部)体素的总数接近预定数量m。在当前的实现中,m被设置为8000万,接近我们的计算环境中允许的最大体素数量。实现了一种将多面体模型转换为相应体素模型的并行算法。基于该算法的程序可以在不到5s的时间内将一个具有200万个多边形的复杂为了准备适合所提出的方法的数据,输入模型的表面多边形根据它们的接近程度被分成小组。这种分类是通过使用AABB树进行的,即,盒子的层次结构[8]。考虑形成模型表面的n个三角形多边形。定义一个包含给定模型的所有三角形多边形的根AABB。AABB中的多边形沿着平行于其最长轴的直线排序然后,两个子AABB由第一个n=2排序的多边形和剩余的多边形形成迭代定义子AABB的过程,得到二叉AABB树。 当树的所有叶AABB仅包含nmax或更少的多边形时,树构造过程终止,其中nmax是每个叶AABB所允许的多边形的最大数量。在我们的实现中,我们根据数值实验设置nmax4。每个叶AABB保留其中的多边形的数量以及多边形的几何数据(顶点的坐标)。4.2. 剔除不必要的距离计算距离场构造的基本过程是计算体素中心与物体表面多边形之间的距离计算成本可以是M. Inui等人/计算设计与工程学报2(2015)183187图3.第三章。在AABB树中的层中进行剔除操作见图4。 空间相干性的多边形为关闭体素。通过使用层次AABB树约简遍历树从根节点到叶节点以广度优先的方式。在每一层中执行以下剔 除操 作 假设 在如 图3 所示 的层 中找 到n个 边界框(BBox 0; BBox 1;.; BBox n - 1)。这里,di表示体素中心v与BBoxi的表面上的点之间的最短距离,而 Di表示v与BBoxi上的点之间的最长距离。由于BBoxi中的多边形以Box为边界,因此v与BBoxi中任何多边形之间的距离必须大于di且小于Di。选择其值Dmin在Di值中最小的 框BBoxmin如果di大于Dmin,则v与BBoxi内任何多边形之间的距离必须大于v与BBoxmin内任何多边形之间的距离;因此,在距离场构造中可以忽略BBoxi图图3显示了在广度优先AABB树遍历过程中,在某个层中发现了四个边界框。此外,BBox2的D2是D0、D1、D2和D3中最小的。由于d0和d3大于D2,BBox0和BBox3内的多边形与v的最短距离无关,可以从以下计算中排除。在广度优先树遍历的下一层中,在剔除操作中仅评估BBox1和BBox2的子边界框4.3. 使用GPU进行在AABB树遍历过程中的剔除操作之后,在树的叶节点处获得一些AABB。这些AABB包围了足够接近给定点v的多边形。点-多边形距离计算最终应用于这些获得的AABB和v内的多边形。使用GPU以并行方式计算v与多边形之间的距离GPU由芯片上的数百个小型流处理器(SP)组成。GPU加速背后的主要因素是将循环中函数的迭代执行替换为SP上等效线程的并行执行CUDA旨在为C程序中的线程提供并行执行框架[9]。为了正确管理线程,CUDA提供了网格和块结构。块是一个一维、二维或三维线程数组。单个块中的最大线程数必须小于或等于512。网格是块的1D或2D阵列结构每个维度的块总数必须小于GPU使用的数据必须在CPU的主内存中初始化,并传输到GPU的全局内存(设备内存)存储在全局存储器中的数据可以八个SP构成流式多处理器或SM(最近的GPU架构在单个SM中具有更多SP)。每个SM对应于一个线程块,并且同一块中的线程由与该块对应的单个SM中的SP执行。SM包括共享存储器,其是仅可由相同SM中的SP访问的特殊“全局“存储器。由于SM中的SP与块中的线程之间的对应关系,同一块中的线程可以将共享内存用作全局内存。由于共享内存的数据访问速度快,有效地使用共享内存是实现高性能CUDA程序的关键。4.4. 空间一致性在GPU计算中,多边形的几何数据存储在全局存储器中。全局存储器的数据访问速度比GPU的计算速度慢得多;因此,SP的算术单元必须暂停处理,直到所需的几何数据完全从全局存储器传输到SP的寄存器这种速度限制可以通过使用快速共享内存机制来克服。在距离场计算中,同一叶AABB中的多边形通常被选择用于非常接近的体素。图4显示了这一特性。在此图中,v0和v1是两个相邻体素的中心点。由于它们在体素模型中的接近性,接近v0的多边形通常也接近v1。在AABB树遍历之后,获得BBox0、BBox1、BBox2和BBox3作为足够接近v0的叶AABB,并且获得BBox1、BBox2、BBox3和BBox4作为足够接近v1的叶AABB。由于BBox1、BBox2和BBox3接近v0和v1,因此这3个AABB中的多边形数据可以由用于计算v0的距离的线程和用于计算v1的距离的其他线程共享。通过在距离计算之前将这些多边形的数据从全局存储器传输到共享存储器,并通过使用共享存储器中的数据进行计算,可以实现性能的显著提高。188M. Inui等人/计算设计与工程学报2(2015)183~~ð¼~~ð ÞðÞð Þ使用共享内存的实际实现如下。 通过使用体素模型的网格结构,获得具有8 8 8分辨率的体素簇作为紧密邻近的体素。我们的并行距离计算软件得出这些512 8 8 8体素的距离同时。定义了一个轴对齐的立方体,该立方体紧密地约束这些体素。 这个立方体不是一个点,而是用于检索叶子AABB,这些叶子AABB包围了足够接近体素的多边形。为了使用立方体剔除AABB,需要计算立方体和AABB之间的最短距离和最长距离如图5所示,立方体和AABB之间的最短距离d通过使用它们在每个轴方向上的间隙距离来计算。最大距离D对应于包围立方体和AABB的轴对齐框的最长对角线长度。在前一节中解释的相同AABB剔除规则适用于AABB树遍历,除了它涉及使用体素簇的立方体而不是点。立方体和AABB之间的新的最短和最长距离度量用于选择要剔除的AABB在剔除操作之后,获得包围足够接近512个体素的集群的多边形的CUDA程序被定义为计算这512个体素相对于所获得的叶AABB中的多边形的最短距离在我们的软件中,为每个叶AABB定义了一个线程块,并且块中的每个线程被定义为计算集群中的体素中心与对应于该块的叶AABB中的多边形之间的最短距离(见图2)。 6)。对于这些块和线程定义,同一块中的所有线程计算相对于同一AABB中的多边形的距离;因此,它们可以在处理操作期间共享多边形数据将这些多边形数据从全局存储器复制到与该块对应的SM的共享存储器,以实现距离计算中的快速数据访问。5. 距离场的厚度/间隙可视化在我们的方法中,通过使用距离场来可视化3D对象的厚度/间隙。使用以下三步算法实现可视化:步骤1:生成完全覆盖物体可见表面的密集点。图五.两个轴对齐框之间的最短距离d和最长距离D。见图6。 块和线程的定义。步骤2:对于可见表面上的每个点,通过使用修改的射线投射方法计算该点处的厚度/间隙值。第三步:根据厚度/间隙值为每个点绘制唯一的颜色,完成可视化。每个步骤的详细信息以及使用内部体素距离场进行厚度可视化的示例见以下小节相同的算法适用于间隙可视化。5.1. 可见曲面密集覆盖对象可见表面的点可以基于视锥的信息生成,用于将3D形状投影到二维(2D)帧缓冲器上[42]。投影是用于将3D对象的x;y;z坐标变换成2Di;j坐标的过程,其中i和j表示帧缓冲器中的像素位置视见平截头体表示可能出现在显示器上的建模域中的空间的棱柱区域投影的局部坐标系与视见平截头体相关联地定义其原点与眼睛位置重合,并且其x轴和y轴相对于显示器的水平方向和垂直方向对准。z轴被定向为使得其负方向与观看方向相同。在以下说明中,假设在绘制处理中使用正交投影。我们的点生成概念不仅限于正交投影;它也适用于具有小修改的透视投影。考虑在渲染已消除对象的隐藏表面的图像之后的帧缓冲区对于帧缓冲区中的每个像素,在对象的可见表面上生成一个点。基于像素位置i; j、显示器的分辨率以及视见平截头体的左、右、顶部和底部剪切平面信息来计算局部坐标框架中的点的x和y坐标。 z坐标由像素的深度值以及截头体的近剪切平面和远剪切平面信息确定。所获得的投影坐标系中的坐标可以是M. Inui等人/计算设计与工程学报2(2015)183189ðÞðÞ通过简单的矩阵运算将其转换为建模域中的坐标在我们的厚度/间隙计算方法中(将在下一小节中解释),在可见点处需要表面法向量。对于每个表面多边形,分配24位的唯一标识号在渲染之前,多边形的法向量与其标识号相关联地被记录。在渲染操作中,每个多边形都被涂上了与其标识号对应的唯一颜色这种颜色是通过将24位标识号识别为一系列三个8位数字来生成的,这些数字表示颜色的红色、绿色和蓝色分量 在渲染之后,从帧缓冲器获得每个像素的r;g;b信息。其对应的标识号由从r;g;b到24位数的简单逆运算确定。通过使用标识号作为关键字检索记录的法向量,获得与像素对应的可见点处的法向量。5.2. 距离场中的最大内接球考虑在点p处接触可见表面的最大内接球的确定。球体的直径对应于球体方法中p图7示出了对象的内部体素的距离场。为简单起见,图中的距离表示为整数值实际值为浮动点数。从p点沿与p点处曲面法线相反的方向投射一条射线。在点p处与曲面接触的球的中心点必须位于射线上。距离值以一定的间隔沿射线采样在每个采样位置处,通过在该位置周围的体素处的距离值此值表示其中心点位于该位置的内接球体的半径。如果位置足够接近p,则所获得的球体在p处接触物体表面。随着采样点移动到对象中,距离值增加,可以定义更大的内接球体。当采样位置到达物体的中轴时,获得在p处接触表面的最大内接球在通过中轴之后,采样位置处的距离值开始减小。因此,通过追踪距离场中的射线以检测距离的第一个峰值,可以确定在p处接触表面的最大内接球在曲面点处的间隙计算中,从该点沿着曲面法线方向投射射线。它是在距离场中用外部体素追踪的,以检测场中的第一个峰值所获得的距离值对应于在该点处接触表面的最大外接球的半径。我们将上述球面确定方法称为改进的射线投射。此方法通常返回合理的厚度/间隙值;但是,它不是一个完美的策略。图第8章一个例外考虑一个垂直的突起(图中显示的是截面)。从顶部的点p沿着负z轴方向投射光线在这种情况下,距离值在射线通过中轴之后继续增加在通过中轴线后,导出的球面在点p处不与曲面接触,如图所示。8.第八条。为了拒绝这类案件,必须有终止追查的附加条件见图7。 改进的光线投射方法。见图9。间隙可视化中光线投射附加终止条件的要求。见图8。 光线投射附加终止条件的必要性。见图10。用于计算接触凹边e的球体半径的射线的投射方向。190M. Inui等人/计算设计与工程学报2(2015)183-由于球体必须接触起始点p,因此射线上采样点处的距离值必须等于采样点与p之间的距离dist。如果dist变得大于采样位置处的距离值,则光线已经通过中轴,并且跟踪操作必须终止。在间隙可视化中,从表面点沿着该点处的法向量方向投射射线对于一些表面点,例如,图9.第九条。如图所示,沿着垂直射线从p开始的距离值只是增加,直到它到达距离场的边界为了解决这种情况,我们进一步修改光线投射算法。当该值变得大于D ε时,间隙可视化中的局部峰值检测过程终止,其中ε对应于单元尺寸。D是在从输入多面体模型到具有外部体素的单元分解模型的转换过程中定义的轴对齐框的扩展大小见图11。 改进以减少厚度计算时间。见图12。 简单模型的厚度可视化结果。M. Inui等人/计算设计与工程学报2(2015)183191图十三. 样品零件的厚度可视化结果。见图14。 样品E由于射线距表面点的投射距离受到间隙可视化中的值D的限制,因此对于位于距表面点比D更远的外部体素的距离计算是不可能的。物体表面在构造距离场时是不必要的 在使用AABB树的剔除操作中,我们已经在4.2节和4.4节中解释了,我们引入了一个额外的192M. Inui等人/计算设计与工程学报2(2015)183þ外部体素距离计算专用条件。在AABB树的宽度优先遍历中的每一层中,计算包围体素簇的立方体与该层中的所有AABB之间的最短距离 如果立方体和AABB之间的距离大于D,则在立方体中的外部体素的距离计算中可以忽略AABB中的多边形,因为它们对间隙可视化结果没有贡献。这种新的剔除条件有效地降低了外部体素距离场的计算成本所提出的可视化算法有一个局限性。在厚度可视化的情况下,最大内接球可以接触L形物体的凹边e(如图11所示)。 10)。这个球体(图中的球体S)的直径比与其相邻多边形接触的其他球体稍因此,沿e的厚度变得大于多边形的厚度因为我们目前的方法在与表面法线相反的方向上投射射线,所以它不能沿着e导出更大的厚度值,其中不能获得表面法线。为了克服这个限制,我们必须改进我们的算法,使其可以从这样的凹边上的一个点投射光线。这条射线的方向的一个很好的候选者是边缘的两个相邻多边形的角的平分线(见图2)。 10)。5.3. 性能改进由于每个表面点的厚度计算是相互独立的,因此使用GPU的并行处理能力是提高可视化性能的自然选择。在这里,我们开发了另一种机制,提高可视化性能。可视化中最耗时的任务是搜索光线投射中的局部峰值(见图1)。 11(a))。每当观察位置和方向发生变化时,都需要执行此任务为了实现更快的厚度可视化,我们修改了距离场的定义。在原始定义中,每个体素记录到最近边界多边形的距离值除了有distance valued,另一个值在voxel和中 轴 记 录 在 足 够 接 近 物 体 表 面 的 体 素 中 ( 见 图 11(b))。一旦这样的信息被记录在单元中,来自表面点p的射线投射操作可以在表面附近的这样的体素处快速终止,并且它可以返回d0 在p处接触表面的最大内接球的半径。在计算距离场之后,选择足够接近物体表面的体素在当前的实现中,距离值小于10%的体素可以被称为像素。表1厚度可视化距离场构建所需时间。模型多边形数分辨率内部体素数体素化时间DF计算时间A 17,970 1238~ 1122~ 993 82,181,034 1.28 44.50B 197,450 1265~ 1263~ 397 81,638,305 1.48 55.94C 86,686 986~ 812~ 593 81,280,879 1.18 68.44D 1,708,000 470~ 2249~ 1363 82,832,480 3.21 84.58E 1,972,196 1007~ 1053~ 691 81,005,288 3.98 104.59图15. 样品零件的间隙可视化结果。M. Inui等人/计算设计与工程学报2(2015)183193þþ表2距离场构建所需的时间,以便进行间隙可视化。修改后的射线投射程序,具有第5.3中描述的改进体素,显示图片所需的时间型号多边形分辨率外部体素体素化时间(s)DF 计 算 时间(s)小于200 ms的体素,这对于以接近交互速率从各个方向和位置观察厚度来说足够短表1列出了计算样本模型内部体素的距离场(DF)所需的时间如表中所示,在具有近8000万体素的均匀分辨率的情况下,距离场的计算在几分钟内完成,速度非常快E1,972,196 471~ 487~ 362 79,567,659 1.52 876.26最大厚度被假定为接近物体表面。对于每个选定体素的中心点,应用修改的射线投射操作来检测沿射线的距离场中的局部峰值。获得的距离值减去原始值存储在对应于该值的语音中0在体素和中轴之间。该额外的距离信息被记录在体素中,以实现未来的快速可视化。光线方向必须在修改后的光线投射操作中指定在计算距离场时,可以检测到与每个体素最近的多边形。 最近多边形的表面法线n的负方向成为体素的射线方向,如图所示。 十一岁6. 计算实验分别使用Microsoft Visual C和CUDA 6.5实现了距离场计算系统和厚度/间隙可视化系统。在我们的计算实验中,使用了 具 有 Intel Core i7 4.0 GHz CPU 、 32 GB 主 存 储 器 和nVIDIA GTX-980的Windows 8.1 64位PC图12示出了在粗糙镶嵌中立方体和球体的厚度评估结果。在距离场计算之前,将模型转换为其等效体素表示。体素模型的分辨率被确定为使得内部体素的总数接近8000万。在图12中,红色指定为零厚度,蓝色指定为最大厚度。获得了模型的预期厚度可视化结果。如前所述(图1(b)),沿着立方体和球体的边缘提取具有小内切球的较薄区域(红色区域)。图13示出了通过将我们的系统的体素应用于相当复杂的样本模型而获得的结果。 在髋臼杯模型(图13中的样本模型A)的可视化结果中,在手柄连接髋臼杯的髋臼杯内壁中提取了两个蓝色区域(较厚区域)。如图1(a)所示,这样的连接部分可以体素包含比其相邻壁部分更大的球体在塑料杯的注射成型中,这样的连接部分被称为包含缩痕的典型区域,因为较厚的体素区域比薄壁收缩得更多。通过使用厚度体素可视化,设计者可以在早期形状设计阶段检测可能的缩痕 图图14示出了图14中所示的样品部分E的特写视图。 13岁实现了非常精细和为了显示图片,使用768~ 768像素的窗口通过使用用于实际应用。我们在相同的条件下使用基于我们以前的方法[13]的系统执行距离场计算。新方法的性能最多比我们以前的方法好10%,特别是对于计算具有近200万个多边形的复杂模型(样本模型D和E)的距离场。图15示出了间隙可视化结果的一些示例。这里,红色被分配给零间隙,蓝色被分配给间隙D,其对应于为多面体模型到体素模型的转换而定义的边界框的扩展值如图所示,样品B中叶轮叶片之间的狭窄区域、样品D中肋之间的狭窄区域以及样品E中的拐角区域如预期的那样被涂成红色。表2列出了计算间隙可视化距离场所需的时间。尽管外部体素的距离计算比内部体素的距离计算需要更多的时间,但对于实际应用来说,它是足够快7. 结论提出了一种基于距离场的厚度/间隙可视化算法我们的方法通过使用密集覆盖对象的可见表面的点来可视化对于每个点,计算在该点处接触表面的最大内接或外切球体,并使用与厚度/间隙值对应的唯一颜色对其进行着色最大接触球的半径由我们的改进的光线投射算法与距离场确定在此基础上,提出了一些提高绘制速度的方法通过使用改进的方法,实现了近交互速率的厚度/间隙可视化。此外,还开发了一种基于GPU的三维实体模型距离场并行计算方法该算法速度快、精度高,适用于多边形多、体素高的复杂模型在距离场的构造中,需要多次计算点到模型表面多边形的最短距离通常选择相似的多边形集合作为用于紧密体素的紧密多边形利用这种空间一致性,提出的并行算法被设计用于计算一簇紧密体素与通过分层AABB树剔除操作选择的多边形之间的距离利益冲突没有人申报。A 17,970 469~ 437~ 400 79,858,211 0.4559.57B197,450 554~ 553~ 271 79,916,355 0.58153.37C86,686 518~ 450~ 364 79,553,466 0.5381.83D1,708,000 269~ 652~ 462 79,904,943 0.74794.26194M. Inui等人/计算设计与工程学报2(2015)183引用[1] Beiter KA , Ishii K. 预 测 塑 件 缩 痕 的 几 何 指 标 。 技 术 报 告 :ERC/NSM-P-91-61,哥伦布(OH):俄亥俄州立大学净形制造工程研究中心; 1991年; 140页。[2] 科克斯湾压铸部件:有助于高效设计。伦敦:发展协会锌; 1983年。[3] 辛哈湾铸件优化设计的有效壁厚分析方法[互联网],孟买(印度);2007年。可查阅:http://www.example.comgeomcaliper.geometricglobal.com/images/file/EfficientWallThicknessAnalysis_GeomCaliper.pdf[2007年引用]。[4] SOLIDWORKS [Internet],Waltham(MA); 2015.可从以下网站获得:www.solidworks.com/[引用日期:2015年1月22日]。[5] Dassault Systemes [Internet]. Velizy-Villacillay,法国; 2015.可从以下网站获得:http://www.3ds.com/[引用日期:2015年1月22日]。[6] GlobalAutoRegs [Internet]. 联合国条例; 2015. 可从以下网址获得:http://www.globalautoregs.com/unece[引用日期:2015年4月13日]。[7] 日本汽车标准国际化中心(JASIC)[互联网]; 2014年。可从以下网站获得:http://www.jasic.org/e/index_e.htm[引用日期:2014年9月27日]。[8] 放大图片作者:J. 实时渲染。 Natick(MA):A K Peters; 1999.[9] nVIDIA。CUDA计算统一设备架构编程指南[Internet],Santa Clara(CA); 2007。可从以下网址获得:http://developer。download.nvidia.com/compute/cuda/1_0/NVIDIA_C
下载后可阅读完整内容,剩余1页未读,立即下载
![kdh](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)