CN105303620A - 一种基于顶点编码的三角网格细分曲面存取方法 - Google Patents

一种基于顶点编码的三角网格细分曲面存取方法 Download PDF

Info

Publication number
CN105303620A
CN105303620A CN201510895986.8A CN201510895986A CN105303620A CN 105303620 A CN105303620 A CN 105303620A CN 201510895986 A CN201510895986 A CN 201510895986A CN 105303620 A CN105303620 A CN 105303620A
Authority
CN
China
Prior art keywords
vertex
coding
segmentation
summit
curved surface
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
Application number
CN201510895986.8A
Other languages
English (en)
Other versions
CN105303620B (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.)
Guangzhou Fermizi Technology Co ltd
Original Assignee
Hangzhou Dianzi 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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201510895986.8A priority Critical patent/CN105303620B/zh
Publication of CN105303620A publication Critical patent/CN105303620A/zh
Application granted granted Critical
Publication of CN105303620B publication Critical patent/CN105303620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于顶点编码的三角网格细分曲面存取方法。本发明包括如下步骤:(1)对输入的原始三角网格模型,依据给定的最大细分层次,为待细分三角形的三个顶点编码;(2)对三角形进行递归细分,直至达到给定的最大细分层次,每次细分过程中,对新生成的顶点进行编码;(3)为细分曲面所有顶点,计算顶点编码在顶点数组中的位置;(4)依据最顶层细分曲面三个角点的编码,计算出边中心的编码,进而通过递归方式得到所有细分曲面顶点的编码,依据编码计算出该顶点在顶点数组中的位置。本发明通过利用顶点编码方法,不需存储细分曲面拓扑结构,就可以实现对三角形细分曲面顶点的精确定位,极大地提高了内存利用率和存取效率。

Description

