一种基于体素划分的网页端三角面片模型动态更新方法技术

技术编号:36299631 阅读:56 留言:0更新日期:2023-01-13 10:15
本发明专利技术公开了一种基于体素划分的网页端三角面片模型动态更新方法,包括步骤:体素划分及编码;三角面片编码;通过体素编码和三角面片编码确定体素与三角面片的位置关系进行三角面片切分,所述切分后三角面片均包含在一个体素中;根据刀轨前瞻筛选出即将被切削到的体素,根据体素和三角面片编码建立哈希桶状数据结构;根据边缘端仿真实时传回的刀具位置信息,筛选与刀具相交的体素,网页端读取所述相交的体素的编码,删除哈希桶中对应节点下的所有三角面片;根据边缘端仿真得到刀具切削后的新生成的三角面片,编码并存储到哈希桶节点下;渲染显示更新后的三角面片,实现网页端几何仿真。该方法能够实现网页端切削仿真时工件模型的高效更新。模型的高效更新。模型的高效更新。

【技术实现步骤摘要】
一种基于体素划分的网页端三角面片模型动态更新方法


[0001]本专利技术属于智能制造数控加工领域,涉及切削仿真方法,具体涉及一种基于体素划分的网页端三角面片模型动态更新方法。

技术介绍

[0002]精确高效的切削仿真方法一直是智能数控加工的核心关键技术之一,也是国内相关工业软件的核心需求。实时在线切削仿真在传统离线仿真的基础上对效率和精度提出了更高的要求。
[0003]实时仿真对计算机的CPU、显卡、内存都有较高的要求,因此绝大多数的仿真过程都需要依赖本地的高性能计算机进行仿真计算以及渲染显示,这意味着仿真结果只有现场人员才能看到。然而,数控加工智能化发展需要实现远程仿真,即非本地计算机也能够实时观测到加工仿真情况,因此将仿真过程抬上云端便成为智能化的关键。中国专利技术专利申请CN201811146285.4公开了一种面向加工实时监控的切削仿真实现方法,使用二叉树的数据结构,改进了模型的存储与搜索方式,但是仍局限于本地仿真。中国专利技术专利申请CN202110899400.0公开了一种基于VBO的切削加工过程高效几何仿真方法,很大程度上解决了在线几何仿真的效率问题,为云端仿真打下基础,但是没有实现网页端的模型更新。尽管本地仿真运算的精度、效率得到保障,要实现云端仿真,数据的传输效率以及网页端的渲染显示效率仍存在问题。倘若直接将本地仿真的每一帧模型结果上传给云端再进行渲染显示,不仅需要极大的网络带宽,对于普通用户的计算机来说必然造成卡顿甚至页面的崩溃。
[0004]综上,现有的实时在线仿真方法都仅限于本地,无法实现异地多机同时查看仿真过程,并且现有的几何仿真方法尚存在数据占用空间大、传输效率低等问题。为了实现网页端实时仿真,亟需对模型数据的存储方式、边云数据传递方式、网页端模型渲染方式进行优化设计,以满足实时高效的需求。

技术实现思路

