CN114782652B - 模型放平的方法、装置、设备及存储介质 - Google Patents
模型放平的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114782652B CN114782652B CN202210708779.7A CN202210708779A CN114782652B CN 114782652 B CN114782652 B CN 114782652B CN 202210708779 A CN202210708779 A CN 202210708779A CN 114782652 B CN114782652 B CN 114782652B
- Authority
- CN
- China
- Prior art keywords
- triangular
- model
- placeable
- plane
- patches
- 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.)
- Active
Links
Images
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/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种模型放平的方法、装置、设备及存储介质,所述模型放平的方法包括:获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面;从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。本申请属于模型处理领域,通过待放平模型的各三角面片信息建立拓扑关系,确定待放平模型中处于同一平面的面片,降低了数据量的计算,提高了共线平面的确定速度。
Description
技术领域
本申请涉及模型处理领域,尤其涉及一种模型放平的方法、装置、设备及存储介质。
背景技术
模型的按面放平功能是指将模型按照可放平面进行放平时,可放平面将与打印平台贴合,这就要求需要找出模型的可放平面,然而,由于模型中面片的数量较多,导致面片数据量较庞大,从庞大的面片数据中找出可放平面需要大量的计算,计算速度较慢。
发明内容
本申请的主要目的在于提供一种模型放平的方法、装置、设备及存储介质,旨在解决现有技术中对模型进行放平时计算速度慢的技术问题。
为实现以上目的,本申请提供一种模型放平的方法,所述模型放平的方法包括:
获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;
基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;
基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面;
从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。
可选地,所述基于所述待放平模型,得到所述待放平模型的各三角面片信息,包括:
基于所述待放平模型,确定所述待放平模型的三维凸包;
将所述三维凸包的各三角面片信息,作为所述待放平模型的各三角面片信息。
可选地,所述各三角面片信息包括各三角面片与三顶点的对应关系,所述基于所述各三角面片信息,建立各所述三角面片之间的拓扑关系的步骤,包括:
基于所述各三角面片与三顶点的对应关系,确定与各所述顶点对应的三角面片集合;
对于各所述三角面片中的各边,确定各所述边中两顶点对应的三角面片集合的交集,并将所述交集对应的三角面片作为相邻面;
基于各所述相邻面,建立各所述三角面片之间的拓扑关系。
可选地,所述基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面的步骤,包括:
基于各所述三角面片之间的拓扑关系,判断各所述三角面片与对应的相邻面是否共法线,得到法线相同的三角面片;
对所述法线相同的三角面片至少进行合并处理,得到可放平面。
可选地,所述各三角面片信息包括各三角面片的面积数据,所述基于各所述三角面片之间的拓扑关系,判断各所述三角面片与对应的相邻面是否共法线,得到法线相同的三角面片的步骤,包括:
基于各所述三角面片的面积数据,对各所述三角面片进行面积从大到小排序,得到面积排序结果;
递归步骤:基于各所述三角面片之间的拓扑关系,从排序在第n=1个的三角面片开始递归判断各所述三角面片与对应的相邻面是否共法线,直至存在三角面片与对应的相邻面不共法线,得到法线相同的三角面片;
令n=n+1,继续进入所述递归步骤,直至n满足第一预设数目。
可选地,所述将所述处于同一平面的三角面片至少进行合并处理,得到可放平面的步骤,包括:
将所述处于同一平面的三角面片进行合并处理,得到合并的三角面片;
对所述合并的三角面片进行圆润处理,得到可放平面。
可选地,所述对所述合并的三角面片进行圆润处理,得到可放平面的步骤,包括:
将所述合并的三角面片映射到二维平面,得到映射的三角面片,并保留映射的矩阵数据;
根据所述映射的三角面片,得到二维凸包;
根据贝塞尔曲线对所述二维凸包进行圆润处理,得到处理后的二维凸包;
基于所述矩阵数据,将所述处理后的二维凸包通过逆矩阵还原到三维坐标,得到可放平面。
可选地,所述从所述可放平面中选取目标可放平面的步骤,包括:
显示面积最大的第二预设数量的所述可放平面;
接收用户选择的可放平面,得到所述目标可放平面;
或者;
显示所需支撑量最小的第三预设数量的所述可放平面;
接收用户选择的可放平面,得到所述目标可放平面;
或者;
从所述可放平面中选取面积最大的可放平面,作为目标可放平面;
或者;
从所述可放平面中选取所需支撑量最小的可放平面,作为目标可放平面。
本申请还提供一种模型放平的装置,所述模型放平的装置包括:
获取模块,用于获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;
建立模块,用于基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;
确定模块,用于基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面;
显示模块,用于从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。
本申请还提供一种模型放平的设备,所述模型放平的设备包括:存储器、处理器以及存储在存储器上的用于实现所述模型放平的方法的程序,
所述存储器用于存储实现模型放平的方法的程序;
所述处理器用于执行实现所述模型放平的方法的程序,以实现所述模型放平的方法的步骤。
本申请还提供一种存储介质,所述存储介质上存储有实现模型放平的方法的程序,所述实现模型放平的方法的程序被处理器执行以实现所述模型放平的方法的步骤。
本申请提供的一种模型放平的方法、装置、设备及存储介质,与现有技术中通过判断模型所有的面来确定共线的平面,数据量庞大,共线面确定的速度慢,且获取的共线面也不够精准相比,在本申请中,获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面;从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。即在本申请中,基于所述待放平模型的各三角面片信息建立的拓扑关系,只需要计算并判断各三角面片与相邻面的是否处于同一平面,以此确定所述待放平模型中处于同一平面的面片,降低了计算的数据量,提高了共线平面确定的速度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本申请模型放平的方法第一实施例的流程示意图;
图3为本申请模型放平的方法初始待放平模型的示意图;
图4为本申请模型放平的方法待放平模型的可放平面示意图;
图5为本申请模型放平的方法各面片的拓扑关系建立示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境的终端结构示意图。
本申请实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作装置、网络通信模块、用户接口模块以及模型放平的程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的模型放平的程序。
参照图2,本申请实施例提供一种模型放平的方法,所述模型放平的方法包括:
步骤S100,获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;
步骤S200,基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;
步骤S300,基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面;
步骤S400,从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。
在本实施例中,具体的应用场景可以是:
用户在使用模型的快速按面放平功能时,由于模型中面片的数量较多,导致面片数据量较庞大,从庞大的面片数据中找出可放平面需要大量的计算,计算速度较慢。
具体步骤如下:
步骤S100,获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;
在本实施例中,待放平模型为展示于装置显示界面,用于表示物体外轮廓形状的几何模型,其中,所述待放平模型的数据文件类型包括有3ds、obj、max、dae、stl、c4d、ma/mb、fbx、stp、e3d、ztl以及3dm等3D模型格式,根据装置的模型兼容格式进行选择,在此不作具体限定。
首先,装置获取待放平模型,所述装置获取待放平模型的方式可以是:
方式一:接收用户输入的待放平模型的数据文件,装置解析所述待放平模型的数据文件,得到所述待放平模型,并基于所述待放平模型,计算得到所述待放平模型的各三角面片信息。
在本实施例中,用户将已构建好的待放平模型输入至装置,装置将基于所述待放平模型的数据文件类型进行解析,得到所述待放平模型,并基于所述待放平模型,计算得到所述待放平模型的各三角面片信息。
方式二:接收用户输入的待放平模型的构建数据,得到所述待放平模型,并基于所述待放平模型,计算得到所述待放平模型的各三角面片信息。
在本实施例中,用户在装置提供的模型构建模块的界面上进行模型构建,所述模型构建模块将所产生的构建数据实时传输至装置,得到所述待放平模型,并基于所述待放平模型,计算得到所述待放平模型的各三角面片信息。
在一个例子中,待放平模型的各三角面片信息是指构成待放平模型本身的各三角面片的信息;其中,三角面片的信息可以包括各三角面片与三顶点的对应关系、各三角面片的面积数据等信息。
在一个例子中,所述步骤S100,包括以下步骤S110-S120:
步骤S110,基于所述待放平模型,确定所述待放平模型的三维凸包;
在本实施例中,待放平模型的三维凸包是指包括待放平面中点的最小凸多面体,可以通过暴力法、卷包裹法、增量法等方法计算待放平模型的三维凸包。例如,参照图3,左图为用户输入至装置的“兔子”模型,右图为装置对所述“兔子”模型通过预设算法进行计算所得到的三维凸包图形。
步骤S120,将所述三维凸包的各三角面片信息,作为所述待放平模型的各三角面片信息。
在本实施例中,通过确定所述三维凸包,可以排除凹点,由于凹点无法形成可放平面,以此进一步提高速度;还可以找到待放平模型本身不相邻面片形成的可放平面(例如:兔子的耳朵和肚子形成的可放平面),这样可以找到更多的可放平面。
步骤S200,基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;
拓扑关系是指满足拓扑几何学原理的各空间数据间的相互关系。即用结点、弧段和多边形所表示的实体之间的邻接、关联、包含和连通关系。
在本实施例中,各三角面片之间的拓扑关系包括点与点的邻接关系、点与面的包含关系、线与面的相离关系、面与面的重合关系等,用于指示各所述三角面片对应的相邻面。
在一个例子中,各三角面片信息包括各三角面片与三顶点的对应关系,所述步骤S200,包括以下步骤S210-S230:
步骤S210,基于各三角面片与三顶点的对应关系,确定与各所述顶点对应的三角面片集合;
在本实施例中,所述各三角面片信息包括各三角面片与三顶点的对应关系,装置根据各三角面片与三顶点的对应关系,确定与各所述顶点对应的三角面片集合。
步骤S220,对于各所述三角面片中的各边,确定各所述边中两顶点对应的三角面片集合的交集,并将所述交集对应的三角面片作为相邻面;
步骤S230,基于各所述相邻面,建立各所述三角面片之间的拓扑关系。
在本实施例中,各所述三角面片之间的拓扑关系为每个三角面与相邻面的关系信息以及每个顶点的三角面信息,这样可以根据拓扑关系找到与某个三角面片相邻的其他三角面片。
即在本申请中,建立待放平模型每个三角面之间的拓扑关系,只需要计算并判断各三角面片与相邻面的是否处于同一平面,提高了共线平面的确定速度。
在本实施例中,所述各三角面片信息包括各三角面片与三顶点的对应关系,例如,参照图5,8号面对应的三个顶点为A、B、C,这样可以基于各三角面片与三顶点的对应关系,确定与各顶点对应的三角面片集合,继续参照图5,可以确定出点A对应的三角面片集合为{3,4,5,6,8,9},点B对应的三角面片集合为{6,7,8,13,14,15,16},点C对应的三角面片集合为{8,9,10,12,13},对于AB边,确定AB边对应的三角面片集合的交集为8号面和6号面,则8号面与6号面相邻,同理得到8号面的另两个相邻面为9号面和13号面,按照上述方法,可以确定出各三角面片的相邻面,从而建立各三角面片之间的拓扑关系。
步骤S300,基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面;
在一个例子中,所述步骤S300,包括以下步骤S310-S320:
步骤S310,基于各所述三角面片之间的拓扑关系,判断各所述三角面片与对应的相邻面是否共法线,得到法线相同的三角面片;
在本实施例中,装置基于所述三角面片之间的拓扑关系,可以知道各三角面片对应的相邻面,再根据预设算法判断相邻面之间是否共法线,例如,可以通过向量来判断相邻面之间是否共法线,从而得到法线相同的三角面片。
在一个例子中,所述步骤S310,包括以下步骤S311-S312:
步骤S311,基于各所述三角面片的面积数据,对各所述三角面片进行面积从大到小排序,得到面积排序结果;
在本实施例中,基于每个三角面片的面积数据,对三维凸包的所有三角面片进行希尔排序,按面积从大到小排列,得到面积排序结果。
步骤S312,递归步骤:基于各所述三角面片之间的拓扑关系,从排序在第n=1个的三角面片开始递归判断各所述三角面片与对应的相邻面是否共法线,直至存在三角面片与对应的相邻面不共法线,得到法线相同的三角面片;
步骤S313,令n=n+1,继续进入所述递归步骤,直至n满足第一预设数目。
在本实施例中,从最大的面开始循环直至循环到排序在预设数目的面,这样可以过滤面积较小的一些面,可以进一步的提高速度。其中,预设数目是预先设置的数值,可以根据人为经验值确定。
例如,第一预设数目为500,则从排序在第n=1的面即最大的面1开始递归判断,若与面1相邻的面为面501、503、600,判断面1与面501、503、600是否共法线,若面1与面501共法线,则确定与面501相邻的面除了面1,还包括面505、607,判断面501与面505、607是否共法线,若面501与面607共法线,则确定与面607相邻的面除了面501,还包括面608、609,判断面607与面608、609是否共法线,若面607与面608、609均不共法线,则得到法线相同的三角面片包括面1、501、607,则令n=2,从排序在第n=2的面即第二大的面开始按照上述方法递归判断,直至n=500,得到法线相同的三角面片。
在一个例子中,基于各所述三角面片之间的拓扑关系,遍历各三角面片,直至判断出各三角面片与对应的相邻面是否共法线,从而得到法线相同的各三角面片。
步骤S320,对所述法线相同的三角面片至少进行合并处理,得到可放平面。
在本实施例中,将法线相同的三角面片合并成一个轮廓,各轮廓均为可放平面。
在一个例子中,基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片进行合并处理,得到可放平面。
在一个例子中,所述步骤S300,还包括以下步骤A100-A200:
步骤A100,将所述处于同一平面的三角面片进行合并处理,得到合并的三角面片;
步骤A200,对所述合并的三角面片进行圆润处理,得到可放平面。
在本实施例中,装置先进行合并处理,再对所述可放平面进行圆润处理,使可放平面显得更圆滑,更加美观,且降低了可放平面与原模型重合的可能,便于用户观察。
在一个例子中,所述步骤A200,包括以下步骤A210-A240:
步骤A210,将所述合并的三角面片映射到二维平面,得到映射的三角面片,并保留映射的矩阵数据;
步骤A220,根据所述映射的三角面片,得到二维凸包;
在本实施例中,装置将各轮廓数据三维绕z轴和y轴旋转,使平面变平,即映射到二维平面并保留旋转,然后生成二维凸包。并保留映射的矩阵数据,其中,映射的矩阵数据为matrix矩阵。
步骤A230,根据贝塞尔曲线对所述二维凸包进行圆润处理,得到处理后的二维凸包;
在本实施例中,对二维凸包,进行圆润处理,将尖角顶点通过贝塞尔曲线使尖角变圆等优化,这样可以使放平面显得更圆滑,更加美观,且降低了放平面与原模型重合的可能,便于用户观察。
步骤A240,基于所述矩阵数据,将所述处理后的二维凸包通过逆矩阵还原到三维坐标,得到可放平面。
在本实施例中,通过保留的matrix矩阵,通过逆矩阵还原回三维坐标。
步骤S400,从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。
在一个例子中,所述步骤S400,包括以下步骤S410-S420:
步骤S410,显示面积最大的第二预设数量的所述可放平面;
在本实施例中,装置在显示界面向用户显示第二预设数量的所述可放平面。
步骤S420,接收用户选择的可放平面,得到所述目标可放平面。
具体地,参照图4,装置显示所述共线平面的轮廓信息,以供用户选择所述轮廓信息,得到对应平面的放平模型。
其中,显示的方式可以是此时的预设数量的轮廓信息再按面积排序,按照第二预设数量显示即可,例如,预设数量的轮廓信息为500,第二预设数量为20,从500个轮廓信息里面选取面积最大的20个进行显示。
在本实施例中,根据用户点击或选择的轮廓图像,装置接收所述用户选择的轮廓信息。
在一个例子中,所述步骤S400,包括以下步骤S430-S440:
步骤S430,显示所需支撑量最小的第三预设数量的所述可放平面;
步骤S440,接收用户选择的可放平面,得到所述目标可放平面。
具体地,根据按照不同轮廓数据放平时所需的支撑量进行排序,按照第三预设数量显示即可,例如,预设数量的轮廓信息为500,第三预设数量为20,从500个轮廓信息里面选取20个进行显示。
在一个例子中,所述步骤S400为S450:
步骤S450,从所述可放平面中选取面积最大的可放平面,作为目标可放平面。
具体地,装置直接从可放平面中选取面积最大的可放平面,作为目标可放平面。
在一个例子中,所述步骤S400为S460:
步骤S460,从所述可放平面中选取所需支撑量最小的可放平面,作为目标可放平面。
具体地,装置直接从可放平面中选取所需支撑量最小的可放平面,作为目标可放平面。
在本实施例中,装置基于所述轮廓信息,对所述待放平模型进行放平处理,得到对应平面的放平模型。
本申请提供的一种模型放平的方法,与现有技术中通过判断模型所有的面来确定共线的平面,数据量庞大,共线面确定的速度慢,且获取的共线面也不够精准相比,在本申请中,获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面;从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。即在本申请中,基于所述待放平模型的各三角面片信息建立的拓扑关系,只需要计算并判断各三角面片与相邻面的是否处于同一平面,以此确定所述待放平模型中处于同一平面的面片,降低了计算的数据量,提高了共线平面确定的速度。
本申请还提供一种模型放平的装置,所述模型放平的装置包括:
获取模块,用于获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;
建立模块,用于基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;
确定模块,用于基于各所述三角面片之间的拓扑关系,确定处于同一平面的三角面片,并将所述处于同一平面的三角面片至少进行合并处理,得到可放平面;
显示模块,用于从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。
可选地,所述获取模块,包括:
三维凸包确定模块,用于基于所述待放平模型,确定所述待放平模型的三维凸包;
将所述三维凸包的各三角面片信息,作为所述待放平模型的各三角面片信息。
可选地,所述建立模块,包括:
面片确定模块,用于基于所述各三角面片与三顶点的对应关系,确定与各所述顶点对应的三角面片集合;
相邻面确定模块,用于对于各所述三角面片中的各边,确定各所述边中两顶点对应的三角面片集合的交集,并将所述交集对应的三角面片作为相邻面;
拓扑关系建立模块,用于基于各所述相邻面,建立各所述三角面片之间的拓扑关系。
可选地,所述确定模块,包括:
法线判断模块,用于基于各所述三角面片之间的拓扑关系,判断各所述三角面片与对应的相邻面是否共法线,得到法线相同的三角面片;
合并模块,用于对所述法线相同的三角面片至少进行合并处理,得到可放平面。
可选地,所述法线判断模块,包括:
排序模块,用于基于各所述三角面片的面积数据,对各所述三角面片进行面积从大到小排序,得到面积排序结果;
递归模块,用于递归步骤:基于各所述三角面片之间的拓扑关系,从排序在第n=1个的三角面片开始递归判断各所述三角面片与对应的相邻面是否共法线,直至存在三角面片与对应的相邻面不共法线,得到法线相同的三角面片;
循环递归模块,用于令n=n+1,继续进入所述递归步骤,直至n满足第一预设数目。
可选地,所述确定模块,还包括:
面片合并模块,用于将所述处于同一平面的三角面片进行合并处理,得到合并的三角面片;
圆润处理模块,用于对所述合并的三角面片进行圆润处理,得到可放平面。
可选地,所述圆润处理模块,包括:
映射模块,用于将所述合并的三角面片映射到二维平面,得到映射的三角面片,并保留映射的矩阵数据;
二维凸包确定模块,用于根据所述映射的三角面片,得到二维凸包;
圆润模块,用于根据贝塞尔曲线对所述二维凸包进行圆润处理,得到处理后的二维凸包;
还原模块,用于基于所述矩阵数据,将所述处理后的二维凸包通过逆矩阵还原到三维坐标,得到可放平面。
可选地,所述显示模块,包括:
可放平面显示模块,用于显示预设数量的所述可放平面;
第一显示模块,用于显示面积最大的第二预设数量的所述可放平面;
第一接收模块,用于接收用户选择的可放平面,得到所述目标可放平面;
第二显示模块,显示所需支撑量最小的第三预设数量的所述可放平面;
第二接收模块,接收用户选择的可放平面,得到所述目标可放平面;
第一选取模块,用于从所述可放平面中选取面积最大的可放平面,作为目标可放平面;
第二选取模块,用于从所述可放平面中选取所需支撑量最小的可放平面,作为目标可放平面。
本申请模型放平的装置具体实施方式与上述模型放平的方法各实施例基本相同,在此不再赘述。
本申请还提供一种模型放平的设备,所述模型放平的设备包括:存储器、处理器以及存储在存储器上的用于实现所述模型放平的方法的程序,
所述存储器用于存储实现模型放平的方法的程序;
所述处理器用于执行实现所述模型放平的方法的程序,以实现所述模型放平的方法的步骤。
本申请模型放平的设备具体实施方式与上述模型放平的方法各实施例基本相同,在此不再赘述。
本申请还提供一种存储介质,所述存储介质上存储有实现模型放平的方法的程序,所述实现模型放平的方法的程序被处理器执行以实现所述模型放平的方法的步骤。
本申请存储介质具体实施方式与上述模型放平的方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种模型放平的方法,其特征在于,所述模型放平的方法包括:
获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;
基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;
基于所述各三角面片信息,确定各三角面片的面积数据,并基于各所述三角面片的面积数据,对各所述三角面片进行面积从大到小排序,得到面积排序结果;
递归步骤:基于各所述三角面片之间的拓扑关系,从排序在第n=1个的三角面片开始递归判断各所述三角面片与对应的相邻面是否共法线,直至存在三角面片与对应的相邻面不共法线,得到法线相同的三角面片;
令n=n+1,继续进入所述递归步骤,直至n满足第一预设数目;
对所述法线相同的三角面片至少进行合并处理,得到可放平面;
从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。
2.如权利要求1所述的模型放平的方法,其特征在于,所述基于所述待放平模型,得到所述待放平模型的各三角面片信息,包括:
基于所述待放平模型,确定所述待放平模型的三维凸包;
将所述三维凸包的各三角面片信息,作为所述待放平模型的各三角面片信息。
3.如权利要求1所述的模型放平的方法,其特征在于,所述各三角面片信息包括各三角面片与三顶点的对应关系,所述基于所述各三角面片信息,建立各所述三角面片之间的拓扑关系的步骤,包括:
基于所述各三角面片与三顶点的对应关系,确定与各所述顶点对应的三角面片集合;
对于各所述三角面片中的各边,确定各所述边中两顶点对应的三角面片集合的交集,并将所述交集对应的三角面片作为相邻面;
基于各所述相邻面,建立各所述三角面片之间的拓扑关系。
4.如权利要求1所述的模型放平的方法,其特征在于,所述将所述处于同一平面的三角面片至少进行合并处理,得到可放平面的步骤,包括:
将所述处于同一平面的三角面片进行合并处理,得到合并的三角面片;
对所述合并的三角面片进行圆润处理,得到可放平面。
5.如权利要求4所述的模型放平的方法,其特征在于,所述对所述合并的三角面片进行圆润处理,得到可放平面的步骤,包括:
将所述合并的三角面片映射到二维平面,得到映射的三角面片,并保留映射的矩阵数据;
根据所述映射的三角面片,得到二维凸包;
根据贝塞尔曲线对所述二维凸包进行圆润处理,得到处理后的二维凸包;
基于所述矩阵数据,将所述处理后的二维凸包通过逆矩阵还原到三维坐标,得到可放平面。
6.如权利要求1所述的模型放平的方法,其特征在于,所述从所述可放平面中选取目标可放平面的步骤,包括:
显示面积最大的第二预设数量的所述可放平面;
接收用户选择的可放平面,得到所述目标可放平面;
或者;
显示所需支撑量最小的第三预设数量的所述可放平面;
接收用户选择的可放平面,得到所述目标可放平面;
或者;
从所述可放平面中选取面积最大的可放平面,作为目标可放平面;
或者;
从所述可放平面中选取所需支撑量最小的可放平面,作为目标可放平面。
7.一种模型放平的装置,其特征在于,所述模型放平的装置包括:
获取模块,用于获取待放平模型,并基于所述待放平模型,得到所述待放平模型的各三角面片信息;
建立模块,用于基于所述各三角面片信息,建立各三角面片之间的拓扑关系;所述拓扑关系用于指示各所述三角面片对应的相邻面;
排序模块,用于基于所述各三角面片信息,确定各三角面片的面积数据,并基于各所述三角面片的面积数据,对各所述三角面片进行面积从大到小排序,得到面积排序结果;
递归模块,用于递归步骤:基于各所述三角面片之间的拓扑关系,从排序在第n=1个的三角面片开始递归判断各所述三角面片与对应的相邻面是否共法线,直至存在三角面片与对应的相邻面不共法线,得到法线相同的三角面片;
循环递归模块,用于令n=n+1,继续进入所述递归步骤,直至n满足第一预设数目;
合并模块,用于对所述法线相同的三角面片至少进行合并处理,得到可放平面;
显示模块,用于从所述可放平面中选取目标可放平面,得到所述目标可放平面对应的放平模型。
8.一种模型放平的设备,其特征在于,所述模型放平的设备包括:存储器、处理器以及存储在存储器上的用于实现所述模型放平的方法的程序,
所述存储器用于存储实现模型放平的方法的程序;
所述处理器用于执行实现所述模型放平的方法的程序,以实现如权利要求1至6中任一项所述模型放平的方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有实现模型放平的方法的程序,所述实现模型放平的方法的程序被处理器执行以实现如权利要求1至6中任一项所述模型放平的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210708779.7A CN114782652B (zh) | 2022-06-22 | 2022-06-22 | 模型放平的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210708779.7A CN114782652B (zh) | 2022-06-22 | 2022-06-22 | 模型放平的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114782652A CN114782652A (zh) | 2022-07-22 |
CN114782652B true CN114782652B (zh) | 2022-10-11 |
Family
ID=82422389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210708779.7A Active CN114782652B (zh) | 2022-06-22 | 2022-06-22 | 模型放平的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114782652B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890830A (zh) * | 2011-07-19 | 2013-01-23 | 北京邮电大学 | 基于三角面片模型的拓扑面分离方法 |
CN109213202A (zh) * | 2018-08-17 | 2019-01-15 | 深圳蓝胖子机器人有限公司 | 基于光学伺服的货物摆放方法、装置、设备和存储介质 |
CN110675508A (zh) * | 2019-09-10 | 2020-01-10 | 长江勘测规划设计研究有限责任公司 | 一种bim模型几何图形化简方法 |
CN111063035A (zh) * | 2019-11-22 | 2020-04-24 | 同济大学 | 一种gis中od关系的三维可视化方法及装置 |
CN114241151A (zh) * | 2021-11-15 | 2022-03-25 | 中国南方电网有限责任公司 | 三维模型简化方法、装置、计算机设备和计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112116721B (zh) * | 2020-09-21 | 2023-11-28 | 雅客智慧(北京)科技有限公司 | 三维模型的标记方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-22 CN CN202210708779.7A patent/CN114782652B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890830A (zh) * | 2011-07-19 | 2013-01-23 | 北京邮电大学 | 基于三角面片模型的拓扑面分离方法 |
CN109213202A (zh) * | 2018-08-17 | 2019-01-15 | 深圳蓝胖子机器人有限公司 | 基于光学伺服的货物摆放方法、装置、设备和存储介质 |
CN110675508A (zh) * | 2019-09-10 | 2020-01-10 | 长江勘测规划设计研究有限责任公司 | 一种bim模型几何图形化简方法 |
CN111063035A (zh) * | 2019-11-22 | 2020-04-24 | 同济大学 | 一种gis中od关系的三维可视化方法及装置 |
CN114241151A (zh) * | 2021-11-15 | 2022-03-25 | 中国南方电网有限责任公司 | 三维模型简化方法、装置、计算机设备和计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
基于FDM的三维打印支撑自动生成技术研究;刘亚林;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20181015(第10期);I138-891 * |
Also Published As
Publication number | Publication date |
---|---|
CN114782652A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107481311B (zh) | 三维城市模型渲染方法及装置 | |
US20170186219A1 (en) | Method for 360-degree panoramic display, display module and mobile terminal | |
CN108052624A (zh) | 点云数据处理方法、装置及计算机可读存储介质 | |
CN105894551B (zh) | 图像绘制方法及装置 | |
CN109615686B (zh) | 潜在可视集合的确定方法、装置、设备及存储介质 | |
CN112085840A (zh) | 语义分割方法、装置、设备及计算机可读存储介质 | |
CN114627219A (zh) | 三维场景数据的渲染方法及装置、存储介质、电子装置 | |
CN112288665A (zh) | 图像融合的方法、装置、存储介质及电子设备 | |
CN115439607A (zh) | 一种三维重建方法、装置、电子设备及存储介质 | |
CN113658339B (zh) | 一种基于等高线的三维实体生成方法及装置 | |
CN107084740A (zh) | 一种导航方法和装置 | |
CN112245926A (zh) | 虚拟地形的渲染方法、装置、设备及介质 | |
CN108052869B (zh) | 车道线识别方法、装置及计算机可读存储介质 | |
CN114661394B (zh) | 界面显示的控制方法、装置、存储介质、处理器 | |
CN110458857B (zh) | 中心对称图元检测方法、装置、电子设备及可读存储介质 | |
CN111651055A (zh) | 城市虚拟沙盘展示方法、装置、计算机设备及存储介质 | |
CN110458954B (zh) | 一种等高线生成方法、装置及设备 | |
CN115731370A (zh) | 一种大场景元宇宙空间叠加方法和装置 | |
CN111653175A (zh) | 一种虚拟沙盘展示方法及装置 | |
CN114782652B (zh) | 模型放平的方法、装置、设备及存储介质 | |
CN109598672B (zh) | 一种地图道路渲染方法及装置 | |
CN116246069B (zh) | 自适应地形点云滤波的方法、装置、智能终端及存储介质 | |
CN113989680B (zh) | 建筑三维场景自动构建方法及*** | |
CN115761119A (zh) | 邻域体素存储方法、装置、计算机设备和存储介质 | |
CN114663615A (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 |