一种基于顶点编码的三角网格细分曲面存取方法
技术领域
本发明属于计算机检测技术领域,具体涉及一种基于顶点编码的三角网格细分曲面存取方法。
背景技术
三角形网格细分曲面被广泛应用于实体造型、影视渲染、游戏动画制作等领域。它通过对三角形进行细分,使原有网格更加平顺。但是,三角形网格细分曲面存储,通常需要保持顶点坐标和拓扑结构,随着细分层次的增加,细分曲面的单元个数呈几何级数增长,内存占用量急剧上升,最终会导致内存溢出。
目前,通常采用自适应细分的方法来降低三角形网格细分曲面内存占用量,即利用透视投影的机制,对于能够显示在视窗中的三角形单元进行细分,而不能显示的部分不做处理。由于这种方法对视觉效果没有影响,所以被广泛应用于影视渲染和游戏动画制作,但是,这种方法却不适用实体造型,因为实体造型通常需要对所有单元都要进行细分。
为此,本发明提出一种基于顶点编码的三角形网格细分曲面存取方法。本发明通过一种编码方法将不同顶点与其所在的存储位置唯一对应,提高了访存效率,同时利用编码和编码的叠加,可以确定细分曲面内的任意顶点和单元,避免了由于保存细分曲面拓扑结构而带来的内存开销,本方法广泛适用于实体造型、影视渲染和游戏动画,可以提高内存利用率60%以上。
发明内容
针对现有技术所存在的上述技术缺陷,本发明提供了一种基于顶点编码的三角网格细分曲面存取方法,利用一种顶点编码方法将顶点与其所在存储位置唯一对应,提高了内存利用率。
一种基于顶点编码的三角网格细分曲面存取方法,包括如下步骤:
步骤(1)对输入的待细分三角形,依据给定的最大细分层次,对待细分三角形的三个顶点进行编码;
步骤(2)对步骤(1)中的待细分三角形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码;
步骤(3)计算所有顶点编码在顶点数组中的位置,然后将每个顶点的坐标存入顶点数组中该顶点编码对应的位置。
步骤(4)依据最顶层细分曲面三个角点的编码,计算出边中心的编码,进而通过递归方式得到所有细分曲面中三角形单元的顶点编码,依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标。
所述的步骤(1)中,对输入的待细分三角形,依据给定的最大细分层次,对待细分三角形的三个顶点进行编码,具体包括如下步骤:
1-1.依据给定的最大细分层次m,计算出经过m次细分后,在待细分三角形每条边上顶点个数n,
1-2.按照顺时针顺序,用一个十进制整数对待细分三角形的三个顶点进行编码,前两位对应行号,后两位对应列号,具体的:
1-2-1.任意选取待细分三角形中的一个顶点作为起始顶点,行号列号均为1,
1-2-2.沿顺时针方向选取下一个顶点,列号为1,行号为n;
1-2-3.沿顺时针方向选取下一个顶点,列号为n,行号为1;
所述的步骤(2)中,对步骤(1)中的待细分三角形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码,具体包括如下步骤:
2-1.依据细分规则,更新原有顶点坐标,并生成新的边中心点,边中心点编码等于该所在边的两个顶点编码的平均数,
2-2.重复步骤2-1,直至达到最大细分层次。
所述的步骤(3)中计算每个顶点编码在顶点数组中的位置,采用如下公式:
n+n-1+…+n-(number/MAX-2)+number%MAX-1;
其中number为顶点编码,MAX选取刚好大于n的10的整数次幂。
所述的步骤(4)中依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标,其顶点在顶点数组中的位置的计算采用如下公式:
n+n-1+…+n-(number/MAX-2)+number%MAX-1。
所述的步骤(2)中采用Loop方法对三角形进行细分。
本发明有益效果如下:
本发明通过一种编码方法将不同顶点与其所在的存储位置唯一对应,同时利用编码和编码的叠加,可以确定细分曲面内的任意顶点和单元,避免了由于保存细分曲面拓扑结构而带来的内存开销,本方法广泛适用于实体造型、影视渲染和游戏动画,可以提高内存利用率60%以上。
附图说明
图1为本发明三角形网格细分曲面存取方法的步骤流程示意图;
图2(a)为对输入的原始三角形编码;
图2(b)为第一次细分结果;
图2(c)为第二次细分结果;
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的三角形网格细分曲面存取方法进行详细说明。
如图1所示,一种基于顶点编码的四边形网格细分曲面存取方法,包括如下步骤:
步骤(1)对输入的原始三角形,依据给定的最大细分层次,为待细分三角形的三个顶点编码,如图2(a)所示;
所述的步骤(1)中,对输入的原始三角形,依据给定的最大细分层次,为待细分的三角形三个顶点编码,包括如下步骤:
1-1.依据给定的最大细分层次m,计算出经过m次细分后,在原始三角形每条边上顶点个数n,
1-2.按照顺时针顺序,用一个十进制整数对三角形三个顶点编码,前两位对应行号,后两位对应列号,
1-2-1.任意选取三角形中的一个顶点作为起始顶点,行号列号均为1,
1-2-2.沿顺时针方向选取下一个顶点,列号为1,行号为n;
1-2-3.沿顺时针方向选取下一个顶点,列号为n,行号为1;
步骤(2)对步骤(1)中的三角形进行递归细分,直至达到给定的最大细分层次,每次细分过程中,对新生成的顶点进行编码,如图2(b)所示;
采用Loop方法对三角形进行细分,对步骤(1)中的三角形进行递归细分,直至达到给定的最大细分层次,每次细分过程中,对新生成的顶点进行编码,包括如下步骤:
2-1.依据细分规则,更新原有顶点坐标,并生成新的边中心点,边中心点编码等于对应边的两个顶点编码平均数,
2-2.重复步骤2-1,直至达到最大细分层次。
步骤(3)为细分曲面所有顶点,计算顶点编码在顶点数组中的位置,如图2(c)所示;
使用公式n+n-1+…+n-(number/MAX-2)+number%MAX-1计算顶点编码在顶点数组中的位置,其中,MAX选取刚好大于n的10的整数次幂;
步骤(4)依据最顶层细分曲面三个角点的编码,计算出边中心的编码,进而通过递归方式得到所有细分曲面顶点的编码,依据编码计算出该顶点在顶点数组中的位置。
边中心的编码等于对应边顶点的编码平均值,使用公式n+n-1+…+n-(number/MAX-2)+number%MAX-1计算顶点编码在顶点数组中的位置。

Claims (6)

