CN116883618A - 基于三维引擎一键安装四边体模型的方法、装置及设备 - Google Patents
基于三维引擎一键安装四边体模型的方法、装置及设备 Download PDFInfo
- Publication number
- CN116883618A CN116883618A CN202311118942.5A CN202311118942A CN116883618A CN 116883618 A CN116883618 A CN 116883618A CN 202311118942 A CN202311118942 A CN 202311118942A CN 116883618 A CN116883618 A CN 116883618A
- Authority
- CN
- China
- Prior art keywords
- point
- points
- line
- model
- quadrilateral
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000009434 installation Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 64
- 238000004891 communication Methods 0.000 claims description 2
- 238000012800 visualization Methods 0.000 abstract description 2
- 239000011521 glass Substances 0.000 description 45
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于三维引擎一键安装四边体模型的方法、装置及设备,属于三维可视化技术领域,所述的方法包括以下步骤:S1、导入所有物体模型到三维引擎中;S2、利用for循环选出所有物体模型中的任意一个面,系统将基于用户自定义的横切线数M和纵切线数N,通过执行中心点获取方法得到所述面上每个四边体的中心点;S3、创建单个四边体模型并将其赋予所求出的中心点上。本发明解决了目前行业中制作简模到精模的麻烦操作,省时省力,高效快速的实现了三维场景内四边体模型的快速安装建模。
Description
技术领域
本发明涉及一种基于三维引擎一键安装四边体模型的方法、装置及设备,属于三维可视化技术领域。
背景技术
随着市场对于三维模型的需求量日益增加,很多三维模型创建的时候都只是简模示意(如图4),到了渲染环节的时候再通过对模型进行细化处理,从而渲染出最终的真实模型(如图5)。
对于涉及到带有外墙玻璃的大场景建筑群体模型,在渲染时一个重要的工作是对每栋楼不同墙体表面的玻璃或幕墙进行布置安装。目前传统的玻璃幕墙安装方法是由人工对每栋楼的每行每列玻璃通过手动的方式去逐一摆放,效率低下且浪费人力物力。
鉴于以上,行业中亟需一种简易且高效的四边体模型一键批量安装方法。
发明内容
为了解决上述问题,本发明提出了一种基于三维引擎一键安装四边体模型的方法、装置及设备,该方法能够高效快速的对简模所涉及的四边体实现一键批量安装。
在本发明的实施例中,提供了一种基于三维引擎一键安装四边体模型的方法,包括以下步骤:
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、创建单个四边体模型并将其赋予所求出的中心点上。
进一步地,所述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。
进一步地,所述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。
进一步地,所述S3的具体步骤包括:
S31、创建高度为H/M、宽度为Y/N的单个四边体模型,使其法线方向为y轴的正方向;
S32、利用copy函数将单个四边体模型赋予到S2求出的每个中心点上;
S33、退出for循环,完成所有物体模型的所有四边体的一键安装。
在本发明的实施例中,提供了一种基于三维引擎一键安装四边体模型的装置,包括:
模型导入模块,用以导入所有物体模型到三维引擎中,保留其所有点的空间位置信息;
中心点获取模块,用以利用for循环选出所有物体模型中的任意一个面,并基于用户自定义的横切线数M和纵切线数N,通过执行中心点获取方法得到所述面上每个四边体的中心点;
四边体赋予模块,用以创建单个四边体模型并将其赋予所求出的中心点上。
所述中心点获取模块,所执行的中心点获取方法,包括:
将选中面的四个点打入数组中,用sort函数沿y轴将四个点从上到下依次排列,则上面两个点数小,下面两个点数大;
使所述面的四个点的点序号按照顺时针或逆时针依次增大的顺序进行排列,求出所述面的宽度Y和高度H;
将下面两个点连线的法线沿其连线方向指向两点;将连线两端分别沿其法线向内收缩四边体宽度的一半即(Y/N)/2,得到线段D;
将线段D向上移动四边体高度的一半即(H/M)/2,利用copy函数以H/M为间隔距离向上复制M条线段D,即在所述面上得到M+1条线段D;
基于自定义的纵切线数N,确定每条线段D上所对应的四边体中心点数量为N+2-1;
采用add函数保留所有线段D的所有点,即对应于所述面上每个四边体的中心点。
所述四边体赋予模块,其功能进一步用于:
创建高度为H/M、宽度为Y/N的单个四边体模型,使其法线方向为y轴的正方向;利用copy函数将单个四边体模型赋予到求出的每个中心点上;退出for循环,完成所有物体模型的所有四边体的一键安装。
在本发明的实施例中,提供了一种计算机设备,包括处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上所述的基于三维引擎一键安装四边体模型的方法的步骤。
本发明的有益效果如下:
本发明的一种基于三维引擎一键安装四边体模型的方法、装置及设备,基于用户自定义的横切线数和纵切线数,对模型中任意一个面预安装四边体的中心点进行计算,并利用for循环实现模型所有面的四边体安装,最终得到场景模型内所有四边体的批量安装。相较传统的手动制作,其实现效果快,扩展性强,灵活方便,通过调整横切线数和纵切线数便可批量修改四边体的数量及尺寸,即可改变诸如建筑物模型的层高和单元数。还可以根据需求选择出部分模型输入不同的横切线数和纵切线数,解决了目前行业中制作简模到精模的麻烦操作,省时省力,高效快速的实现了市场三维场景模型的四边体安装建模。
附图说明
图1是实施例一的基于三维引擎一键安装四边体模型的方法的流程图;
图2是实施例二的基于三维引擎一键安装四边体模型的装置结构图;
图3是实施例三的计算机设备的结构示意图;
图4是建筑物简模示意图;
图5是图4渲染后的模型示意图;
图6是实施例二的S2中选出楼体模型的任意一个面的效果示意图;
图7是实施例二的S21中点序号的四种排列示意图,其中(a)为点序号0、1、3、2沿顺时针排列图,(b)为点序号0、1、2、3沿顺时针排列图,(c)为点序号0、1、2、3沿逆时针排列图,(d)为点序号0、1、3、2沿逆时针排列图;
图8是实施例二的S22中的点序号连线示意图,其中(a)为图7中(a)的点序号连线图,(b)为图7中(b)的点序号连线图,(c)为图7中(c)的点序号连线图,(d)为图7中(d)的点序号连线图;
图9是实施例二的S24中获取的线段D示意图;
图10是实施例二的S25中M+1条线段D的示意图;
图11是实施例二的S27中获取的中心点示意图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明:
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
实施例一以建筑物模型中的玻璃安装为例,提出一种基于三维引擎一键安装楼体玻璃的方法,其流程参考图1所示,具体过程如下:
S1、导入所有建筑物模型到三维引擎中,保留建筑物模型所有点的空间位置信息;
S2、利用for循环选出建筑物模型的任意一个面(如图6),获取用户输入的横切线数M和纵切线数N,系统将通过执行以下方法,得到所述面上每块玻璃的中心点:
S21、将选中面的四个点打入数组中,用sort函数沿y轴将四个点从上到下依次排列,则上面两个点数小,下面两个点数大;
S22、使所述面的四个点的点序号按照顺时针或逆时针依次增大的顺序进行排列:
用point函数【point(0,"P", @ptnum)】取上面两点中任意一点的点序号为P;用distance函数【distance(P, @ptnum)】让点P分别搜索下面两点,将返回的距离值储存到点P上;用add函数将点P与下面两点分别相连,用setpoint函数【setpointattrib(P, "distance", "set")】将返回距离值大的端点的点序号设置为P+2,返回距离值小的端点的点序号设置为P+3;
S23、通过点P+2和点P+3的连线求出所述面的宽度Y,通过点P和点P+3的连线求出所述面的高度H;
S24、将下面两个点P+2、P+3连线的法线沿其连线方向指向两点;将连线两端分别沿其法线向内收缩玻璃宽度的一半即(Y/N)/2,得到线段D;
S25、先将线段D向上移动玻璃高度的一半即(H/M)/2,再利用copy函数以H/M为间隔距离向上复制M条线段D,即在所述面上得到M+1条线段D;
S26、基于自定义的纵切线数N,确定每条线段D上所对应的玻璃中心点数量为N+2-1;
S27、采用add函数保留所有线段D的所有点,即对应于所述面上每块玻璃的中心点;
S3、创建高度为H/M、宽度为Y/N的单个玻璃模型,使其法线方向为y轴的正方向;利用copy函数将单个玻璃模型赋予到求出的每个中心点上;退出for循环,得到了整体赋予完玻璃的所有大楼。
为了实现实施例一的所述方法,本实施例还同时涉及了一种基于三维引擎一键安装楼体玻璃的装置,其结构如图2所示,包括:
模型导入模块,用以导入所有建筑物模型到三维引擎中,保留其所有点的空间位置信息;
中心点获取模块,用以利用for循环选出所有建筑物模型中的任意一个面,并基于用户自定义的横切线数M和纵切线数N,通过执行以下方法得到所述面上每块玻璃的中心点:
将选中面的四个点打入数组中,用sort函数沿y轴将四个点从上到下依次排列,则上面两个点数小,下面两个点数大;
使所述面的四个点的点序号按照顺时针或逆时针依次增大的顺序进行排列:用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;
将下面两个点P+2、P+3连线的法线沿其连线方向指向两点;将连线两端分别沿其法线向内收缩玻璃宽度的一半即(Y/N)/2,得到线段D;
先将线段D向上移动玻璃高度的一半即(H/M)/2,再利用copy函数以H/M为间隔距离向上复制M条线段D,即在所述面上得到M+1条线段D;
基于自定义的纵切线数N,确定每条线段D上所对应的玻璃中心点数量为N+2-1;
采用add函数保留所有线段D的所有点,即对应于所述面上每块玻璃的中心点;
玻璃赋予模块,用以创建高度为H/M、宽度为Y/N的单个玻璃模型,使其法线方向为y轴的正方向;利用copy函数将单个玻璃模型赋予到求出的每个中心点上;退出for循环,完成所有建筑物模型的所有玻璃的一键安装。
本实施例所涉及的一种计算机设备,其结构如图3所示,包括处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述任意基于三维引擎一键安装四边体模型的方法的步骤。
实施例二
本实施例提出一种基于三维引擎一键安装楼体玻璃的方法,其流程参考图1所示,具体过程如下:
S1、导入所有建筑物模型到三维引擎中,保留建筑物模型所有点的空间位置信息;
S2、利用for循环选出建筑物模型的任意一个面(如图6),获取用户输入的横切线数M和纵切线数N(本实施例中的M为6,N为13),系统将通过执行以下方法,得到所述面上每块玻璃的中心点:
S21、将选中面的四个点P0、P1、P2、P3打入数组中,采用sort函数沿y轴对数组的四个点从上到下依次排列,则上面两个点数小,下面两个点数大,在所述面上可能出现的四种点序号排列如图7中的(a)、(b)、(c)、(d)所示;
S22、通过以下方法使所述面四个点的点序号按照顺时针或逆时针依次增大的顺序进行排列:采用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,如图8中的(b)和(c),表明点序号排列为顺时针或逆时针增大,则保持点序号P2、P3位置不变;若连线A1小于连线B1,如图8中的(a)和(d),则利用setpoint函数【setpointattrib(0, "sort",2, 3, "set")、setpointattrib(0,"sort", 3, 2, "set")】重新定义P2、P3的点序号,将P2改为P3,P3改为P2,从而调整至所述面四个点的点序号符合顺时针或逆时针依次增大的排列顺序;
S23、通过点P0和点P1的连线求出所述面的宽度Y,本实施例将所述面的宽度Y设定为780,通过点P0和点P3的连线求出所述面的高度H,本实施例将所述面的高度H设定为;
S24、选择出点P2和点P3的连线,使其法线沿其连线方向指向两点,将连线的两端分别沿其法线向内收缩玻璃宽度的一半即(Y/N)/2=(780/13)/2=30,得到如图9所示的线段D;
S25、先将线段D向上移动玻璃高度的一半即(H/M)/2=(840/6)/2=70,再利用copy函数以H/M=840/6=140为间隔距离向上复制M即6条线段D,最终将在所述面上得到M+1即7条线段D(如图10);
S26、基于自定义的纵切线数N为13,确定所述线段D上所对应的玻璃中心点数量为N+2-1即13+2-1=14;
S27、采用add函数保留所有线段D的所有点,其数量为98,即代表所述面上将要安装98块玻璃,每一个点对应于每一块玻璃的中心点(如图11)。
S3、创建高度为H/M即140、宽度为Y/N即60的单个玻璃模型,使其法线方向为y轴的正方向;利用copy函数将单个玻璃模型赋予到求出的每个中心点上;退出for循环,得到了整体赋予完玻璃的所有大楼。
一种用于实施上述基于三维引擎一键安装楼体玻璃的方法的装置,其结构如图2所示,包括:
模型导入模块,用以导入所有建筑物模型到三维引擎中,保留其所有点的空间位置信息;
中心点获取模块,用以利用for循环选出所有物体模型中的任意一个面,并基于用户自定义的横切线数M和纵切线数N,通过执行以下方法得到所述面上每块玻璃的中心点:
将选中面的四个点打入数组中,用sort函数沿y轴将四个点从上到下依次排列,则上面两个点数小,其排列为P0、P1,下面两个点数大,其排列为P2、P3;
使所述面的四个点的点序号按照顺时针或逆时针依次增大的顺序进行排列:用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;
将下面两点P2、P3连线的法线沿其连线方向指向两点,将连线两端分别沿其法线向内收缩玻璃宽度的一半即(Y/N)/2,得到线段D;
先将线段D向上移动玻璃高度的一半即(H/M)/2,再利用copy函数以H/M为间隔距离向上复制M条线段D,即在所述面上得到M+1条线段D;
基于自定义的纵切线数N,确定每条线段D上所对应的玻璃中心点数量为N+2-1;
采用add函数保留所有线段D的所有点,即对应于所述面上每块玻璃的中心点;
玻璃赋予模块,用以创建单个玻璃模型并将其赋予所求出的中心点上。
所述玻璃赋予模块,其功能进一步用于:
创建高度为H/M、宽度为Y/N的单个玻璃模型,使其法线方向为y轴的正方向;利用copy函数将单个玻璃模型赋予到求出的每个中心点上;退出for循环,完成所有建筑物模型的所有玻璃的一键安装。
本实施例涉及一种计算机设备,其结构如图3所示,包括处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述任意基于三维引擎一键安装四边体模型的方法的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (6)
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任一项所述的基于三维引擎一键安装四边体模型的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311118942.5A CN116883618B (zh) | 2023-09-01 | 2023-09-01 | 基于三维引擎一键安装四边体模型的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311118942.5A CN116883618B (zh) | 2023-09-01 | 2023-09-01 | 基于三维引擎一键安装四边体模型的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116883618A true CN116883618A (zh) | 2023-10-13 |
CN116883618B CN116883618B (zh) | 2023-12-01 |
Family
ID=88262432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311118942.5A Active CN116883618B (zh) | 2023-09-01 | 2023-09-01 | 基于三维引擎一键安装四边体模型的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116883618B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117808990A (zh) * | 2024-03-01 | 2024-04-02 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎一键楼体通道设备的安装方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005259058A (ja) * | 2004-03-15 | 2005-09-22 | Toyota Motor Corp | 三次元モデルを作成する装置と方法とプログラム |
EP1589488A2 (en) * | 2004-04-23 | 2005-10-26 | Nihon Soar Co., Ltd. | Method, computer program product and data structure for representing two- or three-dimensional object |
CN114627251A (zh) * | 2022-05-16 | 2022-06-14 | 山东捷瑞数字科技股份有限公司 | 一种基于任意物体四边面无限分割的高效建模方法 |
CN115661426A (zh) * | 2022-12-15 | 2023-01-31 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎的模型修改方法、装置、设备及介质 |
CN115775301A (zh) * | 2023-02-13 | 2023-03-10 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎统一物体模型法线的方法、装置及设备 |
CN116012437A (zh) * | 2023-03-27 | 2023-04-25 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎提取三维模型中心线的方法、装置及设备 |
CN116030198A (zh) * | 2023-02-24 | 2023-04-28 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎快速便捷搭建三维场景的方法、装置及设备 |
CN116051797A (zh) * | 2023-04-03 | 2023-05-02 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎批量修改模型穿插的方法、装置及设备 |
-
2023
- 2023-09-01 CN CN202311118942.5A patent/CN116883618B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005259058A (ja) * | 2004-03-15 | 2005-09-22 | Toyota Motor Corp | 三次元モデルを作成する装置と方法とプログラム |
EP1589488A2 (en) * | 2004-04-23 | 2005-10-26 | Nihon Soar Co., Ltd. | Method, computer program product and data structure for representing two- or three-dimensional object |
CN114627251A (zh) * | 2022-05-16 | 2022-06-14 | 山东捷瑞数字科技股份有限公司 | 一种基于任意物体四边面无限分割的高效建模方法 |
CN115661426A (zh) * | 2022-12-15 | 2023-01-31 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎的模型修改方法、装置、设备及介质 |
CN115775301A (zh) * | 2023-02-13 | 2023-03-10 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎统一物体模型法线的方法、装置及设备 |
CN116030198A (zh) * | 2023-02-24 | 2023-04-28 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎快速便捷搭建三维场景的方法、装置及设备 |
CN116012437A (zh) * | 2023-03-27 | 2023-04-25 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎提取三维模型中心线的方法、装置及设备 |
CN116051797A (zh) * | 2023-04-03 | 2023-05-02 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎批量修改模型穿插的方法、装置及设备 |
Non-Patent Citations (3)
Title |
---|
廖浩宏;韦宇炜;刘强;: "工业仿真系统动态导入OBJ模型的研究与实现", 计算机应用, no. 1 * |
张渭军;: "基于四面体的地质体可视化与剖分研究", 金属矿山, no. 01 * |
高志国;宋杨;邓洁茹;王峰;谢鸿宇;: "基于OGRE的高精度三维城市建模技术分析", 测绘通报, no. 09 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117808990A (zh) * | 2024-03-01 | 2024-04-02 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎一键楼体通道设备的安装方法、装置及设备 |
CN117808990B (zh) * | 2024-03-01 | 2024-05-10 | 山东捷瑞数字科技股份有限公司 | 基于三维引擎一键楼体通道设备的安装方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116883618B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116883618B (zh) | 基于三维引擎一键安装四边体模型的方法、装置及设备 | |
CN102360398B (zh) | 基于iec61850的cad电力图形生成解析方法 | |
CN107515991A (zh) | 一种基于bim技术的户型全装修模拟展示方法及展示系统 | |
CN106919763A (zh) | 一种产品结构尺寸优化方法 | |
CN108305313A (zh) | 用于细分绘制空间的一个或多个图块的集合的、用于绘制的图形处理单元和方法 | |
CN110570491A (zh) | 热力图生成方法及装置 | |
CN106067189B (zh) | 海量三维电缆及通道模型自动化建模与渲染方法 | |
CN109359811A (zh) | 面向复杂产品装配过程的进度三维可视化方法及装置 | |
CN104484534B (zh) | 一种车辆所用制动系统的模块化设计方法 | |
CN112506476A (zh) | 一种数字孪生车间系统快速架构方法及装置 | |
CN110197525A (zh) | 虚拟建筑模型的窗口灯光控制方法、装置、处理器及终端 | |
CN105045211A (zh) | 一种等弓高误差变步长切线插补方法 | |
CN109684739A (zh) | 一种基于bim模型的钢筋参数生成方法、装置及设备 | |
CN104182913A (zh) | 一种电网方式图成图智能排布方法 | |
CN106408627B (zh) | 一种线状符号绘制方法 | |
US20170124679A1 (en) | Latency-resistant sparse simulation technique, system and method | |
CN104616327A (zh) | 一种基于曲面细分的着色器简化方法、装置及图形渲染方法 | |
CN114998503A (zh) | 一种基于实景三维的白模自动纹理构建方法 | |
CN101655884B (zh) | 一种自动绘制冲压模具修边线的方法 | |
CN110909408A (zh) | 一种基于Revit+Dynamo的路缘石建模方法 | |
CN109064546A (zh) | 一种地形影像数据快速调度方法及其系统 | |
CN112069565B (zh) | 一种塑石假山的设计方法 | |
JP4664169B2 (ja) | 図形描画装置及び図形描画プログラム | |
CN106598716A (zh) | 一种基于多处理器的任务调度方法 | |
CN108197839A (zh) | 一种具有路由缓冲区的客车制造车间排产方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |