CN113888720A - 一种基于细分算法的空间曲面编织网格的生成方法 - Google Patents

一种基于细分算法的空间曲面编织网格的生成方法 Download PDF

Info

Publication number
CN113888720A
CN113888720A CN202111248297.XA CN202111248297A CN113888720A CN 113888720 A CN113888720 A CN 113888720A CN 202111248297 A CN202111248297 A CN 202111248297A CN 113888720 A CN113888720 A CN 113888720A
Authority
CN
China
Prior art keywords
mesh
curved surface
node
triangular
subdivision
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.)
Pending
Application number
CN202111248297.XA
Other languages
English (en)
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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN202111248297.XA priority Critical patent/CN113888720A/zh
Publication of CN113888720A publication Critical patent/CN113888720A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force analysis or force optimisation, e.g. static or dynamic forces

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

本公开提供一种曲面网格的生成方法、装置、设备和存储介质,包括:在所述曲面上构建三角流形网格;根据三角网格的各个网格边确定对应的细分节点;所述细分基点位于所述曲面上;连接所述三角网格中组成同一三角形的所述网格边对应的细分节点,得到细分网格边;采用所述细分网格边构建所述曲面网格。本公开提供的曲面网格生成方法、装置、电子设备、存储介质和计算机程序产品,在使用时无需考虑曲面的延伸方向的特性,能够直接基于曲面上的节点生成网格,并且能够生成较为丰富的网格图案。

Description