1.一种基于顶点编码的三角网格细分曲面存取方法,其特征在于包括如下步骤:
步骤(1)对输入的待细分三角形,依据给定的最大细分层次,对待细分三角形的三个顶点进行编码;
步骤(2)对步骤(1)中的待细分三角形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码;
步骤(3)计算所有顶点编码在顶点数组中的位置,然后将每个顶点的坐标存入顶点数组中该顶点编码对应的位置;
步骤(4)依据最顶层细分曲面三个角点的编码,计算出边中心的编码,进而通过递归方式得到所有细分曲面中三角形单元的顶点编码,依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标。
2.根据权利要求1所述的基于顶点编码的三角网格细分曲面存取方法,其特征在于:所述的步骤(1)中,对输入的待细分三角形,依据给定的最大细分层次,对待细分三角形的三个顶点进行编码,具体包括如下步骤:
1-1.依据给定的最大细分层次m,计算出经过m次细分后,在待细分三角形每条边上顶点个数n,
1-2.按照顺时针顺序,用一个十进制整数对待细分三角形的三个顶点进行编码,前两位对应行号,后两位对应列号,具体的:
1-2-1.任意选取待细分三角形中的一个顶点作为起始顶点,行号列号均为1,
1-2-2.沿顺时针方向选取下一个顶点,列号为1,行号为n;
1-2-3.沿顺时针方向选取下一个顶点,列号为n,行号为1。
3.根据权利要求1所述的基于顶点编码的三角网格细分曲面存取方法,其特征在于:所述的步骤(2)中,对步骤(1)中的待细分三角形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码,具体包括如下步骤:
2-1.依据细分规则,更新原有顶点坐标,并生成新的边中心点,边中心点编码等于该所在边的两个顶点编码的平均数,
2-2.重复步骤2-1,直至达到最大细分层次。
4.根据权利要求1所述的基于顶点编码的三角网格细分曲面存取方法,其特征在于:所述的步骤(3)中计算每个顶点编码在顶点数组中的位置,采用如下公式:
n+n-1+…+n-(number/MAX-2)+number%MAX-1;
其中number为顶点编码,MAX选取刚好大于n的10的整数次幂。
5.根据权利要求1所述的基于顶点编码的三角网格细分曲面存取方法,其特征在于:所述的步骤(4)中依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标,其顶点在顶点数组中的位置的计算采用如下公式:
n+n-1+…+n-(number/MAX-2)+number%MAX-1。
6.根据权利要求1所述的基于顶点编码的三角网格细分曲面存取方法,其特征在于:所述的步骤(2)中采用Loop方法对三角形进行细分。
CN201510895986.8A 2015-12-07 2015-12-07 一种基于顶点编码的三角网格细分曲面存取方法 Active CN105303620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510895986.8A CN105303620B (zh) 2015-12-07 2015-12-07 一种基于顶点编码的三角网格细分曲面存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510895986.8A CN105303620B (zh) 2015-12-07 2015-12-07 一种基于顶点编码的三角网格细分曲面存取方法

Publications (2)

Publication Number Publication Date
CN105303620A true CN105303620A (zh) 2016-02-03
CN105303620B CN105303620B (zh) 2017-12-26

Family

ID=55200837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510895986.8A Active CN105303620B (zh) 2015-12-07 2015-12-07 一种基于顶点编码的三角网格细分曲面存取方法

Country Status (1)