[0005]在上述背景下,本专利技术提供一种基于体素划分的网页端三角面片模型动态更新方法。通过体素前瞻与三角面片预编码,将工件模型动态划分,针对三角面片模型数据的高效增删改查进行方法设计,实现网页端切削仿真时工件模型的高效更新。本专利技术采用如下技术方案:
[0006]一种基于体素划分的网页端三角面片模型动态更新方法,包括以下步骤:
[0007]S1,体素划分及编码:将毛坯三维模型进行体素划分,对每一个体素进行编码;
[0008]S2,三角面片编码:读入毛坯三角面片模型,对所述三角面片进行编码;
[0009]S3,三角面片切分:通过体素编码和三角面片编码确定体素与三角面片的位置关系,若三角面片完全包含在一个体素内,不需要被切分;否则,将跨体素的三角面片沿体素边界切分,得到切分后三角面片,所述切分后三角面片均包含在一个体素中;
[0010]S4,准备数据:根据刀轨前瞻筛选出即将被切削到的体素,以每个所述即将被切削
到的体素的编码为节点,节点中放置存有三角面片编码的链表,建立哈希桶状数据结构;
[0011]S5,三角面片动态更新:根据边缘端仿真实时传回的刀具位置信息,筛选与刀具相交的体素,网页端读取所述相交的体素的编码,删除哈希桶中对应节点下的所有三角面片;根据边缘端仿真得到刀具切削后的新生成的三角面片,对所述新生成的三角面片编码并存储到哈希桶节点下;
[0012]S6,可视化渲染:渲染显示更新后的三角面片,实现网页端几何仿真。
[0013]进一步,所述步骤S1具体为:
[0014]将毛坯三维模型划分为若干体素,每一个体素根据其在x、y、z三个方向上排列的网格个数进行21位二进制编码,获得唯一vID编码:
[0015]vID=x*2
14
+y*27+z
[0016]其中,x、y、z表示体素在三维方向上排列的网格个数。
[0017]进一步,所述步骤S2包括以下子步骤:
[0018]S2.1,三角面片顶点编码,三角面片顶点坐标为x
m
、y
m
、z
m
,体素边长为l,该顶点的编码即其所在体素的编码,通过下式计算:
[0019]vID=i*2
14
+j*27+k
[0020]其中,
[0021]i=x
m
/l
[0022]j=y
m
/l
[0023]k=z
m
/l
[0024]“/”为整除符号,即在对符号左右两边做除法运算后只取整数部分;
[0025]S2.2,三角面片编码,将三角面片的三个顶点的编码整合在一起,得到mID编码:
[0026]mIDD=i1*2
56
+j1*2
49
+k1*2
42
+i2*2
35
+j2*2
28
[0027]+k2*2
21
+i3*2
14
+j3*27+k3[0028]或
[0029]mID=vID1*2
42
+vID2*2
21
+vID3[0030]其中,x、y、z表示顶点所在体素在三维方向上的排序;下标1、2、3表示三角面片中的第1、2、3个顶点。
[0031]进一步,所述步骤S3包括以下子步骤:
[0032]S3.1,体素平面排序,每个体素由六个平面围成,将六个平面按顺序编号;
[0033]S3.2,体素平面与三角面片求交,将三角面片顶点坐标代入平面方程判断顶点与平面的位置关系:若三个顶点均在平面同一侧,则该三角面片不与平面相交;若顶点处于平面两侧,则计算出三角面片与平面的两个交点;按照顺序编号依序判断六个平面;
[0034]S3.3,将顶点处于平面两侧的三角面片,按德劳内法则切割得到新的三角面片;对所有三角面片重新编码,生成对应的mID。
[0035]进一步,所述步骤S4包括以下子步骤:
[0036]S4.1,三角面片数据存储,以每个体素的vID为节点,节点中放置存有三角面片数据的链表,建立哈希桶状数据结构;
[0037]S4.2,建立数据缓冲区,将边缘端传回的数据存入数据缓冲区。
[0038]进一步,所述步骤S5包括以下子步骤:
[0039]S5.1,删除指定体素内的三角面片:根据边缘端仿真实时传回的刀具位置信息,判断与刀具相交的体素,将所述相交的体素的vID传输给网页端,存放在数据缓冲区内;网页端读取这些vID,在哈希桶内删除对应节点下的所有三角面片;
[0040]S5.2,增添新生成的三角面片:根据边缘端仿真运算得到刀具切削后的局部三角面片,将所述局部三角面片传输到缓冲区,分别对所述局部三角面片编码并存储到对应vID的哈希桶节点下。
[0041]进一步,所述步骤S6,采用Threejs渲染显示更新后的三角面片。
[0042]高精度的切削仿真往往需要较为庞大的算力支持,现有的几何仿真方法通常使用本地计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于体素划分的网页端三角面片模型动态更新方法,其特征在于,包括以下步骤:S1,体素划分及编码:将毛坯三维模型进行体素划分,对每一个体素进行编码;S2,三角面片编码:读入毛坯三角面片模型,对所述三角面片进行编码;S3,三角面片切分:通过体素编码和三角面片编码确定体素与三角面片的位置关系,若三角面片完全包含在一个体素内,不需要被切分;否则,将跨体素的三角面片沿体素边界切分,得到切分后三角面片,所述切分后三角面片均包含在一个体素中;S4,准备数据:根据刀轨前瞻筛选出即将被切削到的体素,以每个所述即将被切削到的体素的编码为节点,节点中放置存有三角面片编码的链表,建立哈希桶状数据结构;S5,三角面片动态更新:根据边缘端仿真实时传回的刀具位置信息,筛选与刀具相交的体素,网页端读取所述相交的体素的编码,删除哈希桶中对应节点下的所有三角面片;根据边缘端仿真得到刀具切削后的新生成的三角面片,对所述新生成的三角面片编码并存储到哈希桶节点下;S6,可视化渲染:渲染显示更新后的三角面片,实现网页端几何仿真。2.根据权利要求1所述的方法,其特征在于,所述步骤S1具体为:将毛坯三维模型划分为若干体素,每一个体素根据其在x、y、z三个方向上排列的网格个数进行21位二进制编码,获得唯一vID编码:vID=x*2
14
+y*27+z其中,x、y、z表示体素在三维方向上排列的网格个数。3.根据权利要求2所述的方法,其特征在于,所述步骤S2包括以下子步骤:S2.1,三角面片顶点编码,三角面片顶点坐标为x
m
、y
m
、z
m
,体素边长为l,该顶点的编码即其所在体素的编码,通过下式计算:vID=i*2
14
+j*27+k其中,i=x
m
/lj=y
m
/lk=z
m
/l“/”为整除符号,即在对符号左右两边做除法运算后只取整数部分;S2.2,三角面片编码,将三角面片的三个顶点的编码整合在一起,得到mID编码:mID=i1*2...

【专利技术属性】
技术研发人员:肖文磊赵辰邱天泽
申请(专利权)人:北京航空航天大学江西研究院景德镇分院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1