一种基于细分算法的空间曲面编织网格的生成方法
技术领域
本公开涉及计算机图形学技术领域,尤其涉及一种曲面网格的生成方法、装置、设备和存储介质。
背景技术
随着计算机辅助设计技术的发展,复杂几何曲面在建筑外形设计、产品造型设计中得到广泛应用。在某些应用领域,因为制作工艺和成本的限制,并不能采用传统方法实现复杂几何曲面,而是采用构件构件空间网格,利用空间网格近似地表达复杂几何曲面。
而将复杂几何曲面进行空间网格化需要同时兼顾网格形态的美观性、网格的可实现性和结构安全性需求;现有用于将复杂结合曲面进行网格化的方法在一些特殊应用中不能同时满足前述需求。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种曲面网格的生成方法、装置、设备和存储介质。
一方面,本公开提供一种曲面网格的生成方法,包括:
在所述曲面上构建三角流形网格;
根据三角网格的各个网格边确定对应的细分节点;所述细分基点位于所述曲面上;
连接所述三角网格中组成同一三角形的所述网格边对应的细分节点,得到细分网格边;
采用所述细分网格边构建所述曲面网格。
可选地,所述在所述曲面上构建三角流形网格,包括:
在所述曲面上设置多个第一节点,并设置各个所述第一节点对应的碰撞半径;
基于各个所述第一节点和对应的碰撞半径进行动力学模拟,确定各个所述第一节点的位置;
连接所述第一节点,构建所述三角流形网格。
可选地,所述方法还包括:在所述曲面的预定位置布设位置固定的第二节点,并设置各个所述第二节点对应的碰撞半径;
所述基于各个所述第一节点和对应的碰撞半径进行动力学模拟,确定各个所述第一节点的位置,包括:基于所述第一节点的碰撞半径、所述第二节点的碰撞半径和所述第二节点的位置进行动力学模拟,确定各个所述第一节点的位置;
所述连接各个所述第一节点,构建所述三角流形网格,包括:连接所述第一节点和所述第二节点,构建所述三角流形网格。
可选地,所述设置各个所述第一节点对应的碰撞半径,包括:
根据预先确定的网格疏密特征,设置各个所述第一节点对应的碰撞半径。
可选地,所述根据三角网格的各个网格边,分别确定对应的细分节点,包括:
确定所述三角网格中网格边的中点;
获取所述中点在所述曲面上的投影点,作为所述网格边对应的所述细分节点。
可选地,所述方法还包括:对所述细分网格边进行几何松弛,得到调整后的所述曲面网格。
可选地,所述方法还包括:
根据所述曲面网格的形态,调整所述三角网格的网格边位置而得到调整后的所述三角网格;调整后的所述三角网格仍然满足网格边较为均一的条件;
根据调整后所述三角网格的各个网格边确定调整后的所述细分节点;
连接调整后所述三角网格中组成同一三角形的所述网格边对应的所述细分节点,得到调整后的所述细分网格边;
采用调整后的所述细分网格边构建调整后的所述曲面网格。
另一方面,本公开提供一种曲面网格的生成装置,包括:
三角网格构建单元,用于在所述曲面上构建三角流形网格;
细分节点确定单元,用于根据三角网格的各个网格边确定对应的细分节点;所述细分基点位于所述曲面上;
细分网格边确定单元,用于连接所述三角网格中组成同一三角形的所述网格边对应的细分节点,得到细分网格边;
曲面网格确定单元,用于采用所述细分网格边构建所述曲面网格。
可选地,所述三角网格构建单元包括节点设定子单元,用于在所述曲面上设置多个第一节点,并设置各个所述第一节点对应的碰撞半径;
位置确定子单元,用于基于各个所述第一节点和对应的碰撞半径进行动力学模拟,确定各个所述第一节点的位置;
三角网格构建子单元,用于连接所述第一节点,构建所述三角流形网格。
可选地,所述节点设定子单元,还用于在所述曲面的预定位置布设位置固定的第二节点,并设置各个所述第二节点对应的碰撞半径;
所述位置确定子单元基于所述第一节点的碰撞半径、所述第二节点的碰撞半径和所述第二节点的位置进行动力学模拟,确定各个所述第一节点的位置;
所述三角网格构建子单元连接所述第一节点和所述第二节点,构建所述三角流形网格。
可选地,所述节点设定子单元根据预先确定的网格疏密特征,设置各个所述第一节点对应的碰撞半径。
可选地,所述细分节点确定单元包括:
中点选取子单元,用于确定所述三角网格中网格边的中点;
细分节点确定子单元,用于获取所述中点在所述曲面上的投影点,作为所述网格边对应的所述细分节点。
可选地,所述装置还包括:松弛处理单元,用于对所述细分网格边进行几何松弛,得到调整后的所述曲面网格。
可选地,所述装置还包括:三角网络调整单元,用于根据所述曲面网格的形态,在不改变所述的三角网格的拓扑形态的情况下,调整所述三角网格的网格边位置和长度而得到调整后的所述三角网格;调整后的所述三角网格仍然满足网格边较为均一的条件;
所述细分节点确定单元还用于,根据调整后所述三角网格的各个网格边确定调整后的所述细分节点;
所述细分网格边确定单元还用于,连接调整后所述三角网格中组成同一三角形的所述网格边对应的所述细分节点,得到调整后的所述细分网格边;
所述曲面网格确定单元还用于,采用调整后的所述细分网格边构建调整后的所述曲面网格。
再一方面,本公开提供一种电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据如前所述的方法。
再一方面,本公开提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如前任一项所述的方法。
再一方面,本公开提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现如前任一项所述的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开提供的曲面网格生成方法、装置、电子设备、存储介质和计算机程序产品,在使用时无需考虑曲面的延伸方向的特性,能够直接基于曲面上的节点生成网格,并且能够生成较为丰富的网格图案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是采用投影法生成的曲面网格的结构示意图;
图2是采用投影法生成的多个曲面网格的局部结构示意图;
图3是本公开一些实施例提供的曲面网格生成方法流程图;
图4是采用本公开提供的曲面网格构建方法构建得到的一个曲面网格;
图5是本公开一些实施例采用的构建三角网络步骤的流程图;
图6为采用一种网格生成方法生成的曲面网格的示意图;
图7是采用另一网格生成方法生成的曲面网格的示意图;
图8是采用本公开实施例网格生成方法生成的曲面网格结构示意图;
图9是图8对应的第一节点碰撞半径设置示意图;
图10是本公开实施例提供的一种曲面网格生成方法流程图;
图11是本公开一些实施例提供的曲面网格生成方法流程图;
图12是本公开实施例提供的曲面网格生成装置的结构示意图;
图13是本公开提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
为了通过对照的方式确定本公开实施例提供的曲面网格生成方法能够达到何种技术效果,在对本公开实施例提供的曲面网格生成方法做讲解前,首先对现有技术采用的曲面网格生成方法做示例性说明,并对各个曲面网格生成方法的问题做分析。现有技术中,将复杂几何曲面进行网格化的方法包括投影法和细分法。
采用投影法生成曲面网格的步骤包括:在平面上设计特定形态的平面网格;随后,沿某一方向将平面网格投影至复杂几何曲面,得到曲面网格。采用投影法构建曲面网格对投影方向和复杂几何曲面的基础曲面形态均有限制。
图1是采用投影法生成的曲面网格的结构示意图,图1中的曲面网格100是采用了正投影的方式将平面网络投影值复杂几何曲面而得到。请观察图1中曲面网格100的边缘网格,由于图1显示的复杂几何曲面的边缘延伸方向和正投影的投影方向接***行,复杂几何曲面的边缘区域网格相对于平面网格的变形严重。
而为了保证最终形成的实体网格结构的结构性能,使得造型贴合复杂几何曲面,曲面网格100的边长应当尽可能地均匀;投影法在某些应用中无法达到前述需求,因此其应用受到限制;较为确定的是,投影法在建筑外形设计(特别是在复杂几何曲面的幕墙设计)中的应用受限。
采用细分法生成曲面网格的步骤包括:确定复杂集合曲面上的节点,以及节点之间的连接关系;根据节点和节点之间的连接关系,在复杂几何曲面上构建网格边;通过网格边组合而形成曲面网格。
细分法生成的曲面网格有下述缺点:(1)根据微分几何证明,在在网格节点数量相同的情况下,采用细分法生成的曲面网格局部尺寸与复杂几何曲面在此处的第一基本型相关;对于形态过于扭曲的复杂几何曲面,曲面网格存在疏密不匀和局部变形的情况;(2)对于某些特定的复杂几何曲面,细分法采用双向菱形网格时会产生奇点;奇点的连接性与普通节点的连接性并不相同,使得奇点所在区域的网格图案与其他区域的网格图案差异较大;此外,除奇点所在区域的网格外,其他区域的网格的图案较为单调;(3)经过实践证明,细分法并不适用于Mesh网格。
图2是采用投影法生成的多个曲面网格的局部结构示意图;图2所示的曲面网格200中,颜色较深的节点为奇点。可看到,在奇点区域的网格形态较为特别,奇点连接的网格边数量多于常规节点;如果将曲面网格200实体化,因为连接网格边过多,奇点对应的施工较为复杂,其成为应力集中点的可能性较大。请继续参见图2,在除奇点区域外的其他网格部分,图案较为单调。
为尽可能地解决现有技术已有曲面网格生成方法的问题,本公开实施例提供一种曲面网格生成方法。
曲面网格生成方法一可以由计算机设备执行;示例性地,计算机设备可以为笔记本电脑、台式机、云端服务器、服务器集群等具有计算和图形处理能力的设备。
图3是本公开一些实施例提供的曲面网格生成方法流程图。如图3所示,本公开实施例提供的曲面网格生成方法包括步骤S101-步骤S104。
步骤S101:在曲面上构建三角流形网格。
在本公开一些实施例中,在曲面上构建三角流形网络的方法包括如下的步骤S1011-S1013。
步骤S1011:在曲面上布设多个第一节点,并设置各个第一节点对应的碰撞半径。
应当注意的是,在曲面上布设多个第一节点,仅是确定这些第一节点在曲面上,并且第一节点是用于构建三角网格的节点,但是各个第一节点在曲面上的位置还未确定。
在本公开的一些实施例中,虽然各个第一节点在曲面上的位置尚未确定,但是各个第一节点的空间方位关系大体已经确定。
碰撞半径是用于限定相邻的两个第一节点之间距离的一设定数值。本公开实施例中,每个第一节点均有一个设定的碰撞半径;较为形象地理解,基于一个第一节点和其对应的碰撞半径,可以确定一个以第一节点为球心,以碰撞半径为半径的圆球;各个第一节点对应的圆球用于后续的动力学模拟而确定各个第一节点的位置。
步骤S1012:基于各个第一节点和对应的碰撞半径进行动力学模拟,确定各个第一节点的位置。
本公开一些实施例中,采用圆堆积(circle packing)算法基于第一节点和对应的碰撞半径进行动力学模拟。具体的,可以采用以各个第一节点为球心、以碰撞半径为半径的圆球之间相互挤压,通过挤压而调整各个第一节点的位置,直至整个曲面上各个圆球的位置固定;在各个圆球位置稳定后,各个第一节点的位置也就确定。
在本公开的一些实施例中,可以采用基于粒子***的动力学模拟,确定各个第一节点的位置;在本公开的其他实施例中,也可以采用其他的动力学模拟方法,确定各个第一节点的位置。
在本公开一些实施例中,为了能够得到网格边较为均一的三角网格,各个第一节点对应的碰撞半径可以设置为相同或者较为相近。
在本公开另外一些实施例中,为了生成特定图案效果的曲面网格,也可以随机地设置各个第一节点对应的碰撞半径。例如,可以首先设置碰撞半径的可选范围区间,在设置第一节点对应的碰撞半径时,在此可选范围区间内随机地选择一个数值作为某一第一节点对应的碰撞半径。
步骤S1013:连接各个第一节点,构建三角流形网格。
因为各个第一节点的位置基于第一节点和对应的碰撞半径进行动力学模拟得到,所以连接相邻第一节点构建的三角网格必然满足网格边较为均一的条件。
在本公开另外一些实施例中,在曲面上三角流形网络的方法是还可以采用诸如德劳内三角剖分算法等的其他方法。其中,采用德劳内三角剖分算法构建三角网格的方法包括:在曲面上设置位置固定的节点,随后采用德劳内三角剖分算法基于位置固定的节点得到三角网格;具体采用的德劳内三角剖分算法可以为翻边算法、逐点***算法、分割合并算法或者Bowyer-Waston算法中的一种。
构建三角流形网格后,执行步骤S102。
步骤S102:根据三角网格的各个网格边确定对应的细分节点。
本申请实施例中,各个网格边对应的细分节点是位于曲面上的节点。
在本公开一些实施例中,根据网格边确定对应的细分节点可以包括步骤S1021-S1022。
步骤S1021:选取三角网格中网格边的中点。
因为三角网格中各个网格节点(也就是第一节点)的位置确定,而网格边由两个第一节点连接形成,所以根据两个第一节点的位置可以确定网格边的中点。
步骤S1022:获取中点在曲面上的投影点,作为网格边对应的细分节点。
本公开一些实施例中,可以采用诸如正投影、法线投影的方法确定中点在曲面上的投影点,而确定细分节点。
前述的步骤S1021-S1022是根据三角网格中网格边的中点确定对应的细分节点;在本公开的一些其他实施例中,可以采用网格边的其他点确定对应的细分节点。例如可以通过随机选取的方法,选取网格边中间区域中的任一点作为参考点,再基于此参考点确定确定对应的细分节点。
在本公开其他实施例中,也可以采用其他本领域已知的方法确各个网格边对应的细分节点。
应当注意的是,不管采用何种方法确定细分节点,细分节点的数量和三角网格网格边的数量相同,使得后续得到的曲面网格与曲面上的三角网格具有一一对应的关系。
步骤S103:连接所述三角网格中组成同一三角形的所述网格边对应的细分节点,得到细分网格边。
本公开实施例中,如果三角网格的两个网格边具有共同的端点(也就是第一节点),并且相连网格边为组成三角网络中同一三角形的网格边,则将两个网格边对应的细分节点连接,得到细分网格边。
步骤S104:采用细分网格边构建曲面网格。
在确定各个细分网格边后,将各个细分网格边按照细分节点进行连接,即可以构建出第一曲面网络。
本公开实施例提供的曲面网格生成方法,无需考虑曲面的延伸方向的特性,能够直接基于曲面上的节点生成网格,因此可以应用中诸如Mesh网格、非均匀有理B样条曲面和T-样条曲面等复杂几何曲面网格的构建。并且本公开实施例提供的曲面网格生成方法,能够生成较为丰富的网格图案。
图4是采用本公开提供的曲面网格构建方法构建得到的一个曲面网格。请参见图4,采用本公开实施例提供的方法构建的曲面网格400中,网格图案包括六边形401、少量的五边形402和七边形403,以及围绕前述六边形401、五边形402和七边形403的三角形404;网格图案边变化相对较为丰富。
经过几何学证明,采用本公开实施例提供方法生成的曲面网格400,五边形402主要出现在曲面高斯曲率K>0的区域,七边形403主要出现在曲面高斯曲率K<0的区域,六边形404出现在高斯曲率接近0的位置,该机制使得曲面网格400能够适应各种复杂的自由曲面。
请继续参见图4,采用本方法构建的曲面网格400中,除了曲面边界的细分节点外,其他的所有细分节点均与周围的四个细分节点连接,并不会出现细分节点为奇点的问题。
图5是本公开一些实施例采用的构建三角网络步骤的流程图。如图5所示,在本公开实施一些实施例中,构建三角网格的方法包括步骤S201-S204;步骤S201-S204可以替代前述的步骤S1011-S1013而生成三角流形网格。
步骤S201:在曲面的预定位置布设位置固定的第二节点,并且设置各个第二节点对应的碰撞半径。
步骤S202:在曲面上设置多个第一节点,并设置各个第一节点对应的碰撞半径。
步骤S203:基于第一节点的碰撞半径、第二节点的碰撞半径和第二节点的位置进行动力学模拟,确定各个第一节点的位置。
步骤S204:连接各个第一节点,构建三角流形网格。
在本公开的一些实施例中,采用前述的步骤S201-S204,可以在曲面的预定位置处设置具有特定形态的网格图案;因为后续步骤S104生成的曲面网格与曲面特定的三角网格具有一一对应的关系,所以采用前述方法能够构建得到局部形态特定的曲面网格。
图6为采用一种网格生成方法生成的曲面网格的示意图;图7是采用另一网格生成方法生成的曲面网格的示意图;图6和图7是在相同的曲面上生成曲面网格。
用于生成图6的曲面网格600生成方法采用步骤S1011-S1013在曲面上构建了三角流形网格;用于生成图7的曲面网格700生成方法采用步骤S201-S204在曲面上构建了三角流形网格。
在图7对应的方法中,曲面的下侧尖角处设置位置固定的第二节点701(图中的下侧突出显示的节点);经过比对图6和图7可知,基于步骤S201-S204的曲面网格生成方法得到的曲面网格在曲面下侧边缘形成了尖角区域702。
在本公开实施例的一些应用中,设置各个第一节点对应的碰撞半径可以包括:根据预先设定的曲面网格疏密特征,设置各个第一节点对应的碰撞半径。
根据预先设定的网格疏密特征,设置各个第一节点对应的碰撞半径,并按照相应的碰撞半径调整采用动力学模拟构建三角网格,可以使得三角网格的网格疏密特征符合预先设定的网格疏密特征;因为曲面网格与曲面特定的三角网格具有一一对应的关系,所以基于此三角网格生成的曲面网格也具有预先设定的网格疏密特征。
图8是采用本公开实施例网格生成方法生成的曲面网格结构示意图。如图8所示,由球形曲面800的左侧到球形曲面的右侧,曲面网格801的网格密度由密到疏。在采用曲面网格生成方法的步骤S101构建三角网格时,按照预先设定的网格左密右疏的渐变趋势,设置第一节点的碰撞半径从球形曲面的左侧到球形曲面的右侧渐次地增加。
图9是图8对应的第一节点碰撞半径设置示意图,图9以圆901大小的方式示例性地显示出第一节点的碰撞半径变化趋势,正是按照图9示出的碰撞半径变化趋势,才得到图8所示的曲面网格。
应当注意的是,图8和图9仅是示例性地表示一种曲面网格疏密变化特征,以及基于此疏密变化特征设置的第一节点的碰撞半径;在其他实施例中,也可以按照其他的网格疏密特征设置第一节点的碰撞半径,继而得到对应疏密变化特征的曲面网格。
图10是本公开实施例提供的一种曲面网格生成方法流程图。如图10所示,在本公开一些实施例中,曲面网格生成方法除了包括前述方法实施例中的步骤S101-S104外,还包括步骤S105;此处仅就方法中增加的步骤S105做描述,步骤S101-S104可以参照前文叙述。
S105:对曲面网格的各个细分网格边进行几何松弛,得到调整后的曲面网格。
对曲面网格的细分网格边进行几何松弛,可以在不改变生成的曲面网格的整体形态和网络拓扑的条件下,微调曲面网格中图案的形态。
在本公开一些实施例中,如果严格按照前述步骤S101-S103生成曲面网格,曲面网格中的细分网格边为直线,网格线的连续性较差;并且,在曲面网格实体化后,在细分节点处可能出现应力集中问题。通过对曲面网格的细分网格边进行几何松弛,可以适当调整调整细分网格的走向,使得细分网格边更为平滑,也调整了曲面网格中团的形态。
在本公开一些实施例中,可以采用拉普拉斯平滑算法、网格投影和边界点均分方法对细分网格边记进行几何松弛。
在本公一些实施例中,经过几何松弛,多个细分网格边可以被处理为一条顺畅的平滑曲线。在将此曲面网格进行实体化后,与此平滑曲线对应的网格杆件可以作为控制线,以减小曲面网格出现的局部应力集中的问题。另外,在采用杆件组合形成曲面网格过程中,因为杆件的切断和连接较少,所以形成曲面网格的施工工作相对简便。
在本公开实施例的一些应用中,对曲面网格的各个细分网格边进行几何松弛,还包括可以按照细分网格边所在区域的曲面形态对细分网格边进行平滑调整。如此,可以使得细分网格边接近曲面的测地线;在将曲面网格实体化为曲面结构后,杆件的曲率可以设置地较小,其结构安全储备高。
图11是本公开一些实施例提供的曲面网格生成方法流程图。如图11所示,在本公开的一些实施例中,曲面网格的生成方法除了包括步骤S101-S104外,还包括在步骤S104后执行的步骤S106-S109;此处仅就方法中增加的步骤S106-S109做描述,步骤S101-S104可以参照前文叙述。
S106:根据曲面网格的形态,调整三角网格的网格边位置而得到调整后的三角网格。
调整后的三角网格仍然满足网格边较为均一的条件。
本公开一些实施例中,根据曲面网格的形态调整三角网格的网格边,包括:根据实际得到曲面网格的形态,确定不符合需求曲面网格的网格区域;在确定不符合需求的曲面网格区域后,基于网格区域的细分网格边,查找对应的三角网格网格边,随后再调整查找到的三角网格网格边,以得到调整后的三角网格。
在一些实施例中,可以根据曲面网格的形状特征、尺寸特征确定不符合需求的曲面网格区域;例如,如果某一曲面网格的网格区域为六边形,并且六边形为压扁的六边形,则确定此区域为不符合需求的网格区域。
在本公开一些实施例中,调整后的三角网格是仍然满足网格边较为均一的条件的三角网格。
S107:根据调整后三角网格的各个网格边确定调整后的细分节点。
S108:连接调整后三角网格中组成同一三角形的网格边对应的细分节点,得到调整后的细分网格边。
S109:采用调整后的细分网格边构建调整后的曲面网格。
步骤S107-S109的具体执行过程和前述的步骤S102-S104类似,具体可以参见前述的步骤S102-S104,此处不再复述。
应当注意的是,因为曲面网格与曲面特定的三角网格具有一一对应的关系,所以经过步骤S106-S109得到了与调整前不同形态调整后曲面网格。
本公还提供一种曲面网格生成装置。图12是本公开实施例提供的曲面网格生成装置的结构示意图。如图12所示,本公开实施例提供的曲面网格生成装置包括三角网格构建单元1201、细分节点确定单元1202、细分网格边确定单元1203和曲面网格确定单元1204。
三角网格构建单元1201用于在曲面上构建三角流形网格;细分节点确定单元1202用于根据三角网格的各个网格边确定对应的细分节点;细分基点位于曲面上;细分网格边确定单元1203用于连接三角网格中组成同一三角形的网格边对应的细分节点,得到细分网格边;曲面网格确定单元1204用于采用细分网格边构建曲面网格。
在本公开一些实施例中,三角网格构建单元1201包括节点设定子单元、位置确定子单元和三角网格构建子单元。
节点设定子单元用于在曲面上设置多个第一节点,并设置各个第一节点对应的碰撞半径;位置确定子单元用于基于各个第一节点和对应的碰撞半径进行动力学模拟,确定各个第一节点的位置;三角网格构建子单元用于连接第一节点,构建三角流形网格。
在本公开一些实施例中,节点设定子单元还用于在曲面的预定位置布设位置固定的第二节点,并设置各个第二节点对应的碰撞半径;
对应的,位置确定子单元基于第一节点的碰撞半径、第二节点的碰撞半径和第二节点的位置进行动力学模拟,确定各个第一节点的位置;三角网格构建子单元连接第一节点和第二节点,构建三角流形网格。
在本公开一些实施例中,节点设定子单元根据预先确定的网格疏密特征,设置各个第一节点对应的碰撞半径。
在本公开一些实施例中,细分节点确定单元1202包括中点选取子单元和细分节点确定子单元;中点选取子单元用于确定三角网格中网格边的中点;细分节点确定子单元用于获取中点在曲面上的投影点,作为网格边对应的细分节点。
在本公开一些实施例中,松弛处理单元用于对细分网格边进行几何松弛,得到调整后的曲面网格。
三角网络调整单元,用于根据曲面网格的形态,调整三角网格的网格边位置而得到调整后的三角网格;调整后的三角网格仍然满足网格边较为均一的条件;
在本公开一些实施例中,曲面网格生成装置还包括三角网络调整单元;三角网络调整单元用于根据曲面网格的形态,调整三角网格的网格边位置而得到调整后的三角网格;调整后的三角网格仍然满足网格边较为均一的条件。
对应的,细分节点确定单元1202还用于根据调整后三角网格的各个网格边确定调整后的细分节点;细分网格边确定单元1203还用于,连接调整后三角网格中组成同一三角形的网格边对应的细分节点,得到调整后的细分网格边;曲面网格确定单元1204还用于,采用调整后的细分网格边构建调整后的曲面网格。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
图13是本公开提供的电子设备的结构示意图,请参考图13,现将描述可以作为本公开的服务器或客户端的电子设备1200的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图13所示,电子设备1300包括计算单元1301,其可以根据存储在只读存储器(ROM)1302中的计算机程序或者从存储单元1308加载到随机访问存储器(RAM)1303中的计算机程序,来执行各种适当的动作和处理。在RAM 1303中,还可存储设备1300操作所需的各种程序和数据。计算单元1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
电子设备1300中的多个部件连接至I/O接口1305,包括:输入单元1306、输出单元1307、存储单元1308以及通信单元1309。输入单元1306可以是能向电子设备1300输入信息的任何类型的设备,输入单元1306可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元1307可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1304可以包括但不限于磁盘、光盘。通信单元1309允许电子设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元1301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1301执行上文所描述的各个方法和处理。例如,在一些实施例中,曲面网格生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1302和/或通信单元1309而被载入和/或安装到电子设备1300上。在一些实施例中,计算单元1301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行曲面网格生成方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (17)