Country Link
CN (1) CN105303620B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960469A (zh) * 2017-03-15 2017-07-18 浙江大学 一种快速分割三角形的光滑自由变形算法
CN112365572A (zh) * 2020-09-30 2021-02-12 深圳市为汉科技有限公司 一种基于曲面细分的渲染方法及其相关产品
CN117541457A (zh) * 2023-11-29 2024-02-09 沐曦集成电路(上海)有限公司 一种曲面细分顶点的缓存方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1975786A (zh) * 2006-12-11 2007-06-06 中山大学 一种基于逆Loop细分的渐进网格生成方法
CN102447901A (zh) * 2010-09-01 2012-05-09 微软公司 用于改进的高速缓存和图像分类的自适应网格生成
CN103077543A (zh) * 2012-12-29 2013-05-01 浙江工业大学 一种基于逆Loop细分的嵌入式零树编码方法
CN104361632A (zh) * 2014-11-03 2015-02-18 北京航空航天大学 一种基于Hermite径向基函数的三角网格补洞方法
CN104899929A (zh) * 2014-03-04 2015-09-09 海南师范大学 一种基于拉普拉斯坐标的网格细分方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1975786A (zh) * 2006-12-11 2007-06-06 中山大学 一种基于逆Loop细分的渐进网格生成方法
CN102447901A (zh) * 2010-09-01 2012-05-09 微软公司 用于改进的高速缓存和图像分类的自适应网格生成
CN103077543A (zh) * 2012-12-29 2013-05-01 浙江工业大学 一种基于逆Loop细分的嵌入式零树编码方法
CN104899929A (zh) * 2014-03-04 2015-09-09 海南师范大学 一种基于拉普拉斯坐标的网格细分方法
CN104361632A (zh) * 2014-11-03 2015-02-18 北京航空航天大学 一种基于Hermite径向基函数的三角网格补洞方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
吴元翠 等: "基于Loop细分的自适应细分曲面算法", 《井冈山大学学报》 *
李桂清 等: "自适应细分技术研究进展", 《计算机辅助设计与图形学学报》 *
王艳艳 等: "三角网格顶点重要度的自适应Loop细分算法", 《计算机工程与应用》 *
马建平 等: "面向移动终端的三角网格逆细分压缩算法", 《软件学报》 *
高铭徽 等: "3D网格的分层多描述编码方法", 《计算机工程与应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960469A (zh) * 2017-03-15 2017-07-18 浙江大学 一种快速分割三角形的光滑自由变形算法
CN106960469B (zh) * 2017-03-15 2019-05-28 浙江大学 一种快速分割三角形的光滑自由变形方法
CN112365572A (zh) * 2020-09-30 2021-02-12 深圳市为汉科技有限公司 一种基于曲面细分的渲染方法及其相关产品
CN112365572B (zh) * 2020-09-30 2023-10-03 深圳市为汉科技有限公司 一种基于曲面细分的渲染方法及其相关产品
CN117541457A (zh) * 2023-11-29 2024-02-09 沐曦集成电路(上海)有限公司 一种曲面细分顶点的缓存方法、电子设备及存储介质
CN117541457B (zh) * 2023-11-29 2024-06-21 沐曦集成电路(上海)有限公司 一种曲面细分顶点的缓存方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN105303620B (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
US11386617B2 (en) Tessellation method using recursive sub-division of triangles
CN105303620A (zh) 一种基于顶点编码的三角网格细分曲面存取方法
CN113743137B (zh) 一维信号抽取的方法和装置
Purnomo et al. Seamless texture atlases
CN105118093B (zh) 义齿离散数据的参数曲面重建方法
CN108510063A (zh) 一种应用于卷积神经网络的加速方法和加速器
US20140168360A1 (en) Method and apparatus for encoding a 3d mesh
CN105631939B (zh) 一种基于曲率滤波的三维点云畸变校正方法及其系统
CN107886569B (zh) 一种基于离散李导数的测度可控的曲面参数化方法及系统
KR20150093391A (ko) 지형 렌더링 방법 및 장치
CN102509356A (zh) 使用网格细分的细节保留几何模型变形方法
CN110088777B (zh) 反卷积实现方法及相关产品
CN107038308A (zh) 一种基于线性内插的规则格网地形建模方法
CN104361625A (zh) 一种基于射线原理的带边界保留的云数据精简算法
WO2019136752A1 (zh) 人工智能卷积处理方法、装置、可读存储介质、及终端
CN105321208A (zh) 一种基于顶点编码的四边形网格细分曲面存取方法
WO2017167167A1 (zh) 模型对象构建的方法、服务器及系统
CN105608732A (zh) 一种三角网格模型的优化方法
CN108614735A (zh) 一种基于空间密铺的模板计算方法和系统
CN103824328A (zh) 一种基于OpenCL的移动立方体方法
CN104265859B (zh) 循环球式变比转向器齿轮副齿条齿廓的设计方法
Remacle et al. Fast and robust mesh generation on the sphere—Application to coastal domains
CN102129711A (zh) 基于gpu构架的点线光流场三维重建方法
CN103150711A (zh) 一种基于OpenCL的图像修复方法
CN103260030A (zh) 面向移动终端三维模型流式传输方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191219

Address after: 510530 room 1923, building 3, Ruifeng center, Kaichuang Avenue, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: Guangzhou bud rice Intellectual Property Service Co., Ltd.

Address before: Hangzhou City, Zhejiang province 310018 Xiasha Higher Education Park No. 2 street

Patentee before: Hangzhou Electronic Science and Technology Univ

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200813

Address after: 401-04n, 4 / F, building 3, No. 133, Yanling Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: Guangzhou fermizi Technology Co.,Ltd.

Address before: 510530 room 1923, building 3, Ruifeng center, Kaichuang Avenue, Huangpu District, Guangzhou City, Guangdong Province

Patentee before: Guangzhou bud rice Intellectual Property Service Co.,Ltd.

TR01 Transfer of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method of triangular mesh subdivision surface access based on vertex coding

Effective date of registration: 20200901

Granted publication date: 20171226

Pledgee: Bank of China Limited by Share Ltd. Guangzhou Tianhe branch

Pledgor: Guangzhou fermizi Technology Co.,Ltd.

Registration number: Y2020440000241

PE01 Entry into force of the registration of the contract for pledge of patent right