CN114494651B - 曲面细分处理方法、装置、电子设备及存储介质 - Google Patents
曲面细分处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114494651B CN114494651B CN202210406115.5A CN202210406115A CN114494651B CN 114494651 B CN114494651 B CN 114494651B CN 202210406115 A CN202210406115 A CN 202210406115A CN 114494651 B CN114494651 B CN 114494651B
- Authority
- CN
- China
- Prior art keywords
- edge
- nearest neighbor
- segment
- coordinate point
- pointer
- 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
- G06T17/205—Re-meshing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明实施例提供了一种曲面细分处理方法、装置、电子设备以及存储介质,其中的方法包括:根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点;其中,所述外部细分参数和所述内部细分参数不同;根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引;其中,第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点;根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。本发明实施例可以生成更加均匀的交接区域三角形。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种曲面细分处理方法、一种曲面细分处理装置、一种电子设备以及一种存储介质。
背景技术
曲面细分是计算机图形学中使用的技术,可以将一组表示场景中对象的曲面分成许多更小且更简单的面片。对于每一面片即一批描述图元的顶点集合,能够自动生成大量顶点。这样在CPU(Central Processing Unit,中央处理器)向GPU(Graphics ProcessingUnit,图形处理器)传递数据时,可以仅传递少量的顶点和对应的曲面方程,减少了CPU向GPU传输数据的传输带宽压力以及GPU顶点存储的压力。
在曲面细分过程中,内部区域和外部三角形之间存在交接区域,如图1所示。外部细分参数用于控制外部三角形(如图1所示的最外层三角形)的每条边如何细分。内部区域指次外层三角形围成的区域,内部细分参数用于控制内部区域包含的三角形的层数,内部区域中的三角形称为内部三角形,内部细分参数还用于控制内部三角形的每条边如何细分。在外部细分参数与内部细分参数相同的情况下,交接区域中可以生成均匀的三角形。然而,在外部细分参数与内部细分参数不同的情况下,交接区域中可能会生成一些狭长的三角形,如图2,示出了图1的一个交接区域中生成的三角形示意图。图2中的(a)图示出的外部细分参数为2,内部细分参数为8。图2中的(b)图示出的外部细分参数为6,内部细分参数为19。
可以看出,当外部细分参数与内部细分参数存在差异时,交接区域中生成的三角形扇面可能会过于向某一点集中,即会生成许多不希望出现的狭长的三角形,进而影响后续图案贴合的效果。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种曲面细分技术中曲面细分处理方法、可以解决生成狭长而不均匀的连接区域三角形的问题,生成更加均匀的交接区域三角形。
相应的,本发明实施例还提供了一种曲面细分处理装置、电子设备、以及一种存储介质,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种曲面细分处理方法,所述方法包括:
根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点;其中,所述外部细分参数和所述内部细分参数不同;
根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引;其中,第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点;
根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。
本发明实施例还公开了一种曲面细分处理装置,所述装置包括:
域坐标点计算模块,用于根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点;其中,所述外部细分参数和所述内部细分参数不同;
最近邻索引计算模块,用于根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引;其中,第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点;
连接信息生成模块,用于根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。
本发明实施例还公开了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述中任一所述的曲面细分处理方法的步骤。
本发明实施例还公开了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时能够实现本发明实施例中一个或多个所述的曲面细分处理方法。
本发明实施例提供的曲面细分处理方法、装置、电子设备及存储介质包括以下优点:
本发明实施例提供了一种曲面细分处理方法,可应用于曲面细分器中生成交接区域三角形连接信息,根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点,以及计算所述第一边上每一段的最近邻索引;根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。其中,第一边上第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点。本发明实施例利用第一边上每一段的最近邻索引生成目标交接区域中的三角形连接信息,可以保证第一边上的每一段与其对应第二边上最近的第二域坐标点建立三角形连接信息,可以避免生成狭长的三角形,使得目标交接区域中生成的三角形更加均匀,可以提高后续图案贴合的效果。
附图说明
图1是一种交接区域的示意图;
图2是图1的一个交接区域中生成的三角形示意图;
图3是本发明的一种曲面细分处理方法实施例的步骤流程图;
图4是三角形曲面细分和矩形曲面细分场景下的目标交接区域的示意图;
图5是本发明一个示例中生成域坐标点的示意图;
图6是本发明一个示例中半个目标区域的示意图;
图7是利用本发明的曲面细分处理方法生成目标交接区域中三角形的示意图;
图8是本发明一种生成第一边上每一段的最近邻索引的流程示意图;
图9是生成图6所示的目标交接区域中的三角形连接信息的示意图;
图10是本发明一个示例中在三角形曲面细中计算域坐标点的方法流程图;
图11示出了图10中i值和j值的增长方向;
图12是本发明的一种曲面细分处理装置实施例的结构框图;
图13是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图3,示出了本发明的一种曲面细分处理方法实施例的步骤流程图,所述方法可应用于曲面细分器,具体可以包括如下步骤:
步骤101、根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点;其中,所述外部细分参数和所述内部细分参数不同;
步骤102、根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引;其中,第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点;
步骤103、根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。
本发明提供的曲面细分处理方法可应用于曲面细分器。在曲面细分技术中,曲面细分器用于对输入的每个面片(即一批描述图元的顶点集合),计算域坐标点以及图元连接关系(也即三角形连接信息)。曲面细分器将生成的域坐标点和三角形连接信息输入域着色器进行曲面方程的计算,转化为真正的图元顶点输出。
在本发明实施例中,所述目标交接区域包括三角形面片的内部区域与外部三角形形成的三个梯形区域,或者,所述目标交接区域包括矩形面片的内部区域与外部矩形形成的四个梯形区域;其中,所述第一边为所述梯形区域的上底,所述第二边为所述梯形区域的下底;或者,所述第一边为所述梯形区域的下底,所述第二边为所述梯形区域的上底。
需要说明的是,本发明实施例的曲面细分处理方法可以适用于三角形曲面细分的场景,也可以适用于矩形曲面细分的场景。由于三角形曲面细分与矩形曲面细分的处理过程相似,因此本发明实施例中主要以三角形曲面细分为例进行描述,矩形曲面细分的过程相互参照即可。
在步骤101中,在本发明实施例中,外部细分参数和内部细分参数为输入曲面细分器的曲面细分参数。外部细分参数可用于控制外部三角形的每条边被等分为几段。内部细分参数可用于控制内部三角形的层数以及内部三角形的每条边被等分为几段。外部细分参数和内部细分参数可以根据实际需求预先设置。
参照图4,示出了三角形曲面细分(图4中的(a)图)和矩形曲面细分(图4中的(b)图)场景下的目标交接区域的示意图。以三角形曲面细分为例,外部三角形的三条边可以由三个外部细分参数分别控制,三个外部细分参数可以相同也可以不同;内部三角形则由一个内部细分参数统一控制。以图4中的(a)图为例,由于内部三角形由一个内部细分参数统一控制,因此图4中的(a)图中的区域a1的上底被划分的段数为下底被划分的段数减2,此时,对于这样上底段数比下底段数少2的情形,通常使用下述固定的方法生成该区域中的三角形连接信息:梯形下底左右两侧比上底多出来的两段单独生成两个三角形,剩余区域呈现为上下段数相等的矩形区域,在该矩形区域中上下交替地生成三角形即可,这种方法可以在该梯形区域中生成较为均匀的三角形连接效果。同理,区域a2也满足上底段数比下底段数少2的情形,可以使用上述的固定模式生成较为均匀的三角形。而对于区域a3,在内部细分参数和外部细分参数不同时,区域a3不满足上底段数比下底段数少2的情形,由于上底划分段数和下底划分段数分别可以为满足细分参数的任意值,例如,内部细分参数为6,外部细分参数为8,上底会被划分为4段,下底会被划分为8段,此时,生成区域a3中三角形连接信息的方式不固定,则存在生成狭长三角形可能性,该区域a3即为本发明实施例中所称的目标交接区域。
由于域坐标具有对称的性质,因此,在进行三角形曲面细分时,可以仅计算三分之一部分的域坐标,剩余三分之二部分的域坐标可以对称生成。此外,在进行三角形曲面细分时,图4中的(a)图存在三个目标交接区域,这三个存在三个目标交接区域的底边虽然可以是不同的(三个外部细分参数不同),但是计算三个目标交接区域中的三角形连接信息的方法是相同的,因此,为便于描述,本发明实施例中以计算一个目标交接区域中的三角形连接信息为例进行说明。也即,以图4中的(a)图所示的一个区域a3为例,说明利用本发明的方法生成该目标交接区域中的三角形连接信息的具体过程。
在进行矩形曲面细分时,最外侧矩形的四条边的划分段数可以分别由四个外部细分参数控制,内部区域矩形的水平方向和竖直方向的划分段数分别由两个内部细分参数控制。如图4中的(b)图所示,在进行矩形曲面细分时,存在四个目标交接区域,其中一个目标交接区域如区域b4。这四个目标交接区域中生成三角形连接信息的方法可以分别参照区域a3中生成三角形连接信息的方法。
在曲面细分过程中,外部细分参数和内部细分参数会影响生成的域坐标点的位置以及生成的三角形连接信息。其中,外部细分参数决定外部三角形的边被划分的段数。内部细分参数决定内部三角形的边被划分的段数,并且每向内递进一层则段数减2,直至不能减少为止。
一个示例中,假设外部细分参数和内部细分参数均为5,则外部三角形(最外层三角形)的边被划分为5段。内部三角形中的第一个三角形(次外层三角形)的边被划分为5-2=3段。内部三角形中的第二个三角形(次次外层三角形)的边被划分为3-2=1段。此时不能再减少。参照图5,示出了该示例中生成的域坐标点的示意图。
本发明实施例根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点。其中,第一域坐标点指第一边上的域坐标点,第一域坐标点根据内部细分参数确定。第二域坐标点指第二边上的域坐标点,第二域坐标点根据外部细分参数确定。
需要说明的是,在三角形曲面细分中,域坐标点表示三角形面片内某个点相对于外部三角形三个顶点的相对位置。在矩形曲面细分中,域坐标点表示矩形面片内某个点相对于外部矩形四个顶点的相对位置。示例性地,在三角形曲面细分中,域坐标点可以用重心坐标表示,重心坐标具有三个分量。在矩形曲面细分中,域坐标点可以用具有两个分量的坐标表示。
进一步地,由于一个目标交接区域(梯形区域)是轴对称图形,因此,本发明实施例在生成一个目标交接区域中的三角形连接信息时,可以先生成该目标交接区域轴对称的半个区域中的三角形连接信息,另外半个区域中的三角形连接信息可以对称生成。由此可以减少曲面细分器的计算量,提高计算效率。
参照图6,示出了一个示例中半个目标区域的示意图,该半个目标区域为梯形区域的左边半个区域,上底为第一边,下底为第二边。在图6所示的示例中,外部细分参数为8,内部细分参数为6。根据外部细分参数和内部细分参数,确定第一边上的第一域坐标点以及第二边上的第二域坐标点。由于外部细分参数为8,外部三角形的边被划分为8段,因此,图6中的第二边被划分为4段。由于内部细分参数为6,内部三角形中的第一个三角形的边被划分为6-2=4段,因此图6中的第一边被划分为2段。如图6所示,第一边上的第一域坐标点包括点0’、点1’、点2’,将第一边划分为2段,记为段1和段2。第二边上的第二域坐标点包括点0、点1、点2、点3、点4,将第二边划分为4段。
需要说明的是,在具体实施中,外部细分参数和内部细分参数还可以为小数,小数可以先向上取整至最近邻的整数后再进行计算。例如,可以将小数向上取整至最近邻的奇数或偶数。一个示例中,假设外部细分参数为小数5.6,可以将该外部细分参数向上取整至最近邻的奇数7,则外部三角形的边被划分为7段。当然,也可以将该外部细分参数向上取整至最近邻的偶数6,则外部三角形的边被划分为6段。
在步骤102中,本发明实施例根据外部细分参数和内部细分参数,计算第一边上每一段的最近邻索引。假设第一边被划分为n段,则第k段的最近邻索引用于表示所述第k段对应第二边上最近的第二域坐标点,k的取值为1~n。在第一边为梯形区域的上底时,n的取值为内部细分参数减2;在第一边为梯形区域的下底时,n的取值为外部细分参数。
需要说明的是,在具体实施中,可以如图6所示先计算半个目标交接区域,当然,也可以直接计算整个目标交接区域,可以根据实际需求选择。本发明实施例中以计算半个目标交接区域为例进行说明。
如图6所示,第一边被划分为两段,记为段1和段2。分别计算段1的最近邻索引和段2的最近邻索引。段1的最近邻索引表示段1对应第二边上最近的第二域坐标点。段2的最近邻索引表示段2对应第二边上最近的第二域坐标点。例如,假设计算得到段1的最近邻索引为2,则表示段1对应第二边上最近的第二域坐标点为第二边上的点2。又如,假设计算得到段2的最近邻索引为3,则表示段2对应第二边上最近的第二域坐标点为第二边上的点3。
本发明实施例对计算第一边上每一段的最近邻索引的方法不做限制。可选地,可以先计算第一边上每一段的中点,然后计算与每一段的中点距离最近的第二边上的第二域坐标点,作为每一段的最近邻索引。
在计算得到第一边上每一段的最近邻索引之后,可以根据第一边上的第一域坐标点、第二边上的第二域坐标点、以及第一边上每一段的最近邻索引,生成目标交接区域中的三角形连接信息。
一个三角形可以用三个顶点来表示。因此,在本发明实施例中,一个三角形连接信息可以包括不在同一直线上的三个域坐标点。
本发明实施例利用第一边上每一段的最近邻索引生成目标交接区域中的三角形连接信息,这样,可以保证第一边上的每一段与其对应第二边上最近的第二域坐标点建立三角形连接信息。以图6为例,在生成目标交接区域中的三角形连接信息的过程中,可以根据段1与点2生成一个三角形连接信息,该三角形连接信息包括如下三个域坐标点:点0’、点1’、点2。同样地,可以根据段2与点3生成一个三角形连接信息,该三角形连接信息包括如下三个域坐标点:点1’、点2’、点3。由此,可以避免生成如下三角形连接信息:点0’、点1’、点0;以及避免生成如下三角形连接信息:点1’、点2’、点0等。
可以看出,通过本发明实施例,使得目标交接区域中的三角形连接信息可以生成更加均匀的三角形,避免生成一些狭长的三角形,可以提高后续图案贴合的效果。参照图7,示出了利用本发明的曲面细分处理方法生成目标交接区域中三角形的示意图。图7中的(a)图示出的外部细分参数为2,内部细分参数为8。图7中的(b)图示出的外部细分参数为6,内部细分参数为19。图7中的(a)图与图2中的(a)图采用相同的细分参数,但是图7中的(a)图相较于图2中的(a)图,避免了生成的三角形扇面过于向某一点集中,进而生成一些狭长三角形的情况,使得目标交接区域中生成的三角形更加均匀。同样地,图7中的(b)图与图2中的(b)图采用相同的细分参数,但是图7中的(b)图相较于图2中的(b)图,目标交接区域中生成的三角形更加均匀。
在本发明的一种可选实施例中,所述根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引,可以包括:
步骤S11、根据所述外部细分参数和所述内部细分参数,计算最近邻步进值;
步骤S12、根据所述外部细分参数和所述内部细分参数,计算所述第一边上第一段的最近邻索引定点数;
步骤S13、对所述第一段的最近邻索引定点数进行取整,得到所述第一段的最近邻索引;
步骤S14、利用所述第一段的最近邻索引定点数和所述最近邻步进值执行预设的循环操作,第k次循环操作完成时得到第k+1段的最近邻索引。
本发明实施例中,先计算第一边上第一段的最近邻索引定点数,基于第一段的最近邻索引定点数,按照最近邻步进值进行递增,即可得到每一段的最近邻索引定点数,进而可以得到每一段的最近邻索引。其中,第一段可以指第一边从左向右开始的第一段,或者,第一段可以指第一边从右向左开始的第一段。
需要说明的是,最近邻索引定点数指的是最近邻索引的小数表示。由于在计算最近邻索引时需要进行比值计算,在不能整除的情况下计算得到的最近邻索引是小数,本发明实施例将该小数称为最近邻索引定点数。
本发明实施例首先计算第一边上第一段的最近邻索引定点数,取整后可以得到第一段的最近邻索引。然后利用第一段的最近邻索引定点数和最近邻步进值执行预设的循环操作,第k次循环操作完成时得到第k+1段的最近邻索引。循环操作的次数可以为第一边上需要计算的段数减1。
一个示例中,假设第一边被划分为5段,首先计算第一段的最近邻索引定点数,取整后可以得到第一段的最近邻索引。接下来执行5-1=4次循环操作。k=1时执行第一次循环操作,在第一次循环操作中,利用第一段的最近邻索引定点数和最近邻步进值可以计算第2段的最近邻索引定点数,进而可以得到第2段的最近邻索引;k=2时执行第2次循环操作,在第2次循环操作中,利用第2段的最近邻索引定点数和最近邻步进值可以计算第3段的最近邻索引定点数,进而可以得到第3段的最近邻索引;以此类推,直至第4次循环操作执行完毕,得到第5段的最近邻索引。本发明实施例基于当前段的最近邻索引定点数计算后一段的最近邻索引定点数,然后再取整得到后一段的最近邻索引,以保证最近邻索引的精准度。
进一步地,所述根据所述外部细分参数和所述内部细分参数,计算所述第一边上第一段的最近邻索引定点数,可以包括:
步骤S21、确定所述第一段中点的相对位置单位;
步骤S22、计算所述相对位置单位与所述内部细分参数的比值,并将所述比值乘以所述外部细分参数,得到所述第一段的最近邻索引定点数。
在计算最近邻索引时,认为图6所示的梯形区域(显示的是半个梯形区域)的上底和下底两条边在域坐标系中长度是一致的,也即图6中第一边上的段1的左侧应该还有一段(如记为段0,图6中未显示)。也就是说第一边和第二边的长度在域坐标系中应一致,但是在实际的梯形区域中,第一边和第二边的长度并不一致,并且不显示段0。
以图6为例,第一边包括段1和段2两段。第一段(段1)中点的位置本应为段1的0.5单位的位置,但是第一段(段1)之前还有未显示的段0这一段长度,因此,第一段(段1)中点的相对位置为1+0.5=1.5单位的位置。由于此处将第一段的中点位置补上了前面未显示的一段,因此,此处称为第一段中点的相对位置。
本发明实施例可以通过下式计算第k段的最近邻索引定点数:
(第k段中点的相对位置单位/内部细分参数)*外部细分参数 (1)
在计算第一段的最近邻索引定点数时,可以先计算第一段中点的相对位置单位,然后,将第一段中点的相对位置单位、内部细分参数、外部细分参数代入上式(1),即可得到第一段的最近邻索引定点数。
在计算得到第一段中点的相对位置单位(如1.5单位)之后,由于第一段位于第一边上,内部细分参数为6,第一边被划分为4段,加上两边补齐的两段后为6段,而外部细分参数为8,第二边被划分为8段。因此,在计算第一段的最近邻索引定点数时,需要将该1.5单位从第一边的6段向第二边的8段进行映射,也即将该1.5单位除以内部细分参数(6)再乘以外部细分参数(8),得到(1.5/6)*8,取最近邻整数后为2,则第一边上的第一段(段1)的最近邻索引为2。也就是说,段1对应第二边上最近的第二域坐标点为点2。
在实际应用中,第一段中点的相对位置和第一段的最近邻索引定点数可以使用定点数表示。定点数表示可以通过查表方法得到,以避免曲面细分过程中进行除法计算。对所述第一段的最近邻索引定点数进行取整,可以得到所述第一段的最近邻索引。之后,可以利用第一段的最近邻索引定点数执行预设的循环操作,该循环操作用于基于第一段的最近邻索引定点数,按照最近邻步进值进行递增,以得到每一段的最近邻索引,在第k次循环操作完成时可以得到第k+1段的最近邻索引。k的取值可以为1至预设值。在计算完整的目标交接区域时,该预设值可以为第一边的总段数减1,如第一边的总段数为6,则预设值为6-1=5。或者,在计算半个目标交接区域时,该预设值可以为第一边的总段数的二分之一减1,如第一边的总段数为6,则预设值为3-1=2。
例如,计算第一边上第二段(段2)的最近邻索引时,可以直接将第一段的最近邻索引定点数加上最近邻步进值后取整得到。其中,最近邻步进值可以预先根据外部细分参数和内部细分参数计算得到。具体地,最近邻步进值=外部细分参数/内部细分参数。
在该示例中,第二段(段2)的最近邻索引定点数为:(1.5/6)*8+8/6,取整后结果为3,则第二段(段2)的最近邻索引为3。
在本发明的一种可选实施例中,所述第k次循环操作,可以包括如下步骤:
步骤S31、将第k段的最近邻索引定点数增加所述最近邻步进值,得到最近邻索引更新值;
步骤S32、判断k值是否达到预设值,若未到达预设值,则将k值加1,并将所述最近邻索引更新值作为第k+1段的最近邻索引定点数;若已到达预设值,则停止循环操作。
参照图8,示出了本发明的一种生成第一边上每一段的最近邻索引的流程示意图。其中,在计算最近邻步进值之前,还可以包括参数预处理等操作,如将小数的外部细分参数和/或内部细分参数转换为整数等。随后计算第一边上第一段的最近邻索引定点数,依次通过循环步进的方式求得第一边上每一段的最近邻索引,并保存当前段的最近邻索引定点数,以便计算下一段的最近邻索引时使用。
需要说明的是,图8所示的流程图仅作为本发明生成第一边上每一段的最近邻索引的一种可选方法。本发明实施例对生成第一边上每一段的最近邻索引的具体方法不做限制。可选地,在具体实施中,还可以先计算每一段的中点,然后利用上式(1)分别计算每一段的最近邻索引定点数,最后对每一段的最近邻索引定点数取整,得到每一段的最近邻索引。
本发明实施例优选地采用图8所示的生成最近邻索引的方法。先计算第一边上第一段的最近邻索引定点数,然后通过循环步进的方式按顺序生成后续每一段的最近邻索引。在当前段的最近邻索引定点数的基础上,利用预先计算的最近邻步进值,可以直接计算得到下一段的最近邻索引定点数,可以减少计算量,提高计算效率。
在本发明的一种可选实施例中,所述根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息,可以包括:
步骤S41、根据所述第一边上每一段的最近邻索引,生成所述目标交接区域中的内段三角形的三角形连接信息,其中,所述内段三角形的底边位于所述第一边上;
步骤S42、根据未生成三角形连接信息的第一域坐标点和第二域坐标点,生成所述目标交接区域中的外段三角形的三角形连接信息,其中,所述外段三角形的底边位于所述第二边上。
本发明实施例对于利用最近邻索引生成目标交接区域中的三角形连接信息的具体方法不做限制。例如,以第一边为主体,先生成底边位于第一边上的三角形连接信息。然后再补充生成底边位于第二边上的三角形连接信息。在第一边为梯形区域的上底,第二边为梯形区域的下底时,本发明实施例中将底边位于第一边上的三角形称为内段三角形,将底边位于第二边上的三角形称为外段三角形。
具体地,首先根据所述第一边上每一段的最近邻索引,生成所述目标交接区域中的内段三角形的三角形连接信息。
以图6为例,先根据第一边上段1和段2的最近邻索引,生成目标交接区域中的内段三角形的三角形连接信息。参照图9,示出了生成图6所示的目标交接区域中的三角形连接信息的示意图。对于段1,其最近邻索引为2,因此可以将段1作为底边,最近邻索引2对应的第二域坐标点作为顶点,生成内段三角形(3)的三角形连接信息。对于段2,其最近邻索引为3,因此可以将段2作为底边,最近邻索引3对应的第二域坐标点作为顶点,生成内段三角形(5)的三角形连接信息。此时,内段三角形的三角形连接信息生成完毕,根据未生成三角形连接信息的第一域坐标点和第二域坐标点,生成目标交接区域中的外段三角形的三角形连接信息,如分别生成外段三角形(1)、外段三角形(2)、外段三角形(4)、外段三角形(6)的三角形连接信息。
本发明实施例以第一边为主体,先根据所述第一边上每一段的最近邻索引,生成目标交接区域中的内段三角形的三角形连接信息,然后再补充生成目标交接区域中的外段三角形的三角形连接信息。这样,可以保证第一边上的每一段与其对应第二边上最近的第二域坐标点建立三角形连接信息,可以避免生成狭长的三角形,使得目标交接区域中生成的三角形更加均匀。
当然,上述以第一边为主体,先生成内段三角形的三角形连接信息,再生成外段三角形的三角形连接信息的方式,仅作为本发明的一种可选实施方式。在具体实施中,还可以采用其他顺序生成目前区域中的三角形连接信息。例如,还可以按照从左向右(或者从右向左)的顺序依次生成目前区域中的三角形连接信息。
在本发明的一种可选实施例中,所述根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息,可以包括:
步骤1、初始化第一指针和第二指针;
步骤2、获取第一边上当前段的最近邻索引;
步骤3、判断第二指针是否小于当前段的最近邻索引;若小于,则根据第二指针对应的第二域坐标点、第二指针加1对应的第二域坐标点、以及第一指针对应的第一域坐标点生成外段三角形的三角形连接信息,第二指针加1,返回步骤3;否则,根据第一指针对应的第一域坐标点、第一指针加1对应的第一域坐标点、以及第二指针对应的第二域坐标点生成内段三角形的三角形连接信息,第一指针加1,执行步骤4;
步骤4、判断第一指针是否小于第一参数;若小于,返回步骤2;否则,执行步骤5;
步骤5、判断第二指针是否小于第二参数;若小于,则根据第二指针对应的第二域坐标点、第二指针加1对应的第二域坐标点、以及第一指针对应的第一域坐标点补充生成外段三角形的三角形连接信息,第二指针加1;否则,执行结束。
上述步骤1至步骤5是以第一边为主体,按照预设顺序依次生成目标交接区域中的三角形连接信息。其中,预设顺序可以为从左向右的顺序或者从右向左的顺序。
以从左向右的顺序为例,上述步骤1至步骤5通过两层循环控制生成内段三角形和外段三角形的三角形连接信息的顺序。内层循环用于控制按照从左向右的顺序依次生成内段三角形的三角形连接信息。外侧循环用于控制按照从左向右的顺序依次生成外段三角形的三角形连接信息。并且两层循环控制的顺序具有依赖关系,从而在整体上实现从左向右的顺序依次生成目标交接区域中的各三角形连接信息。
其中,第一指针用于指示第一边上第一域坐标点的索引,控制内层循环的进度,第一参数用于控制内层循环的迭代次数,当第一指针的数值到达第一参数时,内层循环结束。第二指针用于指示第二边上第二域坐标点的索引,控制外层循环的进度,第二参数用于控制外层循环的迭代次数,当第二指针的数值到达第二参数时,外层循环结束,此时,生成所述目标交接区域中的三角形连接信息的执行过程结束。
进一步地,在计算半个目标交接区域时,第一参数为第一边的总段数的二分之一,第二参数为第二边的总段数的二分之一。在计算整个目标交接区域时,第一参数为第一边的总段数,第二参数为第二边的总段数。本发明实施例中以计算半个目标交接区域为例进行说明。
以图6所示的半个目标交接区域为例,则第一参数为2(第一边的总段数的二分之一),第二参数为4(第二边的总段数的二分之一)。执行步骤1,初始化第一指针和第二指针,如第一指针的初始值和第二指针的初始值可以均为0,也即,初始时,第一指针指向第一边上索引为0的第一域坐标点(如图9中的点0’),第二指针指向第二边上索引为0的第二域坐标点(如图9中的点0)。执行步骤2,获取第一边上当前段(此时为段1)的最近邻索引,该最近邻索引为2。执行步骤3,判断第二指针是否小于当前段(段1)的最近邻索引,也即判断第二指针的数值是否小于当前段(段1)的最近邻索引的数值;此时,第二指针的数值为0,小于当前段(段1)的最近邻索引的数值2,因此,根据第二指针对应的第二域坐标点(点0)、第二指针加1对应的第二域坐标点(点1)、以及第一指针对应的第一域坐标点(点0’)生成外段三角形的三角形连接信息,如图9所示,生成外段三角形(1)的三角形连接信息。此时,第二指针加1,第二指针的值为1,对应第二边上索引为1的第二域坐标点(如图9中的点1),第二指针的值1仍小于当前段(段1)的最近邻索引的数值2,因此,根据第二指针对应的第二域坐标点(点1)、第二指针加1对应的第二域坐标点(点2)、以及第一指针对应的第一域坐标点(点0’)生成外段三角形的三角形连接信息,如图9所示,生成外段三角形(2)的三角形连接信息。此时,第二指针加1,第二指针的值为2,对应第二边上索引为2的第二域坐标点(如图9中的点2),第二指针的值2与当前段(段1)的最近邻索引2相等,因此,根据第一指针对应的第一域坐标点(点0’)、第一指针加1对应的第一域坐标点(点1’)、以及第二指针对应的第二域坐标点(点2)生成内段三角形的三角形连接信息,如图9所示,生成内段三角形(3)的三角形连接信息。此时第一指针加1,执行步骤4,判断第一指针是否小于第一参数;此时第一指针为1,对应第一边上索引为1的第一域坐标点(如图9中的点1’),第一参数为2,因此返回步骤2,获取第一边上当前段(此时为段2)的最近邻索引,该最近邻索引为3。执行步骤3,判断第二指针是否小于当前段(段2)的最近邻索引;此时第二指针为2,小于当前段(段2)的最近邻索引3,因此,根据第二指针对应的第二域坐标点(点2)、第二指针加1对应的第二域坐标点(点3)、以及第一指针对应的第一域坐标点(点1’)生成外段三角形的三角形连接信息,如图9所示,生成外段三角形(4)的三角形连接信息,第二指针加1。此时第二指针为3,对应第二边上索引为3的第二域坐标点(如图9中的点3),第二指针的值3与当前段(段2)的最近邻索引3相等,因此,根据第一指针对应的第一域坐标点(点1’)、第一指针加1对应的第一域坐标点(点2’)、以及第二指针对应的第二域坐标点(点3)生成内段三角形的三角形连接信息。如图9所示,生成内段三角形(5)的三角形连接信息,第一指针加1。执行步骤4,判断第一指针是否小于第一参数;此时第一指针为2,对应第一边上索引为2的第一域坐标点(如图9中的点2’),第一参数为2,二者相等,因此执行步骤5,判断第二指针是否小于第二参数;此时第二指针为3,第二参数为4,第二指针小于第二参数,因此,根据第二指针对应的第二域坐标点(点3)、第二指针加1对应的第二域坐标点(点4)、以及第一指针对应的第一域坐标点(点2’)补充生成外段三角形的三角形连接信息;如图9所示,补充生成外段三角形(6)的三角形连接信息。第二指针加1,此时第二指针等于第二参数,执行结束。
如图9所示,本发明实施例通过上述步骤1至步骤5,可以按照从左向右的顺序依次生成三角形(1)~(6)的三角形连接信息。
可选地,本发明实施例可以并行执行计算最近邻索引和生成三角形连接信息的操作。例如,可以按照预设顺序计算第一边上每一段的最近邻索引,于此同时,按照预设顺序生成目标交接区域中的三角形连接信息。这样,可以在生成一部分最近邻索引时,同步生成一部分的三角形连接信息,以实现最近邻索引和三角形连接信息的并行计算,从而可以进一步提高计算效率。
上述按预设顺序(以从左向右的顺序为例)生成目标交接区域中的三角形连接信息的方式,使得曲面细分器向域着色器输出的三角形连接信息也是按照从左向右的顺序。这样,域着色器在执行后续任务时,可以根据三角形连接信息的顺序关系对域坐标点进行去重,可以进一步减少数据的计算量和存储量。
需要说明的是,本发明实施例中以梯形区域(目标交接区域)的上底为第一边,梯形区域的下底为第二边为例进行说明。在实际应用中,还可以将梯形区域的上底作为第二边,梯形区域的下底作为第一边,计算过程相似,相互参照即可。
需要说明的是,本发明实施例对计算域坐标点的方法不做限制,可以采用任一现有的计算域坐标点的方法。
参照图10,示出了本发明一个示例中在三角形曲面细中计算域坐标点的方法流程图。图10示出了三角形面片的三分之一区域中计算域坐标点的方法流程图,以图4中的(a)图为例,图10所示的流程图可以计算得到区域a1、a2、以及a3每条边的域坐标点。具体地,首先对输入的曲面细分参数(包括内部细分参数和外部细分参数)进行预处理。所述预处理包括根据细分模式对曲面细分参数进行初步计算。所述细分模式可以包括整数细分模式或者小数细分模式,在细分模式为小数细分模式时,所述预处理包括对小数的曲面细分参数进行取整,具体地,可以向上取整至最近邻的奇数或偶数。随后,可以通过查表得到输入的该曲面细分参数的倒数。在第i条边为外部三角形的底边时,该倒数为该底边对应的外部细分参数的倒数。在第i条边为内部三角形的底边时,该倒数为内部细分参数的倒数。该倒数以定点数形式表示,可以预先计算并保存在快速查找表中,如以1/1、1/2、1/3直到1/64的定点数表示。接下来,按照图10中的循环操作计算三角形面片1/3区域中每条边上的每个域坐标点。其中,i表示当前计算的是第几条边,i的取值范围为1至三角形层数,三角形层数=(内部细分参数+1)/2。j表示当前计算的是第i条边上的第几个域坐标点,j的取值范围为1至第i条边被划分的总段数。参照图11,示出了图10中i值和j值的增长方向。按照图10所示的计算流程可以分别计算三角形面片每个三分之一区域中的域坐标点。
综上,本发明实施例提供了一种曲面细分处理方法,可应用于曲面细分器中生成交接区域三角形连接信息,根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点,以及计算所述第一边上每一段的最近邻索引;根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。其中,第一边上第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点。本发明实施例利用第一边上每一段的最近邻索引生成目标交接区域中的三角形连接信息,可以保证第一边上的每一段与其对应第二边上最近的第二域坐标点建立三角形连接信息,可以避免生成狭长的三角形,使得目标交接区域中生成的三角形更加均匀,可以提高后续图案贴合的效果。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图12,示出了本发明的一种曲面细分处理装置实施例的结构框图,所述装置可应用于曲面细分器,具体可以包括如下模块:
域坐标点计算模块201,用于根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点;其中,所述外部细分参数和所述内部细分参数不同;
最近邻索引计算模块202,用于根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引;其中,第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点;
连接信息生成模块203,用于根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。
可选地,所述最近邻索引计算模块,包括:
步进值计算子模块,用于根据所述外部细分参数和所述内部细分参数,计算最近邻步进值;
定点数计算子模块,用于根据所述外部细分参数和所述内部细分参数,计算所述第一边上第一段的最近邻索引定点数;
索引计算子模块,用于对所述第一段的最近邻索引定点数进行取整,得到所述第一段的最近邻索引;
循环迭代子模块,用于利用所述第一段的最近邻索引定点数和所述最近邻步进值执行预设的循环操作,第k次循环操作完成时得到第k+1段的最近邻索引。
可选地,所述循环迭代子模块,包括:
更新单元,用于将第k段的最近邻索引定点数增加所述最近邻步进值,得到最近邻索引更新值;
迭代单元,用于判断k值是否达到预设值,若未到达预设值,则将k值加1,并将所述最近邻索引更新值作为第k+1段的最近邻索引定点数;若已到达预设值,则停止循环操作。
可选地,所述定点数计算子模块,包括:
位置计算单元,用于确定所述第一段中点的相对位置单位;
定点数计算单元,用于计算所述相对位置单位与所述内部细分参数的比值,并将所述比值乘以所述外部细分参数,得到所述第一段的最近邻索引定点数。
可选地,所述预设值为所述第一边上的总段数减1,或者,所述预设值为所述第一边上总段数的二分之一减1。
可选地,所述连接信息生成模块,包括:
第一生成子模块,用于根据所述第一边上每一段的最近邻索引,生成所述目标交接区域中的内段三角形的三角形连接信息,其中,所述内段三角形的底边位于所述第一边上;
第二生成子模块,用于根据未生成三角形连接信息的第一域坐标点和第二域坐标点,生成所述目标交接区域中的外段三角形的三角形连接信息,其中,所述外段三角形的底边位于所述第二边上。
可选地,所述连接信息生成模块,具体用于执行如下操作:
步骤1、初始化第一指针和第二指针;
步骤2、获取第一边上当前段的最近邻索引;
步骤3、判断第二指针是否小于当前段的最近邻索引;若小于,则根据第二指针对应的第二域坐标点、第二指针加1对应的第二域坐标点、以及第一指针对应的第一域坐标点生成外段三角形的三角形连接信息,第二指针加1,返回步骤3;否则,根据第一指针对应的第一域坐标点、第一指针加1对应的第一域坐标点、以及第二指针对应的第二域坐标点生成内段三角形的三角形连接信息,第一指针加1,执行步骤4;
步骤4、判断第一指针是否小于第一参数;若小于,返回步骤2;否则,执行步骤5;
步骤5、判断第二指针是否小于第二参数;若小于,则根据第二指针对应的第二域坐标点、第二指针加1对应的第二域坐标点、以及第一指针对应的第一域坐标点补充生成外段三角形的三角形连接信息,第二指针加1;否则,执行结束。
可选地,所述目标交接区域包括三角形面片的内部区域与外部三角形形成的三个梯形区域,或者,所述目标交接区域包括矩形面片的内部区域与外部矩形形成的四个梯形区域;其中,所述第一边为所述梯形区域的上底,所述第二边为所述梯形区域的下底;或者,所述第一边为所述梯形区域的下底,所述第二边为所述梯形区域的上底。
本发明实施例提供了一种曲面细分处理装置,可应用于曲面细分器中生成交接区域三角形连接信息,根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点,以及计算所述第一边上每一段的最近邻索引;根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。其中,第一边上第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点。本发明实施例利用第一边上每一段的最近邻索引生成目标交接区域中的三角形连接信息,可以保证第一边上的每一段与其对应第二边上最近的第二域坐标点建立三角形连接信息,可以避免生成狭长的三角形,使得目标交接区域中生成的三角形更加均匀,可以提高后续图案贴合的效果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图13,是本发明实施例提供的电子设备的结构示意图。如图13所示,所述电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行前述实施例的曲面细分处理方法的步骤。
本发明实施例提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的程序或处理器执行时,使得终端能够执行一种曲面细分处理方法,所述方法包括:根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点;其中,所述外部细分参数和所述内部细分参数不同;根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引;其中,第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点;根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种曲面细分处理方法和装置、电子设备以及一种存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种曲面细分处理方法,其特征在于,所述方法包括:
根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点;其中,所述外部细分参数和所述内部细分参数不同;所述目标交接区域包括三角形面片的内部区域与外部三角形形成的三个梯形区域中的任意一个,或者,所述目标交接区域包括矩形面片的内部区域与外部矩形形成的四个梯形区域中的任意一个;所述第一边为所述梯形区域的上底,所述第二边为所述梯形区域的下底;或者,所述第一边为所述梯形区域的下底,所述第二边为所述梯形区域的上底;
根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引;其中,第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点;
根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息,其中,第一边上的每一段与其对应第二边上最近的第二域坐标点建立三角形连接信息;
所述根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引,包括:
根据所述外部细分参数和所述内部细分参数,计算最近邻步进值;
根据所述外部细分参数和所述内部细分参数,计算所述第一边上第一段的最近邻索引定点数;
对所述第一段的最近邻索引定点数进行取整,得到所述第一段的最近邻索引;
利用所述第一段的最近邻索引定点数和所述最近邻步进值执行预设的循环操作,第k次循环操作完成时得到第k+1段的最近邻索引;
所述根据所述外部细分参数和所述内部细分参数,计算所述第一边上第一段的最近邻索引定点数,包括:
确定所述第一段中点的相对位置单位,所述第一段中点的相对位置单位为所述第一段中点相较于第一边起始位置的相对位置;当所述第一边的长度小于所述第二边的长度时,所述第一边起始位置为将所述第一边按照所述第二边补齐长度后补齐一侧的外侧端点位置;
计算所述相对位置单位与所述内部细分参数的比值,并将所述比值乘以所述外部细分参数,得到所述第一段的最近邻索引定点数。
2.根据权利要求1所述的方法,其特征在于,所述第k次循环操作,包括:
将第k段的最近邻索引定点数增加所述最近邻步进值,得到最近邻索引更新值;
判断k值是否达到预设值,若未到达预设值,则将k值加1,并将所述最近邻索引更新值作为第k+1段的最近邻索引定点数;若已到达预设值,则停止循环操作。
3.根据权利要求2所述的方法,其特征在于,所述预设值为所述第一边上的总段数减1,或者,所述预设值为所述第一边上总段数的二分之一减1。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息,包括:
根据所述第一边上每一段的最近邻索引,生成所述目标交接区域中的内段三角形的三角形连接信息,其中,所述内段三角形的底边位于所述第一边上;
根据未生成三角形连接信息的第一域坐标点和第二域坐标点,生成所述目标交接区域中的外段三角形的三角形连接信息,其中,所述外段三角形的底边位于所述第二边上。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息,包括:
步骤1、初始化第一指针和第二指针;
步骤2、获取第一边上当前段的最近邻索引;
步骤3、判断第二指针是否小于当前段的最近邻索引;若小于,则根据第二指针对应的第二域坐标点、第二指针加1对应的第二域坐标点、以及第一指针对应的第一域坐标点生成外段三角形的三角形连接信息,第二指针加1,返回步骤3;否则,根据第一指针对应的第一域坐标点、第一指针加1对应的第一域坐标点、以及第二指针对应的第二域坐标点生成内段三角形的三角形连接信息,第一指针加1,执行步骤4;
步骤4、判断第一指针是否小于第一参数;若小于,返回步骤2;否则,执行步骤5;
步骤5、判断第二指针是否小于第二参数;若小于,则根据第二指针对应的第二域坐标点、第二指针加1对应的第二域坐标点、以及第一指针对应的第一域坐标点补充生成外段三角形的三角形连接信息,第二指针加1;否则,执行结束。
6.一种曲面细分处理装置,其特征在于,所述装置包括:
域坐标点计算模块,用于根据外部细分参数和内部细分参数,确定目标交接区域的第一边上的第一域坐标点以及第二边上的第二域坐标点;其中,所述外部细分参数和所述内部细分参数不同;所述目标交接区域包括三角形面片的内部区域与外部三角形形成的三个梯形区域中的任意一个,或者,所述目标交接区域包括矩形面片的内部区域与外部矩形形成的四个梯形区域中的任意一个;所述第一边为所述梯形区域的上底,所述第二边为所述梯形区域的下底;或者,所述第一边为所述梯形区域的下底,所述第二边为所述梯形区域的上底;
最近邻索引计算模块,用于根据所述外部细分参数和所述内部细分参数,计算所述第一边上每一段的最近邻索引;其中,第k段的最近邻索引用于表示所述第k段对应所述第二边上最近的第二域坐标点;
连接信息生成模块,用于根据所述第一域坐标点、所述第二域坐标点、以及所述第一边上每一段的最近邻索引,生成所述目标交接区域中的三角形连接信息,其中,第一边上的每一段与其对应第二边上最近的第二域坐标点建立三角形连接信息;
所述最近邻索引计算模块,包括:
步进值计算子模块,用于根据所述外部细分参数和所述内部细分参数,计算最近邻步进值;
定点数计算子模块,用于根据所述外部细分参数和所述内部细分参数,计算所述第一边上第一段的最近邻索引定点数;
索引计算子模块,用于对所述第一段的最近邻索引定点数进行取整,得到所述第一段的最近邻索引;
循环迭代子模块,用于利用所述第一段的最近邻索引定点数和所述最近邻步进值执行预设的循环操作,第k次循环操作完成时得到第k+1段的最近邻索引;
所述定点数计算子模块,包括:
位置计算单元,用于确定所述第一段中点的相对位置单位,所述第一段中点的相对位置单位为所述第一段中点相较于第一边起始位置的相对位置;当所述第一边的长度小于所述第二边的长度时,所述第一边起始位置为将所述第一边按照所述第二边补齐长度后补齐一侧的外侧端点位置;
定点数计算单元,用于计算所述相对位置单位与所述内部细分参数的比值,并将所述比值乘以所述外部细分参数,得到所述第一段的最近邻索引定点数。
7.根据权利要求6所述的装置,其特征在于,所述循环迭代子模块,包括:
更新单元,用于将第k段的最近邻索引定点数增加所述最近邻步进值,得到最近邻索引更新值;
迭代单元,用于判断k值是否达到预设值,若未到达预设值,则将k值加1,并将所述最近邻索引更新值作为第k+1段的最近邻索引定点数;若已到达预设值,则停止循环操作。
8.根据权利要求7所述的装置,其特征在于,所述预设值为所述第一边上的总段数减1,或者,所述预设值为所述第一边上总段数的二分之一减1。
9.根据权利要求6所述的装置,其特征在于,所述连接信息生成模块,包括:
第一生成子模块,用于根据所述第一边上每一段的最近邻索引,生成所述目标交接区域中的内段三角形的三角形连接信息,其中,所述内段三角形的底边位于所述第一边上;
第二生成子模块,用于根据未生成三角形连接信息的第一域坐标点和第二域坐标点,生成所述目标交接区域中的外段三角形的三角形连接信息,其中,所述外段三角形的底边位于所述第二边上。
10.根据权利要求6所述的装置,其特征在于,所述连接信息生成模块,具体用于执行如下操作:
步骤1、初始化第一指针和第二指针;
步骤2、获取第一边上当前段的最近邻索引;
步骤3、判断第二指针是否小于当前段的最近邻索引;若小于,则根据第二指针对应的第二域坐标点、第二指针加1对应的第二域坐标点、以及第一指针对应的第一域坐标点生成外段三角形的三角形连接信息,第二指针加1,返回步骤3;否则,根据第一指针对应的第一域坐标点、第一指针加1对应的第一域坐标点、以及第二指针对应的第二域坐标点生成内段三角形的三角形连接信息,第一指针加1,执行步骤4;
步骤4、判断第一指针是否小于第一参数;若小于,返回步骤2;否则,执行步骤5;
步骤5、判断第二指针是否小于第二参数;若小于,则根据第二指针对应的第二域坐标点、第二指针加1对应的第二域坐标点、以及第一指针对应的第一域坐标点补充生成外段三角形的三角形连接信息,第二指针加1;否则,执行结束。
11.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至5中任一项所述的曲面细分处理方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至5任一所述的曲面细分处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210406115.5A CN114494651B (zh) | 2022-04-18 | 2022-04-18 | 曲面细分处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210406115.5A CN114494651B (zh) | 2022-04-18 | 2022-04-18 | 曲面细分处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114494651A CN114494651A (zh) | 2022-05-13 |
CN114494651B true CN114494651B (zh) | 2022-09-02 |
Family
ID=81489404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210406115.5A Active CN114494651B (zh) | 2022-04-18 | 2022-04-18 | 曲面细分处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114494651B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115861512B (zh) * | 2023-01-31 | 2023-07-25 | 南京砺算科技有限公司 | 用于曲面细分的输出点序列确定方法及装置、存储介质 |
CN117765204B (zh) * | 2024-02-21 | 2024-07-05 | 摩尔线程智能科技(北京)有限责任公司 | 曲面细分方法、装置和图形处理单元 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7295204B2 (en) * | 2004-12-14 | 2007-11-13 | Adrian Sfarti | Rapid zippering for real time tesselation of bicubic surfaces |
JP5301239B2 (ja) * | 2008-08-09 | 2013-09-25 | 株式会社キーエンス | 画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体 |
CN101510228B (zh) * | 2009-03-26 | 2010-08-25 | 山东理工大学 | 产品stl模型非均匀精简方法 |
CN102096948B (zh) * | 2011-03-01 | 2012-10-31 | 西安邮电学院 | 一种适用图形硬件的分格化方法 |
GB201104066D0 (en) * | 2011-03-09 | 2011-04-20 | Imagination Tech Ltd | Compression of a tessellated primitive index list in a tile rendering system |
CN106649821B (zh) * | 2016-12-29 | 2020-04-03 | 郑州星途信息科技有限公司 | 空间目标索引构建、碰撞预警、区域和最近邻查询方法 |
-
2022
- 2022-04-18 CN CN202210406115.5A patent/CN114494651B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114494651A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114494651B (zh) | 曲面细分处理方法、装置、电子设备及存储介质 | |
EP3734475A1 (en) | Method and device for training data, storage medium, and electronic device | |
CN113190006B (zh) | 一种机器人路径规划方法、装置及存储介质 | |
US9092905B2 (en) | Curve rendering device, curve rendering method, curve rendering program, and integrated circuit | |
CN113008258B (zh) | 路径规划方法、装置、设备及存储介质 | |
CN110084894B (zh) | 三维模型的局部放大展示方法、装置与电子设备 | |
CN105574931A (zh) | 一种电子地图道路绘制方法及装置 | |
US20220410483A1 (en) | Stl model slicing method and device | |
WO2018042704A1 (ja) | 指令値生成装置 | |
CN104915053A (zh) | 一种界面控件的位置确定方法和装置 | |
CN110554871B (zh) | NinePatch图形描绘方法及装置、计算机可读存储介质 | |
CN114202642A (zh) | 三维三角网模型中超大空洞的填补方法及设备 | |
WO2015186338A1 (ja) | 非線形計画問題処理装置および非線形計画問題処理方法 | |
CN106600691B (zh) | 多路二维视频图像在三维地理空间中融合校正方法、系统 | |
CN111338741B (zh) | 任务进度显示方法及其装置、存储介质 | |
CN117251258A (zh) | 任务分配的方法、电子设备和计算机程序产品 | |
CN115222913B (zh) | 网格生成、结构仿真分析方法、装置、设备及存储介质 | |
CN116681864B (zh) | 一种空间网格生成方法、装置、设备及介质 | |
CN113240077B (zh) | 一种张量处理方法和系统 | |
CN110837666B (zh) | 坡屋面的二维图纸三维重建方法、系统和介质 | |
CN105225200A (zh) | 一种用于降低矢量多边形空间数据精度的方法及装置 | |
CN111595267B (zh) | 确定物体相位值的方法、装置、存储介质及电子装置 | |
US20200272461A1 (en) | Information processing apparatus, control method for information processing apparatus, and recording medium recording control program for information processing apparatus | |
CN116310149B (zh) | 一种体素合并方法、装置、设备及存储介质 | |
CN112116680B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220810 Address after: 230088 204-b6, building 1, No. 5089, Wangjiang West Road, high tech Zone, Hefei City, Anhui Province Applicant after: Longxin Zhongke (Hefei) Technology Co.,Ltd. Address before: 100095 101, 1st floor, building 4, yard 7, Dijin Road, Haidian District, Beijing Applicant before: Loongson Zhongke Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |