当前位置: 首页 > 专利查询>微软公司专利>正文

对程序几何对象进行三角剖分制造技术

技术编号:2830226 阅读:207 留言:0更新日期:2012-04-11 18:40
基于在原始程序表面上执行的一些构造立体几何操作,能表达复合程序表面。该基于复合程序表面的域的表达包括相交的隐曲线。在预处理期间,会被三角化的部分基于表示的域首先通过隐曲线和曲线可视三角形的参数区域被分解成没有绑定在任何一边上的简单三角形。粗略的预处理三角形网格随后在运行期通过对该粗略网格的进一步分解而改进,以增加具有基于曲线边和基于非曲线边的三角形以生成采样三角形的网格。更精细的采样三角形网格通过应用几何学实例被进一步改进,以将合适的实例网格映射到合适的采样三角形以在运行期为渲染创建甚至更精细的三角形网格。

【技术实现步骤摘要】
【国外来华专利技术】

涉及计算机图形学。更具体地,本领域涉及在计算机显示设备上 渲染计算机所生成的图像。
技术介绍
构造立体几何学(CSG)是模拟几何表面的方法,由此更复杂的表面被模型化 为简单表面的组合。例如,在计算机图形学中,CSG为自例如是简单柱面和简单球 面的更低种类的表面定义更高种类的表面(例如是有洞的球面)提供强大的方式。 CSG组件包括例如是原始的柱面和球面,能根据过程或接收一些参数的函数来描 述。例如,球形的三维(3D)表面能根据它的中心坐标和它的半径值程序化地加以 定义。更复杂的组件能通过使用一些程序化对象执行CSG操作而被模型化。3D表面的程序模型具有许多需要的特征。例如,它们比多边形网格或多边形 表面补丁 (例如齿条)更紧密,它们是分辨率独立的且它们通过改变少数参数在运 行期得以修改。紧密性对许多原因来说都重要。例如,存储紧密表示花费更少的存 储。另外,即使需要更多的计算来在运行期处理紧密表示,紧密表现也能比大的表 示更快的被渲染。在渲染这样的程序表面以显示的一方法中,程序表面表示被转换为互连三角 形的网格。计算机图形处理的这一步通常涉及例如是三角剖分或密铺。三角形更好, 这是因为它们的过分简单化表示以及它们对渲染的合适度。然而,三角剖分程序表 面和存储描述该三角剖分表面模型的数据结构也消耗存储以及为此造成的费用昂 贵。因此,需要在渲染至显示器之前在运行期执行更多的涉及三角剖分的任务。因 此,避免与存储和获取涉及程序表面的三角剖分表示相关的耗费。
技术实现思路
在此描述渲染复杂程序表面的方法和系统,其通过用表示原始程序表面的数据执行CSG操作至少部分地形成。CSG操作产生隐函数定义的相交的隐曲线。隐函 数包括多个域变量且相交的隐曲线分解为多个参数化区域。另一方面,基于复杂程 序表面表示的域被静态地预处理以在该域上生成粗略的三角剖分网格。该粗略的三 角剖分网格存储在存储器中并在运行期通过进一步的分解和应用几何实例来进一 步改进。在另一方面,通过增加约束边,连接端点和一些由CSG操作产生的相交隐曲 线的参数化区域的中间点,至少部分的生成粗略三角剖分网格。在另一方面,应用 Delaunay三角剖分方法以最小化在粗略三角剖分网格的域中的细片三角形的发 生。具有Delaimay三角剖分的三角剖分网格通过生成曲线可视化三角形进一步得 到增强。在一方面,曲线可视化三角形包括顶点,以使从该顶点到相应约束边所画的 线段与相应的相交隐曲线在不多于一个地方相交。在更进一步的方面,静态生成的 粗略三角剖分网格通过通用计算机系统的中央处理单元(CPU)生成并存储以为稍 后的使用。在另一方面,至少通过增加与曲线中间点相关的边至参数区域的端点并将粗 略网格的基于非曲线的简单三角形子进行细分以匹配用户定义的参数长度约束,将 静态生成的粗略三角剖分网格进一步在运行期做分解以生成更精细的采样三角形 网格。在另一方面,通过应用几何实例进一步改进采样三角形网格。应用几何实例 的方法包括至少部分地基于采样三角形类型的分类和在该采样三角形中映射实例 网格来选择合适的实例网格。在另一方面,应用几何实例是在图形处理单元(GPU) 上,在运行期中实现的。在另一方面,通过GPU接收采样三角形网格的三角形的顶 点数据和将该采样三角形分为多种类型的数据。至少部分的基于采样三角形的分类 数据,选择合适的实例网格以在采样三角形中被映射。在映射的方法中,从网格中 进行同样分类的采样三角形分为一组且使用合适的实例网格一起映射。在一方面, 通过使用关于采样三角网格的三角形的顶点数据的实例网格的重心坐标来完成映 射。上述列出的是至少一些实施例的一些特征。附加的特征和优点将从下面的对 阐述的结合附图的实施例的详细描述中变的清楚。 附图说明图1A是示出两个原始的示范性程序表面的框图。图IB是示出通过在图1A所示的原始表面上执行示范性构造立体几何操作以 生成示范性复杂程序表面的框图。图2是描述通过三角剖分渲染复杂程序表面的总体方法的流程图。图3为表示程序表面而生成三角剖分网格的总体方法的流程图。图4是示出示范性图形处理系统的至少一些组件,以渲染包括程序表面的图 形对象,这些程序表面基于表示会被渲染的表面的三角剖分网格的框图。图5是示出包括相交隐曲线的基于示范性表面的示范性的表示的域的框图, 其中多个表面彼此相交。图6是示出使用相交隐曲线静态生成表示基于程序表面的域的表示的粗略三 角剖分网格的示范性总体方法的流程图。图7A是示出对在基于域表示的程序表面中的相交的隐曲线的示范性约束的框图。图7B是示出了示范性域的框图,使用至少一些具有约束边的三角形约束和三 角剖分交点的该示范性域上的参数化曲线。图8A是示出了具有示范性集的约束边的相交隐曲线的框图,其中至少一些约 束边相互干扰。图8B是示出了具有另一示范性集的约束边的相交隐曲线的框图,其中至少一 些该曲线的参数化区域进一步细分以避免各自约束边之间的干扰。图9是示出了不同三角剖分网格的示范性的最细的长条三角形的框图,其中 根据Delaimay三角剖分选择具有最细的长条三角形的网格。图10是示出包含至少一曲线可视化三角形的示范性三角剖分域的框图。 图11是示出通过隐微分计算交点的示范性隐曲线的切线的方法的框图。 图12是示出相应于相交段的示范性CSG隐曲线的在域中的示范性曲线可视化 区域的框图。图13A是示出了示范性曲线可视化三角形的框图,其中与第一条隐曲线相关 的曲线可视化三角形与第二条曲线干扰。图13B是示出了曲线可视化三角形的框图,其中不同隐曲线的曲线可视化三角形没有相互相交。图14是示出了至少部分的域在预处理中静态三角化以生成简单域三角形和曲 线可视化三角形的一些组合的框图。图15是示出了通过改进静态生成的粗略三角剖分网格的对域的运行期三角剖 分的示范性总体方法的流程图。图16是示出了在运行期改进静态生成的粗略三角剖分网格以生成更精细的采 样三角形网格的框图。图17A是示出了通过增加曲线可视化三角形,进一步细分至少部分的静态三 角剖分的粗略网格,以与增加相交隐曲线的附加边相适应的框图。图17B是示出了通过在不由基于曲线的边做边界的简单采样三角形内增加边, 进一步细分至少部分的静态三角剖分粗略网格的框图。图17C是示出了通过在运行期生成的曲线可视化三角形中增加边以进一步细 分至少部分的静态三角剖分粗略网格,以生成采样三角形的更精细的网格的框图。图18是示出应用几何实例以更进一步改进运行期生成的采样三角形网格的网 格的示范性方法的流程图。图19是示出从各种几何实例网格到采样三角形网格的合适三角形的示范性映 射的框图。图20是示出包括它们相应的重心坐标的示范性集的不同类型的几何实例网格。图21是描述在合适的采样三角形类型中映射合适的所选的几何实例网格的示 范性方法的列表。图22是示出用于实施三角剖分程序几何对象的方法的示范性计算环境的框图。具体实施方式 示范性CSG操作图1A示出了示范性程序表面SJ10和S2 120,其都是能以一些程序& (Ul, vi)和f2 (u2, v2)的过程各自在例如是二维平面中描述的柱状表面。图IB示出 了包含表面S, 110和S2 120的CSG操作的结果。特别地,图1本文档来自技高网...

