利索能及
我要发布
收藏
专利号: 2023111189425
申请人: 山东捷瑞数字科技股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于三维引擎一键安装四边体模型的方法,其特征在于,包括以下步骤:

S1、导入所有物体模型到三维引擎中,保留其所有点的空间位置信息;

S2、利用for循环选出所有物体模型中的任意一个面,系统将基于用户自定义的横切线数M和纵切线数N,通过执行以下方法,得到所述面上每个四边体的中心点:S21、将选中面的四个点打入数组中,用sort函数沿y轴将四个点从上到下依次排列,则上面两个点数小,下面两个点数大;

S22、使所述面的四个点的点序号按照顺时针或逆时针依次增大的顺序进行排列,求出所述面的宽度Y和高度H;

S23、将下面两个点连线的法线沿其连线方向指向两点;将连线两端分别沿其法线向内收缩四边体宽度的一半即(Y/N)/2,得到线段D;

S24、将线段D向上移动四边体高度的一半即(H/M)/2,利用copy函数以H/M为间隔距离向上复制M条线段D,即在所述面上得到M+1条线段D;

S25、基于自定义的纵切线数N,确定每条线段D上所对应的四边体中心点数量为N+2‑1;

S26、采用add函数保留所有线段D的所有点,即对应于所述面上每个四边体的中心点;

S3、创建单个四边体模型并将其赋予所求出的中心点上。

2.如权利要求1所述的一种基于三维引擎一键安装四边体模型的方法,其特征在于,所述S2中的S22,使所述面的四个点的点序号按照顺时针或逆时针依次增大的顺序进行排列,求出所述面的宽度Y和高度H,具体做法为:用point函数【point(0,"P", @ptnum)】取上面两点中任意一点的点序号为P;用distance函数【distance(P, @ptnum)】让点P分别搜索下面两点,将返回的距离值储存到点P上;用add函数将点P与下面两点分别相连,用setpoint函数【setpointattrib(P, "distance", "set")】将返回距离值大的端点的点序号设置为P+2,返回距离值小的端点的点序号设置为P+3;

通过点P+2和点P+3的连线求出所述面的宽度Y,通过点P和点P+3的连线求出所述面的高度H。

3.如权利要求1所述的一种基于三维引擎一键安装四边体模型的方法,其特征在于,所述S2中的S22,使所述面的四个点的点序号按照顺时针或逆时针依次增大的顺序进行排列,求出所述面的宽度Y和高度H,具体做法为:用point函数【point(0, "P", 0)、point(0, "P", 2)、point(0, "P", 3)】获取其中三个点P0、P2、P3的位置信息;再用distance函数【distance(p0, p2)、distance(p0, p3)】求出点P0和点P2之间连线A1、点P0和点P3之间连线B1的距离;通过比较连线A1和连线B1的大小判断点序号排列是否符合预期:若连线A1大于连线B1,则保持点序号P2、P3位置不变;若连线A1小于连线B1,则利用setpoint函数【setpointattrib(0, "sort", 2, 3, "set")、setpointattrib(0, "sort", 3, 2, "set")】重新定义P2、P3的点序号,将P2改为P3,P3改为P2;

通过点P0和点P1的连线求出所述面的宽度Y,通过点P0和点P3的连线求出所述面的高度H。

4.如权利要求1所述的一种基于三维引擎一键安装四边体模型的方法,其特征在于,所述S3具体包括:S31、创建高度为H/M、宽度为Y/N的单个四边体模型,使其法线方向为y轴的正方向;

S32、利用copy函数将单个四边体模型赋予到S2求出的每个中心点上;

S33、退出for循环,完成所有物体模型的所有四边体的一键安装。

5.一种用以实施权利要求1‑4任一项所述方法的基于三维引擎一键安装四边体模型的装置,其特征在于,包括:模型导入模块,用以导入所有物体模型到三维引擎中,保留其所有点的空间位置信息;

中心点获取模块,用以利用for循环选出所有物体模型中的任意一个面,并基于用户自定义的横切线数M和纵切线数N,通过执行中心点获取方法得到所述面上每个四边体的中心点;

四边体赋予模块,用以创建单个四边体模型并将其赋予所求出的中心点上。

6.一种计算机设备,包括处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行权利要求1‑4任一项所述的基于三维引擎一键安装四边体模型的方法的步骤。