CN102799750B - 几何体表面三角形剖分的公共边和非公共边快速生成方法 - Google Patents

几何体表面三角形剖分的公共边和非公共边快速生成方法 Download PDF

Info

Publication number
CN102799750B
CN102799750B CN201210301738.2A CN201210301738A CN102799750B CN 102799750 B CN102799750 B CN 102799750B CN 201210301738 A CN201210301738 A CN 201210301738A CN 102799750 B CN102799750 B CN 102799750B
Authority
CN
China
Prior art keywords
common
face
limit
matrix
incidence matrix
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.)
Expired - Fee Related
Application number
CN201210301738.2A
Other languages
English (en)
Other versions
CN102799750A (zh
Inventor
薄亚明
张明
潘灿林
黄薇薇
徐红梅
许秀明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201210301738.2A priority Critical patent/CN102799750B/zh
Publication of CN102799750A publication Critical patent/CN102799750A/zh
Application granted granted Critical
Publication of CN102799750B publication Critical patent/CN102799750B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

几何体三角形剖分公共边与非公共边的快速生成方法涉及一种场问题计算机分析的前处理技术。该方法从常用的网格生成器剖分得到的数据读取三角形单元的面-点关联矩阵,通过转置获得点-面关联矩阵;由面-点与点-面关联矩阵乘积获得面-面邻接矩阵;再利用离散单元的邻接关系,通过顺次遍历定义面剖分的边,并获得边-点和边-面关联关系。矩阵存储利用三元组顺序表行主序压缩的方法存储,其转置与乘积运算均采用对应的稀疏矩阵算法。该方法可避免开发专门的网格生成器,快速生成面剖分的边元信息。

Description

几何体表面三角形剖分的公共边和非公共边快速生成方法
技术领域
本发明涉及一种快速几何处理方法,属计算机辅助分析与设计以及软件设计领域,可用于电磁场、应力场、热场、声场、流体等场问题的工程仿真分析中。
背景技术
基于物体剖分离散的工程问题数值分析方法因其适用性广、精度高等优点,在各工程领域的计算机分析软件中广泛应用。通常物体表面离散剖分最常用的方法为三角形剖分,几何建模与剖分都可以由网格生成器完成,网格生成器既有商用版权软件也有免费开源工具。对于工程问题,积分方程的离散通常采用分域基函数与分域权函数。对于矢量场积分方程,通用的基函数与权函数并不像有限元法那样定义在三角形单元区域内,而是定义在三角形的公共边相关联的相邻两个三角形单元。在实际计算中,对于面剖分,需要获取两个相邻三角形面元的公共边以及这两个三角形的编号。
常用的单元关系生成方法是通过两两比较离散三角形单元的各边,得到公共边。该方法的计算复杂度为                                                ,其中为三角形面元的个数。该方法思路直接清晰,但是随着物体尺寸增大,单元数目增大,计算时间将增加很快。因此,需要一种计算复杂度为线性的生成方法来提高处理效率。
发明内容
技术问题: 本发明的目的是提出一种从网格生成器剖分得到的数据文件中快速获得几何体表面三角形剖分的公共边和非公共边快速生成方法。通过对点、线、面不同单元之间的关系分析,发明一种高效率的生成方法,以便利用现有网格生成器,实现通用的工程矢量场问题分析软件,避免重复开发专门的网格生成器,同时将公共边和非公共边生成的计算开销降至最低。
技术方案:对于表面剖分,从网格生成器能够直接获得的信息为:各结点(用结点号区分)对应的坐标值以及每个三角形单元(用单元号区分)对应的3个结点号。本发明所提出的方法能够以最少的计算量完成离散单元的信息提取,提高有关软件的前处理速度。具体步骤如下:
第一步,利用网格生成器建立所需仿真对象的几何模型,并进行表面三角形网格剖分,之后导出几何体的网格单元的信息,包括节点坐标信息文件和单元节点信息文件即三角形的面-点关联矩阵;
第二步,从网格生成器剖分得到的数据文件读入节点坐标信息文件和三角形剖分单元的面-点关联矩阵,并采用三元组顺序表行主序压缩的方法存储三角形剖分单元的面-点关联矩阵;
第三步,对三角形的面-点关联矩阵利用稀疏矩阵转置得到三角形的点-面关联矩阵;
第四步,将三角形的面-点关联矩阵乘以点-面关联矩阵,所得乘积整除2,并将对角线置0,即得面-面邻接矩阵,采用三元组顺序表行主序压缩的方法存储面-面邻接矩阵;
第五步,面-面邻接矩阵的非对角线非零元数目的一半为公共边的数目,根据面元数目、公共边数目和非公共边数目的关系,由式子可求得非公共边元数目;
第六步,按面元编号顺次遍历面-面邻接矩阵,生成公共边的边-面关联矩阵和边-点关联矩阵;
第七步,按面元编号在生成公共边的同时判断非公共边,若有非公共边,则保存于非公共边的边-面关联矩阵,同时记录非公共边的边-点关联矩阵;
第八步,合并公共边元信息和非公共边元信息,得到完整的边元信息。
在第三步中,是采用稀疏矩阵转置来获得点-面关联矩阵,其操作为预先判断出所得矩阵的大小,并精确分配内存,无需超额分配内存空间,计算复杂度为
在利用稀疏矩阵转置获得点-面关联矩阵之后,后续处理的次序是:首先,生成面-面邻接矩阵,然后按面元编号顺次遍历每个面元,以生成公共边元信息和非公共边元信息,逐个存储于边-点关联和边-面关联矩阵中,最后合并公共边元信息和非公共边元信息,得到完整的边元信息。
在生成面-面邻接矩阵时,是采用稀疏矩阵乘法来实现矩阵相乘;相乘采用辅助一维数组,该一维数组在整除2之后所得的非0元素存入面-面邻接矩阵,该过程的计算复杂度和内存消耗都为
在得到完整的边元信息时,先根据面-面邻接矩阵判断出公共边元数目,再由公共边元数目、非公共边元数目和面元数目关系,得到非公共边元数目,然后开启存储公共边元和非公共边元所需的内存空间,无需超额分配内存空间。
有益效果:本发明的有益效果是,在场分析中,可直接利用网格生成器的数据快速获得边元信息,而所需的内存开销和计算量很少。其优点在于:(1)避免了专门针对面剖分的边单元开发或修改网格生成器,减少了重复开发;(2)通过稀疏矩阵压缩存储、转置和乘法得到关联矩阵和邻接矩阵,存储与计算复杂度都为线性,为最低复杂度;(3)与已公开快速方法相比,本发明所提的方法在内存开销与计算量更低。
附图说明
图1为几何体结构示意图;
图2为几何体经三角形剖分得到的示意图;
图3为一组三角形面剖分的边元信息生成的计算时间图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
第一步,利用网格生成器建立所需仿真对象的几何模型,并进行表面三角形网格剖分,之后导出几何体的网格单元的信息,包括节点坐标信息文件和单元节点信息文件即三角形的面-点关联矩阵;
第二步,从网格生成器剖分得到的数据文件读入节点坐标信息文件和三角形剖分单元的面-点关联矩阵,并采用三元组顺序表行主序压缩的方法存储三角形剖分单元的面-点关联矩阵;
第三步,对三角形的面-点关联矩阵转置得到三角形的点-面关联矩阵;
第四步,将三角形的面-点关联矩阵乘以点-面关联矩阵,所得乘积整除2,并将对角线置0,即得面-面邻接矩阵,采用三元组顺序表行主序压缩的方法存储面-面邻接矩阵;
第五步,面-面邻接矩阵的非对角线非零元数目的一半为公共边的数目,根据面元数目、公共边数目和非公共边数目关系,由式子可求得非公共边元数目;
第六步,按面元编号顺次遍历面-面邻接矩阵,生成公共边的边-面关联矩阵和边-点关联矩阵;
第七步,按面元编号在生成公共边的同时判断非公共边,若有非公共边,则保存于非公共边的边-面关联矩阵,同时记录非公共边的边-点关联矩阵;
第八步,合并公共边元信息和非公共边元信息,得到完整的边元信息。
本发明对图1所示的几何体生成边元信息的具体步骤如下:
注:为叙述方便,现规定三角形的元素关系如下:三角形的面、公共边、非公共边和点单元分别用f、lc、lb和n表示,其数目分别表示为;公共边和非公共边通称为边,表示为l;分别表示面-边、边-面、面-点、点-面和边-点关联矩阵;为面-面邻接矩阵。
第一步,利用网格生成器建立球体的几何模型,并进行三角形网格剖分,如图2所示,之后导出几何体的网格单元的信息,包括节点坐标信息文件和单元节点信息文件(即三角形面-点关联矩阵)。
第二步,读入节点坐标信息文件和三角形的面-点关联矩阵,并采用三元组顺序表行主序压缩的方法存储面-点关联矩阵
压缩存储即只存储稀疏矩阵的非零元素,除了需要存储非零元素的值之外,还有存储它所在行和列的位置。一个三元组顺序表的格式为,它唯一确定了矩阵的一个非零元素,其中表示为其所在行和列的位置,为该非零元素的值。采用行主序压缩存储的面-点关联矩阵如下所示,其中第1列i与第2列j分别为矩阵非零元素的行号与列号,第三列v为非零元素值。
    
第三步,对三角形的面-点关联矩阵转置得到三角形的点-面关联矩阵
显然,点-面关联矩阵的非零元数目和面-点关联矩阵的非零元数目是一样的。
通过稀疏矩阵转置可实现这一步骤,稀疏矩阵的转置其实就是将原矩阵的行压缩存储改为列压缩存储,首先通过遍历面-点关联矩阵,找出每个点所对应的面元数目,建立索引数组,之后再次遍历转存就可以得到该点-面关联矩阵,无需超额分配内存空间。采用行主序压缩存储的点-面关联矩阵如下所示,其中第1列i与第2列j分别为矩阵非零元素的行号与列号,第三列v为非零元素值。
     
第四步,将三角形的面-点关联矩阵乘以点-面关联矩阵,所得乘积整除2,并将对角线置0,即得面-面邻接矩阵,采用三元组顺序表行主序压缩的方法存储面-面邻接矩阵,形如
     
其中第1列i与第2列j分别为矩阵非零元素的行号与列号,第三列v为非零元素值。
第五步,面-面邻接矩阵的非对角非零元素数目的一半为公共边的数目,而面元数目、公共边和非公共边元数目满足如下。由此可得到非公共边元数目,为后面的边元信息分配内存空间,而无需超额分配内存空间。
第六步,按面元编号遍历面-面邻接矩阵,对于某个面元,若邻接面元编号大于自身,则记录公共边,保存于公共边-面关联矩阵,同时记录公共边-点关联矩阵,不然就是已经记录过的,跳过。
第七步,按面元编号在生成公共边的同时判断非公共边,若当前面元有3个邻接面元,表明该面的3条边都是公共边,否则存在非公共边。比较面元的3个节点序号和该面元包含的公共边的节点序号,就得到非公共边信息,保存于非公共边的边-面关联矩阵,同时记录非公共边的边-点关联矩阵。
第八步,合并公共边信息和非公共边信息,得到边-面关联矩阵和边-点关联矩阵
最后,为了显示本发明的有效性,在图3给出了一组三角形剖分的计算结果,可以看出其计算复杂度为
根据以上所述,便可实现本发明。

Claims (5)

1.一种几何体表面三角形剖分的公共边和非公共边快速生成方法,其特征在于该方法按以下步骤实现:
第一步,利用网格生成器建立所需仿真对象的几何模型,并进行表面三角形网格剖分,之后导出几何体的网格单元的信息,包括节点坐标信息文件和单元节点信息文件即三角形的面-点关联矩阵;
第二步,从网格生成器剖分得到的数据文件读入节点坐标信息文件和三角形剖分单元的面-点关联矩阵,并采用三元组顺序表行主序压缩的方法存储三角形剖分单元的面-点关联矩阵;
第三步,对三角形的面-点关联矩阵转置得到三角形的点-面关联矩阵;
第四步,将三角形的面-点关联矩阵乘以点-面关联矩阵,所得乘积整除2,并将对角线置0,即得面-面邻接矩阵,采用三元组顺序表行主序压缩的方法存储面-面邻接矩阵;
第五步,面-面邻接矩阵的非对角线非零元数目的一半为公共边的数目,根据面元数目Nf、公共边数目Nlc和非公共边数目Nlb的关系,由式子2Nlc+Nlb=3Nf可求得非公共边元数目;
第六步,按面元编号顺次遍历面-面邻接矩阵,对于某个面元,若邻接面元编号大于自身,则记录公共边,保存于公共边-面关联矩阵,同时记录公共边-点关联矩阵,不然就是已经记录过的,跳过;
第七步,按面元编号在生成公共边的同时判断非公共边,若有非公共边,则保存于非公共边的边-面关联矩阵,同时记录非公共边的边-点关联矩阵;
第八步,合并公共边元信息和非公共边元信息,得到完整的边元信息。
2.根据权利要求1所述的几何体表面三角形剖分的公共边和非公共边快速生成方法,其特征在于,在第三步中,是采用稀疏矩阵转置来获得点-面关联矩阵,其操作可预先判断出所得矩阵的大小,并精确分配内存,无需超额分配内存空间,计算复杂度为O(N)。
3.根据权利要求1所述的几何体表面三角形剖分的公共边和非公共边快速生成方法,其特征在于,在利用稀疏矩阵转置获得点-面关联矩阵之后,后续处理的次序是:首先,生成面-面邻接矩阵,然后按面元编号顺次遍历每个面元,以生成公共边元信息和非公共边元信息,逐个存储于边-点关联和边-面关联矩阵中,最后合并公共边元信息和非公共边元信息,得到完整的边元信息。
4.根据权利要求3所述的几何体表面三角形剖分的公共边和非公共边快速生成方法,其特征在于,在生成面-面邻接矩阵时,是采用稀疏矩阵乘法来实现矩阵相乘,相乘采用辅助一维数组,该一维数组在整除2之后所得的非0元素存入面-面邻接矩阵,该过程的计算复杂度和内存消耗都为O(N)。
5.根据权利要求3所述的几何体表面三角形剖分的公共边和非公共边快速生成方法,其特征在于,在得到完整的边元信息步骤中,先根据面-面邻接矩阵判断出公共边元数目,再由公共边元数目、非公共边元数目和面元数目关系,得到非公共边元数目,然后开启存储公共边元和非公共边元所需的内存空间,无需超额分配内存空间。
CN201210301738.2A 2012-08-23 2012-08-23 几何体表面三角形剖分的公共边和非公共边快速生成方法 Expired - Fee Related CN102799750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210301738.2A CN102799750B (zh) 2012-08-23 2012-08-23 几何体表面三角形剖分的公共边和非公共边快速生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210301738.2A CN102799750B (zh) 2012-08-23 2012-08-23 几何体表面三角形剖分的公共边和非公共边快速生成方法

Publications (2)

Publication Number Publication Date
CN102799750A CN102799750A (zh) 2012-11-28
CN102799750B true CN102799750B (zh) 2015-01-28

Family

ID=47198860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210301738.2A Expired - Fee Related CN102799750B (zh) 2012-08-23 2012-08-23 几何体表面三角形剖分的公共边和非公共边快速生成方法

Country Status (1)

Country Link
CN (1) CN102799750B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095278B (zh) * 2014-05-13 2018-09-07 华为技术有限公司 一种文件压缩方法及装置
CN107728113B (zh) * 2017-10-12 2020-11-24 杭州电子科技大学 被动毫米波成像模拟中多层亮温追踪的快速计算方法
CN109918782B (zh) * 2019-03-06 2020-10-27 北京理工大学 一种基于辅助树的多层快速多极子并行网格细剖方法
CN112965947B (zh) * 2021-03-10 2022-04-01 中国空气动力研究与发展中心计算空气动力研究所 多块结构网格数据深度压缩存储格式

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306396A (zh) * 2011-09-15 2012-01-04 山东大学 一种三维实体模型表面有限元网格自动生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990054793A (ko) * 1997-12-26 1999-07-15 정선종 3차원 형상 데이터로부터 특징형상을 추출하는 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306396A (zh) * 2011-09-15 2012-01-04 山东大学 一种三维实体模型表面有限元网格自动生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
导体磁场积分方程快速退化核算法的研究;许秀明;《中国优秀硕士学位论文全文数据库》;20120715;第9-13页 *
张明等.一种矩量法前处理的快速算法.《南京邮电大学学报(自然科学版)》.2010,第30卷(第5期),第8-10页. *

Also Published As

Publication number Publication date
CN102799750A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN103514243B (zh) 时空数据管理***和时空数据管理方法
CN102799750B (zh) 几何体表面三角形剖分的公共边和非公共边快速生成方法
CN104572833B (zh) 一种映射规则创建方法及装置
CN104570081A (zh) 一种积分法叠前时间偏移地震资料处理方法及***
CN101488157A (zh) 考虑制造差异的多目标最优化设计支持装置及方法
CN105389367A (zh) 基于Mongo数据库的电网图形多时态多级分布式存储方法
CN103714124B (zh) 超大规模低压数据处理方法
CN102495888B (zh) 一种面向并行数字地形分析的数据拆分与分发方法
CN104992297A (zh) 基于大数据平台聚类算法的电费回收风险评估装置及方法
CN103425692B (zh) 数据导出方法和装置
KR101358037B1 (ko) 대용량 cfd 병렬 데이터의 가시화를 위한 데이터 파일 포맷 구조로 데이터가 기록된 기록 매체 및 그 데이터 파일 포맷 구조 생성 방법
CN104091367B (zh) 基于ogre的三维场景存储方法及装置
CN107368451A (zh) 电路状态空间方程计算方法、装置和***
CN105480737A (zh) 基于三步动态规划的三维装箱方案生成方法
CN105893590A (zh) 一种用于数字地形分析建模知识案例化自动处理方法
CN102722621A (zh) 一种有限元法计算结果的可视化处理方法
Palmer et al. Efficient data IO for a parallel global cloud resolving model
CN103246793B (zh) 一种基于abaqus分析结果绘制轮胎接地云图的方法
CN103020264B (zh) 多子集实体数据的存储显示方法及装置
CN110008597A (zh) 基于并行计算框架的建筑信息模型三角剖分方法及装置
CN104484404A (zh) 一种改善分布式文件***中地理栅格数据文件处理方法
Heijungs et al. The basic model for inventory analysis
CN104598581A (zh) 一种基于rdf的电网资源可视化方法
CN104932982A (zh) 一种消息访存的编译方法及相关装置
Weiss et al. Supercubes: A high-level primitive for diamond hierarchies

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20121128

Assignee: Jiangsu Nanyou IOT Technology Park Ltd.

Assignor: NANJING University OF POSTS AND TELECOMMUNICATIONS

Contract record no.: 2016320000209

Denomination of invention: Method for quickly generating common side and non-common sides of geometry surface triangle

Granted publication date: 20150128

License type: Common License

Record date: 20161111

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
EC01 Cancellation of recordation of patent licensing contract

Assignee: Jiangsu Nanyou IOT Technology Park Ltd.

Assignor: NANJING University OF POSTS AND TELECOMMUNICATIONS

Contract record no.: 2016320000209

Date of cancellation: 20180116

EC01 Cancellation of recordation of patent licensing contract
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150128

Termination date: 20210823

CF01 Termination of patent right due to non-payment of annual fee