利用序列化的值通过镶嵌对网格信息的存储、渲染和显示制造技术

技术编号:35853829 阅读:20 留言:0更新日期:2022-12-07 10:39
公开了一种在网格中存储信息的方法,包括对网格的多个输入片块进行镶嵌,对镶嵌的输入片块的顶点进行序列化,为每个顶点计算值,根据顶点的序列化对值进行序列化;以及存储序列化的值。化的值。化的值。

【技术实现步骤摘要】
【国外来华专利技术】利用序列化的值通过镶嵌对网格信息的存储、渲染和显示


[0001]本专利技术大体涉及一种用于通过镶嵌来高效地和准确地存储和显示用于网格的信息的系统和方法。

技术介绍

[0002]在三维对象的三维渲染中,细节可能很重要。例如,在牙科,牙齿或牙龈的颜色变化可以表明临床状况的变化。小缝隙可能是严重的牙齿问题的开始。不幸的是,这些细节的存储、显示和渲染可能是昂贵的。

技术实现思路

[0003]本公开包括存储网格中的信息的方法,包括:
[0004]‑
对网格的多个输入片块进行镶嵌,其中,镶嵌为该多个输入片块中的每一个产生至少一个镶嵌顶点;
[0005]‑
对镶嵌的输入片块的顶点进行序列化;
[0006]‑
为每个顶点计算一值;
[0007]‑
根据顶点的序列化对该值进行序列化;以及
[0008]‑
储存序列化的值。
[0009]本公开是存储网格中的信息、使得其能以高效和准确的方式存储、渲染和显示的方法。
[0010]网格是顶点、边和面的集合。顶点是代表表面的单个点,边是连接顶点的线,而面是被顶点和边包围的连续区域。网格可以代表底层对象,例如代表牙齿的三维模型,或代表下巴的二维模型。图4显示了网格的示例。
[0011]网格可以代表二维(2D)或三维(3D)对象。流行的用于三维网格的文件格式包括协同设计作业(Collaborative Design Activity)(COLLADA)、初始化图形交换规范(IGES)、ISO 10303(STEP)、STL、虚拟现实建模语言(VRML)。这些文件格式包括数据结构,该数据结构例如可以指示计算机如何构建网格模型。
[0012]这里的数据结构被理解为在计算机科学中具有其通用含义,即存储允许访问和/或修改的数据的格式。数据结构可以包括,例如,列表、图元、字典、数组、树等。为了存储三维网格,数据结构应该存储有关其顶点、顶点如何被边连接以及基于这些顶点的每个面的布置的信息。
[0013]在一个实施例中,与网格模型相关的数据结构被修改,以存储额外的信息作为序列化的值,所述值可以通过镶嵌被访问。信息可以是底层对象的属性,其可以与数值相关联。信息的示例包括底层对象的形状和/或颜色。
[0014]将信息增加至网格的一种方法是使用更高分辨率的网格,也即向网格增加更多的顶点和边。更高分辨率的网格可能占据更大的文件大小。在必须快速进行渲染—例如其中用户正在实时放大和缩小以便向患者展示扫描的细节—的情况下,这可能是不合乎需要
的。此外,更大的文件大小可能会上传或下载缓慢,并且在云存储中花费更多。在有许多文件的情况下,这一点尤其值得关注。
[0015]另一种在网格中显示更多信息的方法是镶嵌。镶嵌将网格的片块分割成更小的片,增加了该片块的复杂性。镶嵌允许将渲染网格所必需的计算机程序并行化,这会减少所需的时间。这允许细节实时地动态添加和移除。例如,查看三维对象的用户可以进行放大和缩小,且着色器可以增加细节以保持对象在屏幕上看起来平滑。下面图6显示了单个小面的镶嵌的示例。
[0016]图6中详细描述了镶嵌的一个实施例,但总的来说:镶嵌取用输入片块,即网格的一个区域,并将其转换为一个基元,即标准形状。然后,该基元可以根据控制镶嵌的镶嵌参数进行细分。这种细分可以通过生成镶嵌顶点,即由镶嵌创建的新顶点,以及将网格顶点(即网格上的现有顶点)和/或镶嵌顶点利用边连接成面来完成。镶嵌顶点再被投射回到输入的片块上。由于标准形状,可以并行地对许多被镶嵌的基元进行操作。
[0017]计算机硬件可能有嵌入式系统来协助镶嵌,因为它工作效果良好。例如,大多数Nvidia芯片都允许进行镶嵌。渲染时,镶嵌可以由CPU和/或GPU执行。镶嵌也可以在软件中完成。镶嵌可以是渲染管线的一部分,如图5中所述。
[0018]然而,镶嵌通常用于估计新的值。这对于诸如视频游戏的应用来说是可以接受的,其中模型只需要看起来合理即可。然而,对于临床应用来说,估计可能是不够的。
[0019]本公开可以通过对来自镶嵌的输入片块的顶点进行序列化计算这些顶点的值以及然后存储序列化的值,来允许存储、渲染和显示网格的真实/已知信息。这允许关于网格的信息利用镶嵌进行重建,如下所述。
[0020]本公开进一步包括对镶嵌的输入片块的顶点进行序列化,其中顶点包括网格顶点和镶嵌顶点。针对各个镶嵌,序列化以相同的方式为顶点排序。用于对顶点进行序列化的实施例包括:根据镶嵌参数计算数字,将坐标转换为数字。将在下文和图10中描述细节。
[0021]然后为每个序列化的顶点计算一值。这可以例如通过比较附近顶点的值来完成,如图9中所述。然后根据顶点的序列化的顺序对该值进行序列化,并存储序列化的值。
[0022]这些值可以包含,例如,颜色信息和/或几何信息。下面描述一个实施例,其中值具有颜色信息并且是颜色值。
[0023]其中值具有几何信息并且可能是三维欧几里得坐标的实施例可以进一步包括欧几里得坐标和/或欧几里得坐标的位移。例如,这可能允许将来自扫描的进一步细节存储在分辨率低于该扫描的网格中。对于牙科模型,扫描的初始显示可能只需要一定的分辨率,但放大可能需要更多的表面细节。存储带有额外几何信息的序列化的值可以实现这一点。
[0024]一实施例进一步包括一种方法,其中序列化包括基于坐标生成序列化顺序。
[0025]生成序列化顺序(即顶点被序列化的顺序)的一种方法是使该顺序以基元上的坐标为基础。坐标可以是用于描述位置的一个数字或一组数字。坐标的示例包括:重心坐标、欧几里得坐标、笛卡尔坐标。
[0026]在一个实施例中,三角形基元的重心坐标可被转换为序列化顺序。在另一个实施例中,四边形基元的欧几里得坐标可被转换为序列化顺序。细节见图10。
[0027]一实施例包括一种方法,其中序列化进一步包括根据至少一个镶嵌参数生成序列化的数字。
[0028]序列化顺序也可能基于用于对基元进行镶嵌的参数。
[0029]一实施例进一步包括一种方法,其中值是颜色值。
[0030]一实施例是在网格中使用颜色的方法,使得其可以快速、准确和高效地存储、渲染和显示。
[0031]网格本身通常可以存储几何信息,即关于底层对象如何成形的信息。在一实施例中,与网格模型相关联的数据结构被修改,以同样存储关于底层对象的颜色的信息。
[0032]颜色是一种视觉特征。颜色值是用来表达是什么颜色的系统性的方式,例如,红绿蓝值(RGB)、十进制值、十六进制值、青色品红色黄色键值(CMYK),或色库,如潘通库(Pantone library)。
[0033]为网格添加颜色信息的典型方法是通过纹理映射。纹理映射包括生成二维的纹理,然后通过将纹理上的特定点与网格上的特定点相匹配,将其映射到网格上。它可以被设想为数字版的汽车乙烯树脂包覆。
[0034]然而,纹理映射在存储和计算方面都是昂贵的。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种在网格中存储信息的方法,包括:对所述网格的多个输入片块进行镶嵌,其中,镶嵌为所述多个输入片块中的每一个产生至少一个镶嵌顶点;对镶嵌的输入片块的顶点进行序列化;为每个顶点计算一值;根据所述顶点的序列化对所述值进行序列化;以及存储序列化的值。2.根据权利要求1所述的方法,其中,序列化包括基于坐标来生成序列化顺序。3.根据前述权利要求中的一项或多项所述的方法,其中,所述值是颜色值。4.根据前述权利要求中的一项或多项所述的方法,其中,所述网格基于三维对象。5.根据前述权利要求中的一项或多项所述的方法,进一步包括使用所述序列化的值渲染所述网格。6.根据前述权利要求中的一项或多...

【专利技术属性】
技术研发人员:M
申请(专利权)人:三形状股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1