1.一种曲面网格生成方法,其特征在于,包括:
在所述曲面上构建三角流形网格;
根据三角网格的各个网格边确定对应的细分节点;所述细分基点位于所述曲面上;
连接所述三角网格中组成同一三角形的所述网格边对应的细分节点,得到细分网格边;
采用所述细分网格边构建所述曲面网格。
2.根据权利要求1所述的方法,其特征在于,所述在所述曲面上构建三角流形网格,包括:
在所述曲面上设置多个第一节点,并设置各个所述第一节点对应的碰撞半径;
基于各个所述第一节点和对应的碰撞半径进行动力学模拟,确定各个所述第一节点的位置;
连接所述第一节点,构建所述三角流形网格。
3.根据权利要求2所述的方法,其特征在于,
所述方法还包括:在所述曲面的预定位置布设位置固定的第二节点,并设置各个所述第二节点对应的碰撞半径;
所述基于各个所述第一节点和对应的碰撞半径进行动力学模拟,确定各个所述第一节点的位置,包括:基于所述第一节点的碰撞半径、所述第二节点的碰撞半径和所述第二节点的位置进行动力学模拟,确定各个所述第一节点的位置;
所述连接各个所述第一节点,构建所述三角流形网格,包括:连接所述第一节点和所述第二节点,构建所述三角流形网格。
4.根据权利要求2或3所述的方法,其特征在于,所述设置各个所述第一节点对应的碰撞半径,包括:
根据预先确定的网格疏密特征,设置各个所述第一节点对应的碰撞半径。
5.根据权利要求1所述的方法,其特征在于,所述根据三角网格的各个网格边,分别确定对应的细分节点,包括:
确定所述三角网格中网格边的中点;
获取所述中点在所述曲面上的投影点,作为所述网格边对应的所述细分节点。
6.根据权利要求1所述的方法,其特征在于,还包括:
对所述细分网格边进行几何松弛,得到调整后的所述曲面网格。
7.根据权利要求1所述方法,其特征在于,还包括:
根据所述曲面网格的形态,调整所述三角网格的网格边位置而得到调整后的所述三角网格;调整后的所述三角网格仍然满足网格边较为均一的条件;
根据调整后所述三角网格的各个网格边确定调整后的所述细分节点;
连接调整后所述三角网格中组成同一三角形的所述网格边对应的所述细分节点,得到调整后的所述细分网格边;
采用调整后的所述细分网格边构建调整后的所述曲面网格。
8.一种曲面网格的生成装置,其特征在于,包括:
三角网格构建单元,用于在所述曲面上构建网格边较为均一的三角流形网格;
细分节点确定单元,用于根据三角网格的各个网格边确定对应的细分节点;所述细分基点位于所述曲面上;
细分网格边确定单元,用于连接所述三角网格中组成同一三角形的所述网格边对应的细分节点,得到细分网格边;
曲面网格确定单元,用于采用所述细分网格边构建所述曲面网格。
9.根据权利要求8所述的装置,其特征在于,所述三角网格构建单元包括:
节点设定子单元,用于在所述曲面上设置多个第一节点,并设置各个所述第一节点对应的碰撞半径;
位置确定子单元,用于基于各个所述第一节点和对应的碰撞半径进行动力学模拟,确定各个所述第一节点的位置;
三角网格构建子单元,用于连接所述第一节点,构建所述三角流形网格。
10.根据权利要求9所述的装置,其特征在于,
所述节点设定子单元,还用于在所述曲面的预定位置布设位置固定的第二节点,并设置各个所述第二节点对应的碰撞半径;
所述位置确定子单元基于所述第一节点的碰撞半径、所述第二节点的碰撞半径和所述第二节点的位置进行动力学模拟,确定各个所述第一节点的位置;
所述三角网格构建子单元连接所述第一节点和所述第二节点,构建所述三角流形网格。
11.根据权利要求9或10所述的装置,其特征在于,
所述节点设定子单元根据预先确定的网格疏密特征,设置各个所述第一节点对应的碰撞半径。
12.根据权利要求8所述的装置,其特征在于,所述细分节点确定单元包括:
中点选取子单元,用于确定所述三角网格中网格边的中点;
细分节点确定子单元,用于获取所述中点在所述曲面上的投影点,作为所述网格边对应的所述细分节点。
13.根据权利要求8所述的装置,其特征在于,还包括:
松弛处理单元,用于对所述细分网格边进行几何松弛,得到调整后的所述曲面网格。
14.根据权利要求1所述的装置,其特征在于,还包括:
三角网络调整单元,用于根据所述曲面网格的形态,调整所述三角网格的网格边位置而得到调整后的所述三角网格;调整后的所述三角网格仍然满足网格边较为均一的条件;
所述细分节点确定单元还用于,根据调整后所述三角网格的各个网格边确定调整后的所述细分节点;
所述细分网格边确定单元还用于,连接调整后所述三角网格中组成同一三角形的所述网格边对应的所述细分节点,得到调整后的所述细分网格边;
所述曲面网格确定单元还用于,采用调整后的所述细分网格边构建调整后的所述曲面网格。
15.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-7中任一项所述的方法。
CN202111248297.XA 2021-10-26 2021-10-26 一种基于细分算法的空间曲面编织网格的生成方法 Pending CN113888720A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111248297.XA CN113888720A (zh) 2021-10-26 2021-10-26 一种基于细分算法的空间曲面编织网格的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111248297.XA CN113888720A (zh) 2021-10-26 2021-10-26 一种基于细分算法的空间曲面编织网格的生成方法

