首页> 中国专利> 一种基于顶点编码的四边形网格细分曲面存取方法

一种基于顶点编码的四边形网格细分曲面存取方法

摘要

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

著录项

  • 公开/公告号CN105321208A

    专利类型发明专利

  • 公开/公告日2016-02-10

    原文格式PDF

  • 申请/专利权人 杭州电子科技大学;

    申请/专利号CN201510894058.X

  • 发明设计人 杜鹏;王毅刚;唐敏;李胜;赵杰伊;

    申请日2015-12-07

  • 分类号G06T19/20(20110101);

  • 代理机构杭州君度专利代理事务所(特殊普通合伙);

  • 代理人杜军

  • 地址 310018 浙江省杭州市下沙高教园区2号大街

  • 入库时间 2023-12-18 14:21:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-18

    专利权的转移 IPC(主分类):G06T19/20 登记生效日:20200131 变更前: 变更后: 申请日:20151207

    专利申请权、专利权的转移

  • 2020-01-03

    专利权的转移 IPC(主分类):G06T19/20 登记生效日:20191213 变更前: 变更后: 申请日:20151207

    专利申请权、专利权的转移

  • 2017-12-26

    授权

    授权

  • 2016-03-09

    实质审查的生效 IPC(主分类):G06T19/20 申请日:20151207

    实质审查的生效

  • 2016-02-10

    公开

    公开

说明书

技术领域

本发明属于计算机检测技术领域,具体涉及一种基于顶点编码的四边形网格细分曲面存取方法。

背景技术

四边形网格细分曲面被广泛应用于实体造型、影视渲染、游戏动画制作等领域。它通过对四边形进行细分,使原有网格更加平顺。但是,四边形网格细分曲面存储,通常需要保持顶点坐标和拓扑结构,随着细分层次的增加,细分曲面的单元个数呈几何级数增长,内存占用量急剧上升,最终会导致内存溢出。

目前,通常采用自适应细分的方法来降低四边形网格细分曲面内存占用量,即利用透视投影的机制,对于能够显示在视窗中的四边形单元进行细分,而不能显示的部分不做处理。由于这种方法对视觉效果没有影响,所以被广泛应用于影视渲染和游戏动画制作,但是,这种方法却不适用实体造型,因为实体造型通常需要对所有单元进行细分。

为此,本发明提出一种基于顶点编码的四边形网格细分曲面存取方法,通过一种编码方法将不同顶点与其所在的存储位置唯一对应,提高了访存效率,同时利用编码的组合,可以确定细分曲面内的任意顶点和单元,避免了由于保存细分曲面拓扑结构而带来的内存开销,本方法广泛适用于实体造型、影视渲染和游戏动画,可以提高内存利用率55%以上。

发明内容

针对现有技术所存在的上述技术缺陷,本发明提供了一种基于顶点编码的四边形网格细分曲面存取方法,利用一种顶点编码方法将顶点与其所在存储位置唯一对应,提高了内存利用率。

一种基于顶点编码的四边形网格细分曲面存取方法,包括如下步骤:

步骤(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-4.沿顺时针方向选取下一个顶点,列号为n,行号为1;

所述的步骤(2)中,对步骤(1)中的待细分四边形进行递归细分,直至达到给定的最大细分层次,且每次细分过程中,对新生成的顶点进行编码,具体包括如下步骤:

2-1.依据细分规则,更新原有顶点坐标,并生成新的边中心点和面中心点,边中心点编码为该所在边的两个顶点编码平均数,面中心点编码为所在面对角线上顶点编码平均数;

2-2.重复步骤2-1,直至达到最大细分层次。

所述的步骤(3)中计算每个顶点编码在顶点数组中的位置,采用如下公式:

(number/MAX-1)×n+number%MAX-1;

其中number为顶点编码,MAX选取刚好大于n的10的整数次幂;

所述的步骤(4)中依据顶点编码计算出该顶点在顶点数组中的位置,然后根据计算出的位置提取顶点坐标,其顶点在顶点数组中的位置的计算采用如下公式:

(number/MAX-1)×n+number%MAX-1

其中number为顶点编码,MAX选取刚好大于n的10的整数倍。

所述的步骤(2)中,采用Catmull-Clark方法对四边形进行细分。

本发明有益效果如下:

本发明通过一种编码方法将不同顶点与其所在的存储位置唯一对应,同时利用编码和编码的叠加,可以确定细分曲面内的任意顶点和单元,避免了由于保存细分曲面拓扑结构而带来的内存开销,本方法广泛适用于实体造型、影视渲染和游戏动画,可以提高内存利用率55%以上。

发明内容

附图说明

图1为本发明四边形网格细分曲面存取方法的步骤流程示意图;

图2(a)为对输入的原始四边形编码;

图2(b)为第一次细分结果;

图2(c)为第二次细分结果;

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的四边形网格细分曲面存取方法进行详细说明。

如图1所示,一种基于顶点编码四边形网格细分曲面存取方法,包括如下步骤:

步骤(1)对输入的原始四边形,依据给定的最大细分层次,为待细分四边形的四个顶点编码,如图2(a)所示;

对输入的原始四边形网格模型,依据给定的最大细分层次,为待细分的四边形四个顶点编码,包括如下步骤:

1-1.依据给定的最大细分层次m,计算出经过m次细分后每行和每列的顶点个数n,

1-2.按照顺时针顺序,用一个十进制整数对四边形四个顶点编码,该整数的前两位对应该顶点所在列的列号,后两位对应该顶点所在行的行号,

1-2-1.任意选取四边形中的一个顶点作为起始顶点,行号列号均为1,

1-2-2.沿顺时针方向选取下一个顶点,列号为1,行号为n;

1-2-3.沿顺时针方向选取下一个顶点,行号列号均为n;

1-2-4.沿顺时针方向选取下一个顶点,列号为n,行号为1;

步骤(2)对步骤(1)中的四边形进行递归细分,直至达到给定的最大细分层次,每次细分过程中,对新生成的顶点进行编码,如图2(b)所示;

对步骤(1)中的四边形进行递归细分,直至达到给定的最大细分层次,每次细分过程中,对新生成的节点进行编码,包括如下步骤:

2-1.依据细分规则,更新原有顶点坐标,并生成新的边中心点和面中心点,边中心点编码为对应边的两个顶点编码平均数,面中心点编码为所在面对角线上顶点编码平均数,

2-2.重复步骤2-1,直至达到最大细分层次。

采用Catmull-Clark方法对四边形进行细分。

步骤(3)为生成的细分曲面所有顶点,计算顶点编码在顶点数组中的位置,如图2(c)所示;

使用公式(number/MAX-1)*n+number%MAX-1计算顶点编码number在顶点数组中的位置,其中,MAX选取刚好大于n的10的整数倍;

步骤(4)依据最顶层细分曲面四个角点的编码,计算出边中心和面中心的编码,进而通过递归方式得到所有细分曲面顶点的编码,依据编码计算出该顶点在顶点数组中的位置。

边中心的编码等于对应边顶点的编码平均值,面中心编码等于对应面对角线上编码的平均值,使用公式(number/MAX-1)*n+number%MAX-1计算顶点编码number在顶点数组中的位置。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号