【技术保护点】
一种用于生成复杂图形对象的三角剖分网格表示的计算机实现的方法,所述复杂图形对象是至少部分通过对多个原始图形对象施加构造立体几何操作而形成的,该方法包括:接收表示所述多个原始图形对象的图形模型的数据;基于所述多个原始图形对象执 行构造立体几何操作以生成所述复杂图形对象的基于域的表示;分解所述复杂图形对象的基于域的表示,以生成表示所述复杂图形对象的粗略的静态三角剖分网格;存储所述粗略的静态三角剖分网格;以及在运行时间,将几何实例化应用到粗略的 三角剖分网格以生成精细的运行时间三角剖分网格,以用于将所述复杂图形对象渲染至显示设备。

【技术特征摘要】
【国外来华专利技术】US 2005-6-30 11/172,6531、一种用于生成复杂图形对象的三角剖分网格表示的计算机实现的方法,所述复杂图形对象是至少部分通过对多个原始图形对象施加构造立体几何操作而形成的,该方法包括接收表示所述多个原始图形对象的图形模型的数据;基于所述多个原始图形对象执行构造立体几何操作以生成所述复杂图形对象的基于域的表示;分解所述复杂图形对象的基于域的表示,以生成表示所述复杂图形对象的粗略的静态三角剖分网格;存储所述粗略的静态三角剖分网格;以及在运行时间,将几何实例化应用到粗略的三角剖分网格以生成精细的运行时间三角剖分网格,以用于将所述复杂图形对象渲染至显示设备。2、 根据权利要求1所述的方法,其特征在于,所述复杂图形对象的基于域的 表示包含至少部分地由一隐函数至少部分地基于对所述多个原始图形对象执行的 构造立体几何操作而定义的相交隐曲线。3、 根据权利要求2所述的方法,其特征在于,生成粗略的静态三角剖分网格 包括.-在所述隐相交曲线内确定多个参数化区域; 向所述多个参数化区域添加约束边;使用所述约束边来三角剖分所述复杂图形对象的基于域的表示,以确定所述 复杂图形对象的基于域的表示的Delaunay三角剖分;以及通过增加顶点进一步三角剖分该Delaunay三角剖分以生成以相应的约束边作 为底边的曲线可视化三角形。4、 根据权利要求3所述的方法,其特征在于,所述复杂图形对象的基于域的 表示包含至少多条隐相交曲线,且该方法进一步包括-确定与所述多条隐曲线中不同的隐曲线相对应的约束边是否彼此相交;以及细分与相交的约束边相对应的参数化区域中的至少一个参数化区域,直到相 交的约束边不再彼此相交。5、 根据权利要求3所述的方法,其特征在于,所述曲线可视化三角形包含顶点,使得从该顶点到相应的约束边之一上的任何点的直线段与所述隐曲线中相应的 一条相交不超过一次。6、 根据权利要求3所述的方法,其特征在于,生成所述曲线可视化三角形包括通过计算用于在与所述相应参数化区域相关的自变量的一系列数值上定义相应 的隐曲线之一的隐函数的隐微分,来确定相应参数化区域的一系列切线。7、 根据权利要求6所述的方法,其特征在于,这一系列切线包括具有最大值斜率的最大切线和具有最小值斜率的最小切线,并且所述曲线可视化三角形是通过 在可视化区域中选择一顶点来生成的。8、 根据权利要求7所述的方法,其特征在于,所述可视化区域是通过在所述 域中确定由自具有最大斜率的相应参数化区域的第一端点处延伸的第一线段和自 具有最小斜率的相应参数化区域的第二端点处延伸的第二线段分别延伸超过所述 第一线段和所述第二线段彼此相交的点而界定的区域来确定的。9、 根据权利要求8所述的方法,其特征在于,所述可视化区域中要被选为所 述曲线可视化三角形的顶点的那些点被选出,以避免所述曲线可视化三角形之间的 干扰。10、 根据权利要求1所述的方法,还包括在运行时间,进一步将所述粗略 的静态三角剖分网格细分成采样三角形的运行时间细分网格。11、 根据权利要求IO所述的方法,还包括根据采样三角形的分类类型确定所述采样三角形的分类,其中所述采样三角形类型选自下列基于非曲线的简单采样 三角形、通过细分曲线可视化三角形而生成的基于非曲线的三角形、以及基于曲线 的运行时间曲线可视化三角形。12、 根据权利要求11所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:BK古恩特M加维流
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1