Publications (1)

Publication Number Publication Date
CN113888720A true CN113888720A (zh) 2022-01-04

Family

ID=79014468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111248297.XA Pending CN113888720A (zh) 2021-10-26 2021-10-26 一种基于细分算法的空间曲面编织网格的生成方法

Country Status (1)

Country Link
CN (1) CN113888720A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117197397A (zh) * 2023-11-06 2023-12-08 广州中望龙腾软件股份有限公司 曲面自适应采样方法、装置、存储介质及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070002043A1 (en) * 2005-06-30 2007-01-04 Microsoft Corporation Triangulating procedural geometric objects
CN101833789A (zh) * 2010-01-26 2010-09-15 南京师范大学 一种顾及特征约束的四面体网格离散算法
CN102194252A (zh) * 2011-05-17 2011-09-21 北京航空航天大学 一种基于地质层面结构的三角形格架网格生成方法
CN102867332A (zh) * 2012-08-29 2013-01-09 电子科技大学 基于复杂边界约束的多级细分网格曲面拟合方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070002043A1 (en) * 2005-06-30 2007-01-04 Microsoft Corporation Triangulating procedural geometric objects
CN101833789A (zh) * 2010-01-26 2010-09-15 南京师范大学 一种顾及特征约束的四面体网格离散算法
CN102194252A (zh) * 2011-05-17 2011-09-21 北京航空航天大学 一种基于地质层面结构的三角形格架网格生成方法
CN102867332A (zh) * 2012-08-29 2013-01-09 电子科技大学 基于复杂边界约束的多级细分网格曲面拟合方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEIXIN HUANG 等: ""A Weaving Structure for Design & Construction of Organic Geometry"", 《PROCEEDINGS OF THE IASS ANNUAL SYMPOSIUM 2017》, pages 4 - 5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117197397A (zh) * 2023-11-06 2023-12-08 广州中望龙腾软件股份有限公司 曲面自适应采样方法、装置、存储介质及计算机设备
CN117197397B (zh) * 2023-11-06 2024-03-01 广州中望龙腾软件股份有限公司 曲面自适应采样方法、装置、存储介质及计算机设备

Similar Documents

Publication Publication Date Title
Wang et al. Intrinsic computation of centroidal Voronoi tessellation (CVT) on meshes
CN111859488B (zh) 支撑结构生成方法、装置、电子设备以及存储介质
CN112560125B (zh) 晶格结构模型的生成方法、生成***、及前处理***
EP2817783A1 (en) Method and apparatus for mesh simplification
CN106960470B (zh) 三维点云曲面重建方法及装置
CN110363859B (zh) 一种异形曲面构筑物的空间网格模型三角剖分方法
CN115169569A (zh) 超导量子芯片设计方法及装置、电子设备和介质
CN102831283B (zh) 一种基于曲面特征的复杂产品模型构建方法
CN113888720A (zh) 一种基于细分算法的空间曲面编织网格的生成方法
Lv et al. Adaptively isotropic remeshing based on curvature smoothed field
CN108153706A (zh) 一种超大规模计算网格重构方法
Wang et al. Triangular mesh generation on free-form surfaces based on bubble dynamics simulation
CN101546351B (zh) 一种叶轮的变复杂度形状优化的几何参数化建模方法
Shuai et al. GPU-based computation of discrete periodic centroidal Voronoi tessellation in hyperbolic space
CN106652036B (zh) 面向高效渲染的二维三角网格生成方法
Favilli et al. Geometric deep learning for statics-aware grid shells
CN115859749A (zh) 三维模型的约束建立方法、装置、电子设备及存储介质
CN117152341A (zh) 三维面提取方法、设备及存储介质
CN112231800B (zh) Bim图形的优化方法、装置以及计算机存储介质
CN114170385B (zh) 实时生成模型剖面带洞网格的方法、装置、介质和设备
Xiaodong et al. Mesh simplification based on super-face and genetic algorithm in reverse engineering
CN115888085A (zh) 游戏信息的处理方法、装置和存储介质
CN118541730A (zh) 三维模型的低多边形网格生成
US10902675B2 (en) Graphical modelling by smoothing polyhedral meshes with multi-sided patches
CN113158307A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20220104