CN101189600A - 对程序几何对象进行三角剖分 - Google Patents

对程序几何对象进行三角剖分 Download PDF

Info

Publication number
CN101189600A
CN101189600A CNA2006800197066A CN200680019706A CN101189600A CN 101189600 A CN101189600 A CN 101189600A CN A2006800197066 A CNA2006800197066 A CN A2006800197066A CN 200680019706 A CN200680019706 A CN 200680019706A CN 101189600 A CN101189600 A CN 101189600A
Authority
CN
China
Prior art keywords
triangle
curve
grid
sampling
triangulation
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
CNA2006800197066A
Other languages
English (en)
Other versions
CN100583084C (zh
Inventor
B·K·古恩特
M·加维流
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101189600A publication Critical patent/CN101189600A/zh
Application granted granted Critical
Publication of CN100583084C publication Critical patent/CN100583084C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

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

Description

对程序几何对象进行三角剖分
技术领域
本技术领域涉及计算机图形学。更具体地,本领域涉及在计算机显示设备上渲染计算机所生成的图像。
背景技术
构造立体几何学(CSG)是模拟几何表面的方法,由此更复杂的表面被模型化为简单表面的组合。例如,在计算机图形学中,CSG为自例如是简单柱面和简单球面的更低种类的表面定义更高种类的表面(例如是有洞的球面)提供强大的方式。CSG组件包括例如是原始的柱面和球面,能根据过程或接收一些参数的函数来描述。例如,球形的三维(3D)表面能根据它的中心坐标和它的半径值程序化地加以定义。更复杂的组件能通过使用一些程序化对象执行CSG操作而被模型化。
3D表面的程序模型具有许多需要的特征。例如,它们比多边形网格或多边形表面补丁(例如齿条)更紧密,它们是分辨率独立的且它们通过改变少数参数在运行期得以修改。紧密性对许多原因来说都重要。例如,存储紧密表示花费更少的存储。另外,即使需要更多的计算来在运行期处理紧密表示,紧密表现也能比大的表示更快的被渲染。
在渲染这样的程序表面以显示的一方法中,程序表面表示被转换为互连三角形的网格。计算机图形处理的这一步通常涉及例如是三角剖分或密铺。三角形更好,这是因为它们的过分简单化表示以及它们对渲染的合适度。然而,三角剖分程序表面和存储描述该三角剖分表面模型的数据结构也消耗存储以及为此造成的费用昂贵。因此,需要在渲染至显示器之前在运行期执行更多的涉及三角剖分的任务。因此,避免与存储和获取涉及程序表面的三角剖分表示相关的耗费。
发明内容
在此描述渲染复杂程序表面的方法和***,其通过用表示原始程序表面的数据执行CS6操作至少部分地形成。CS6操作产生隐函数定义的相交的隐曲线。隐函数包括多个域变量且相交的隐曲线分解为多个参数化区域。另一方面,基于复杂程序表面表示的域被静态地预处理以在该域上生成粗略的三角剖分网格。该粗略的三角剖分网格存储在存储器中并在运行期通过进一步的分解和应用几何实例来进一步改进。
在另一方面,通过增加约束边,连接端点和一些由CSG操作产生的相交隐曲线的参数化区域的中间点,至少部分的生成粗略三角剖分网格。在另一方面,应用Delaunay三角剖分方法以最小化在粗略三角剖分网格的域中的细片三角形的发生。具有Delaunay三角剖分的三角剖分网格通过生成曲线可视化三角形进一步得到增强。
在一方面,曲线可视化三角形包括顶点,以使从该顶点到相应约束边所画的线段与相应的相交隐曲线在不多于一个地方相交。在更进一步的方面,静态生成的粗略三角剖分网格通过通用计算机***的中央处理单元(CPU)生成并存储以为稍后的使用。
在另一方面,至少通过增加与曲线中间点相关的边至参数区域的端点并将粗略网格的基于非曲线的简单三角形子进行细分以匹配用户定义的参数长度约束,将静态生成的粗略三角剖分网格进一步在运行期做分解以生成更精细的采样三角形网格。
在另一方面,通过应用几何实例进一步改进采样三角形网格。应用几何实例的方法包括至少部分地基于采样三角形类型的分类和在该采样三角形中映射实例网格来选择合适的实例网格。在另一方面,应用几何实例是在图形处理单元(GPU)上,在运行期中实现的。在另一方面,通过GPU接收采样三角形网格的三角形的顶点数据和将该采样三角形分为多种类型的数据。至少部分的基于采样三角形的分类数据,选择合适的实例网格以在采样三角形中被映射。在映射的方法中,从网格中进行同样分类的采样三角形分为一组且使用合适的实例网格一起映射。在一方面,通过使用关于采样三角网格的三角形的顶点数据的实例网格的重心坐标来完成映射。
上述列出的是至少一些实施例的一些特征。附加的特征和优点将从下面的对阐述的结合附图的实施例的详细描述中变的清楚。
附图说明
图1A是示出两个原始的示范性程序表面的框图。
图1B是示出通过在图1A所示的原始表面上执行示范性构造立体几何操作以生成示范性复杂程序表面的框图。
图2是描述通过三角剖分渲染复杂程序表面的总体方法的流程图。
图3为表示程序表面而生成三角剖分网格的总体方法的流程图。
图4是示出示范性图形处理***的至少一些组件,以渲染包括程序表面的图形对象,这些程序表面基于表示会被渲染的表面的三角剖分网格的框图。
图5是示出包括相交隐曲线的基于示范性表面的示范性的表示的域的框图,其中多个表面彼此相交。
图6是示出使用相交隐曲线静态生成表示基于程序表面的域的表示的粗略三角剖分网格的示范性总体方法的流程图。
图7A是示出对在基于域表示的程序表面中的相交的隐曲线的示范性约束的框图。
图7B是示出了示范性域的框图,使用至少一些具有约束边的三角形约束和三角剖分交点的该示范性域上的参数化曲线。
图8A是示出了具有示范性集的约束边的相交隐曲线的框图,其中至少一些约束边相互干扰。
图8B是示出了具有另一示范性集的约束边的相交隐曲线的框图,其中至少一些该曲线的参数化区域进一步细分以避免各自约束边之间的干扰。
图9是示出了不同三角剖分网格的示范性的最细的长条三角形的框图,其中根据Delaunay三角剖分选择具有最细的长条三角形的网格。
图10是示出包含至少一曲线可视化三角形的示范性三角剖分域的框图。
图11是示出通过隐微分计算交点的示范性隐曲线的切线的方法的框图。
图12是示出相应于相交段的示范性CSG隐曲线的在域中的示范性曲线可视化区域的框图。
图13A是示出了示范性曲线可视化三角形的框图,其中与第一条隐曲线相关的曲线可视化三角形与第二条曲线干扰。
图13B是示出了曲线可视化三角形的框图,其中不同隐曲线的曲线可视化三角形没有相互相交。
图14是示出了至少部分的域在预处理中静态三角化以生成简单域三角形和曲线可视化三角形的一些组合的框图。
图15是示出了通过改进静态生成的粗略三角剖分网格的对域的运行期三角剖分的示范性总体方法的流程图。
图16是示出了在运行期改进静态生成的粗略三角剖分网格以生成更精细的采样三角形网格的框图。
图17A是示出了通过增加曲线可视化三角形,进一步细分至少部分的静态三角剖分的粗略网格,以与增加相交隐曲线的附加边相适应的框图。
图17B是示出了通过在不由基于曲线的边做边界的简单采样三角形内增加边,进一步细分至少部分的静态三角剖分粗略网格的框图。
图17C是示出了通过在运行期生成的曲线可视化三角形中增加边以进一步细分至少部分的静态三角剖分粗略网格,以生成采样三角形的更精细的网格的框图。
图18是示出应用几何实例以更进一步改进运行期生成的采样三角形网格的网格的示范性方法的流程图。
图19是示出从各种几何实例网格到采样三角形网格的合适三角形的示范性映射的框图。
图20是示出包括它们相应的重心坐标的示范性集的不同类型的几何实例网格。
图21是描述在合适的采样三角形类型中映射合适的所选的几何实例网格的示范性方法的列表。
图22是示出用于实施三角剖分程序几何对象的方法的示范性计算环境的框图。
具体实施方式
示范性CSG操作
图1A示出了示范性程序表面S1 110和S2 120,其都是能以一些程序f1(u1,v1)和f2(u2,v2)的过程各自在例如是二维平面中描述的柱状表面。图1B示出了包含表面S1 110和S2 120的CSG操作的结果。特别地,图1B示出了通过从较大的表面S1 110中部分跟踪较小的表面S2 120以获得布尔差分的结果。示出的操作和表面都是示范性的。其他操作,例如是相交和各种表面的联合,例如是球面、旋转表面或多项式片,都是可能的。
3D表面S1 110和S2 120描述为f1(u1,v1)和f2(u2,v2),可以如下定义:
f1(u1,v1)=[f1x(u1,v1),f1y(u1,v1),f1z(u1,v1)]T
f2(u2,v2)=[f2x(u2,v2),f2y(u2,v),f2z(u2,v2)]T
而且,表面S1 110和S2 120的相交的曲线(例如在图1B中的130和135)隐含地定义为函数F=f1(u1,v1)-f2(u2,v2)=[0x,0y,0z]。由于图元S1 110和S2 120通过函数根据域变量(u1,v1)和(u2,v2)程序化描述,描述相交隐曲线的函数F是4个域变量F(u1,v1,u2,v2)的函数。
示范性程序表面渲染
可以选择由执行CSG操作生成的复杂程序表面以显示在屏幕上。应用三角剖分至这样的复杂程序表面的表示是一种在屏幕或显示器上渲染表面的方法。图2为渲染例如是图1B的150的复杂程序表面提供总体方法200,包括相交的任意隐曲线。首先在210,计算机图形处理***(例如图4的400)接收图元(例如图1A的110和120)的模型,以及在220执行CSG操作(例如图1B所示)以生成例如是图1B的150的复杂程序表面。然后在230中,隐含解释该执行的CSG操作的CSG程序表面的基于2D域的表示(例如是图5的500和550)通过所选的三角剖分处理分解为三角形网格。
2D网格在表面域中。存在对每个表面的2D网格,其贡献给复杂CSG程序表面。如果在2个程序表面之间存在一个CSG操作,将存在2个会被分解的网格。如果在3个网格之间存在2个CSG操作,将有3个网格会被分解,等等。
在240,通过从2D平面到3D平面的映射,从原始程序表面的基于域的2D网格(例如500和550)的组件中制造出最终复杂程序表面的3D网格。例如,通过使用合适表面的表达或过程的顶点阴影程序,在GPU(例如图4的430)中完成映射。在250中渲染这一3D网格以在显示器上产生图像。
图3示出了应用三角剖分至关于CSG程序表面的基于域的表示的示范性方法230.在310中,在预处理中将关于CSG程序表面的基于域的表示静态分解成三角形的粗略网格。之后在320中,将静态三角剖分数据存储在存储器中。在330中,在运行期进一步改进静态三角剖分,生成更好的三角剖分网格以在附加细节中表达表面的复杂性。在运行期的附加处理以在渲染之前获得最终三角剖分具有降低需要存储的资源的开销以及获取关于会被显示的CSG程序表面的复杂三角网格的数据结构的开销的优点。这也导致额外的适应性,例如只对那些会在CSG操作之后显示的部分CSG程序表面进行三角剖分。
用于程序表面的渲染的示范性图像处理***
图4示出了示范性图形处理***400以适于显示图形给用户的方式生成图形,该***包括组件以处理与计算机相关的数据。***包括可编程通用中央处理单元(CPU)410.存储器420存取至CPU410和图形处理单元(GPU)430.在一实施例中,通过粗略三角剖分静态分解CSG程序表面的域的步骤310在预处理期间在CPU410中完成且作为静态三角剖分数据425存储在存储器420中。GPU430能接收静态三角剖分数据425以在显示器470上渲染CSG程序表面之前做进一步的处理。
示范性的GPU430包括顶点处理单元435(VPU)以处理源自静态三角剖分数据425的三角剖分网格的顶点数据。处理可以包括CSG程序表面的进一步变换。例如,VPU435典型的应用顶点阴影程序从粗略域三角剖分中动态创建CSG表面的3D网格,连同普通的3D变换。光栅440接收一系列向量形式的顶点数据,并使它们转换成与显示像素相关的像素数据。像素处理单元445能为显示器470的像素产生最后的颜色(例如经由调整光亮和阴影)。Z缓冲器450典型的增加深度数据以使在显示器470中的渲染场景的元素显示给在深度上彼此相关的用户。***400和其上的组件仅仅是作为示出,可以增加其他组件以及删除示出的一些组件。
隐相交曲线的示范性参数化
示范性表面S1 110和S2 120的基于域的表示以500和550各自示出在图5中。曲线510、545、560和585代表在每个该两个域中的点,其中该两个表面S1 110和S2 120相交(例如图1中的130和135)。各自的域500和550的(u1,v1)和(u2,v2)的剩余的点值代表各自表面S1 110和S2 120的剩余点。域500和550能一起代表任一复杂程序表面的基于域的表示,其通过对图元S1 110和S2 120应用CSG操作而形成。
步骤230(图2)的基于域的表示500和550的分解开始于相交曲线510、545、560和585的各自的参数化区域。假设上述的程序函数F(u1,v1,u2,v2),其中F(x)=F(u1,v1,u2,v2),以使
Figure S2006800197066D00071
是4D域变量(u1,v1,u2,v2)的值的范围,且假定存在函数FP(xp)=xd以使xp和xd各自分割变量x的向量至参数化变量(也称作自变量)的向量和因变量的向量。如果F(x)是:F:Rm→Rn,则数字m-n指示在变换中参数化变量的数量。因此,函数FP(xp)允许从属变量xd以自变量或参数化变量xp的形式表达。因此,由于因变量的值能从自变量或参数化变量的值中取得,参数化隐函数的能力具有减少需要存储这样的函数表示的存储器的直接优点。在函数F:Rm→Rn中m变量相较于n变量的实际数量能变化。例如,4→3的变换是CSG中典型的变换。
确定参数化的示范性方法
参数化如上述的相交曲线(例如510和560)的隐函数通常可以是不可能的。更具体的说,不是每个隐函数的变量都能在表达式中用作参数化变量来表达函数的其他变量。证明通过隐函数的任一域变量参数化的可能性的一种方法是应用简单形式的隐函数原理来确定这样的函数接近无奇异点的各种因导数矩阵中的哪一个。例如,在上例中,其中F是F:R4→R3,具有4个域变量和3个范围变量且F(u1,v1,u2,v2)=F(fx,fy,fz),会给予导数矩阵如下:
∂ f x ∂ u 1 ∂ f x ∂ v 1 ∂ f x ∂ u 2 ∂ f x ∂ v 2 ∂ f y ∂ u 1 ∂ f y ∂ v 1 ∂ f y ∂ u 2 ∂ f y ∂ v 2 ∂ f z ∂ u 1 ∂ f z ∂ v 1 ∂ f z ∂ u 2 ∂ f z ∂ v 2
假定因导数矩阵中u1作为自变量,如下:
∂ f x ∂ v 1 ∂ f x ∂ u 2 ∂ f x ∂ v 2 ∂ f y ∂ v 1 ∂ f y ∂ u 2 ∂ f y ∂ v 2 ∂ f z ∂ v 1 ∂ f z ∂ u 2 ∂ f z ∂ v 2
根据简单形式的隐函数原理,如果上面的因导数矩阵是无奇异点的,以使矩阵中不存在一列能表达成其他的加权和,则隐函数能以参数形式表达,u1在本例中作为参数化或自变量。基于其他变量的因导数矩阵也可以是非奇异的,因此指示基于这些其他变量的函数参数化的可能性以使这些变量也可以服务为参数化变量。
然而,在曲线的不同部分(例如510和560)存在选择一个变量作为其他上的参数化变量以参数化曲线不同部分的优点。如图5所示,例如,在例如是(u1,v1)的2D域中,能基于相关因导数矩阵的无奇异点属性选择参数化区域。在图5中,在515(P3),u1作参数表变量,然而在520(P2)v1是更好的选择。这至少部分依赖于事实,在区域515(P3)中,参数化变量u1的每个值保证具有自变量v1的一个相应的值。观察整个相交曲线510,然而没有一个参数化变量u1或v1保证曲线上的每个它们的值对应于其他变量的单一值。作为结果,曲线510被分成示范性参数化区域P1 525、P2 520、P3 515和P4 530。在区域P1 525和P3 515中,参数化变量是v1。示范性相交曲线560在表面S2的域550上的类似分割(例如565、570、575和580)也是可能的。而且,如图4所示的2D参数化区域仅仅是为了示例,其他参数化区域是可能的。曲线545和585的参数化区域未示出。然而,这些曲线545和585也能以上述方式分割。相同的原则对于更高维数的域也是真实有效的。
通过域的静态三角剖分的程序表面的域的示范性分解
一旦基于CSG程序表面(例如500和550)的域通过参数化区域(例如515、520、525和530)分割,域通过在预处理中的三角剖分过程进一步被静态分解,如图6的方法600中所述。三角剖分将域空间分成相连的三角形网格。在610,参数化区域约束为增加约束边,且在620,Delaunay三角剖分应用在约束的参数化区域以给予如图7B中的750所示的三角剖分区域的粗略三角形的第一集合,例如。之后在630,曲线可视化三角形确定被确定以进一步改进由Delaunay三角剖分产生的该三角形集合。产生的三角剖分网格在预处理中(如上所述)存储在640以在运行期被进一步改进,其先于渲染包括正在讨论的CSG程序表面的场景。
在参数化区域上的示范性约束
图7A示出了示范性域700,其参数化的隐相交曲线710被约束(610)。示范性约束是边(例如715、720、725和730),这些边简单连接参数化区域P1、P2、P3和P4的点(例如端点)。一旦被约束,三角剖分的初始处理如图7B中750所示的三角剖分域700,使用用作三角形初始粗略集的基础的约束(例如715、720、725和730)。这样的约束确保三角剖分模式将包括约束边(例如715、720、725和730)。然而,约束边(例如715、720、725和730)示例的且其他约束是可能的。
例如,约束边的一定模式能相互干扰(例如通过相交)。图8A示出了这样的干扰。示范性域800可以具有多条相交曲线805和810.然而,如果参数化区域没有被仔细选择,则曲线805的边815的集合可能会干扰曲线810的边820的集合。在那个事件中,通过进一步子分割参数化区域,以图8B所示的方式应用不干扰约束至参数化区域,以给予约束边(例如图8B的830和825)的集合,避免图8A中明显的干扰。
示范性Delaunay三角剖分
一旦确定约束边(例如830和825)的非干扰集合,应用Delaunay三角剖分至这样的约束域空间。在计算几何中,Delaunay三角剖分或Delone三角剖分(如其有时所知的)是这样一种处理,其对三角剖分给定域空间的三角形集合的最小角度进行最大化,因此避免太细的长条三角形。细长三角形由这一方面定义,其中在三角形的高度和宽度之间存在相当大的差别。这样细长的三角形在计算中是不稳定的且需要避免。一般规定,对在n维欧式空间的点的集合P,Delaunay三角剖分是对P的三角剖分DT(P),以使没有P中的点在DT(P)中的任一单一的周围半球内。一种应用Delaunay三角剖分的方法需要重复一次增加一个顶点且重新三角剖分图形中受影响的部分。当顶点加入时,为所有的具有包括新增加顶点的外接圆的三角形完成一次搜索。然后,删除这些三角形并且重新三角剖分图形中的这些部分。
图9示出了Delaunary三角剖分的概念。假定包含域的不同三角剖分的三角形的不同集合具有三角形910、920、930、940,各自作为他们的最细的长三角形,其以在它们的高度和宽度上的差异的形式来定义,然后会选择导致930作为最细的长三角形的三角剖分模式以完成Delaunay三角剖分,以避免如在940中的太细的长三角形。
计算曲线可视化三角形的示范性方法
一旦完成Delaunay三角剖分的过程,域被进一步分解以增加可视三角形(图6中的603)。为了完成这一操作,例如搜索由Delaunay三角剖分产生的三角形以确定那些底边(例如1021)与曲线的一个参数化区域(例如P1、P2、P3和P4)相适应的三角形。图10示出了一个这样的三角形1010,其底边与一个参数化区域P3相对应。然而,一些这样的三角形(例如1010)可以有顶点1015,以使三角形的一条或多条边与隐相交曲线1025相交于多处,例如是如图所示的1020。然而,增加具有顶点1040的新三角形1030以进一步子分割域750,以使相交曲线1025没有与三角形相交于多处,该三角形以与曲线1025相关的边1021作为边界。换句话说,曲线可视化三角形(例如1030)具有顶点(例如1040)以使在参数化区域(例如P3)中存在从顶点(例如1040到曲线1025上的点的清晰路径。可对剩余的参数化区域(例如P1、P2和P4)重复这一过程。
图11和12示出了计算可视化三角形(例如1030)的示范性方法。假定在例如是1110的隐相交曲线上的参数化区域,通过隐函数的隐微分计算曲线切线,该隐函数定义在图11所示的端点C1和C2之间的曲线1110的参数化变量的区间
Figure S2006800197066D00101
这产生具有不同斜率值的一系列切线(例如1111-1114)。从这一系列切线(例如1111-1114)中,识别出具有最大斜率值的切线Tmax(例如1111)以及具有最小斜率值的切线Tmin(例如1114)。
如图12所示,在1111的Tmax和1114的Tmin之间的角度1115中的区别定义了对曲线1110的参数化变量的区间
Figure S2006800197066D00102
的切线斜率的范围。基于范围1115,确定曲线Vp1 1120和Vp2 1130的交点。结果是,把区域1140和1150中的任一点选为曲线可视化三角(例如1020和1030)的顶点,以使在曲线1110上的任一点能连接到顶点以形成一条线,其与曲线1110不相交。
图11~12的例子示出一种简单的情况,其中曲线是最大斜率切线Tmax和最小斜率切线Tmin,发生在与曲线1110的参数化区域的端点c1和c2相符。取决于曲线,也可以不是这种情况。例如,切线Tmax和Tmin中的一个或两个可以与除了曲线1110的端点的点相符。然而,通过转移切线到端点c1和c2找到切线Tmax和Tmin的相交,确定曲线可视化区域(例如1140和1150)。也即,曲线可视化三角形能使曲线可视化区域1140和1150中的任一点作为顶点。它不必是交点Vp1 1120和Vp2 1130。
请参考图13A和13B,在为曲线可视化三角选择顶点位置中,描述了另一种考虑。例如,图13A的曲线可视化三角1310的顶点Vp1(1320)与隐曲线1315相符,但是具有顶点位置在Vp1(1320)的曲线可视化三角1310与另一条隐曲线1305相交,这时不需要的。通过将图13A的参数化区域P0细分成图13B的区域P3和P4能避免这样的干扰以使符合的曲线可视化三角1325和1330不干扰另一条隐曲线1305。同样地,在图13B中的与曲线1305相关的曲线可视化三角1340和1350具有细分的区域P1和P2以使所述三角形不干扰隐曲线1315。
静态三角剖分的示范性结果
图14示出了在示范性静态三角剖分(例如通过图6的方法600)后的域的至少一部分1400,其包括一个简单的域三角形,具有在它的三条边上的基于非曲线的域边,以及一个曲线可视化三角1415,具有在它的三条边中的至少一条边上的约束边1420。约束边1420连接相交的隐曲线1425上的点,例如端点c1和c2。存储关于简单域三角形(例如1410)的顶点相关的数据和曲线可视化三角(例如1415)以及稍后在运行期内取回以进一步改进三角剖分。
示范性运行期三角剖分
一旦完成静态三角剖分,粗略的三角剖分网格(例如1400)在运行期中进一步改进以生成更精确的网格。在运行期生成更精确的网格避免有关存储和取回细节网格以渲染的开销。图15示出了通过CPU1510和GPU1520的运行期三角剖分的总体方法1500。由CPU1510执行部分的运行期三角剖分1510。在1515,运行在CPU1510上的三角剖分程序接收有关在预处理中执行的静态三角剖分(例如图6的600)的数据。这些数据至少包括有关三角剖分的粗略集合的顶点数据,其三角剖分会被渲染的CSG表面的域。例如,这样的数据包括具有简单三角形(例如图14的1410)的顶点和由上述的静态三角剖分方法产生的曲线可视化三角(例如1415)的顶点的基于域的坐标的数据。在1525,这样的静态三角剖分通过在域中增加边以细分任一简单三角形(例如1410),以及通过进一步细分曲线可视化三角(例如1415),而得到进一步的改进。这样的细分能持续到形成三角形边的用户定义的边参数长度。
请参考图16,描述了一种改进静态三角剖分网格的方法。在1610,通过在隐曲线的参数化区域的附加点上进一步增加边,细分由静态三角剖分产生的曲线可视化三角(例如1415)。图17A示出了一种这样的细分,其中通过增加边以连接在参数化区域曲线1715的端点c1和c2中间的附加的曲线点c3和c4,将曲线可视化三角1710进一步细分成三角形1725、1730和1735。这些在域坐标中指定的曲线点(流入c1、c2、c3和c4)能从存储器中取回。这样的点也能通过求解定义相交隐曲线1715的隐函数在运行期中计算。在1630,也通过增加边(例如1750)以生成例如是如图17B所示的更多的三角形1740和1745,进一步细分简单三角形(例如图17B所示的1720)。这样的细分至少部分基于边缘的用户定义的阈值参数长度,该边缘形成网格的细分三角形的边。
基于增加到生成细分的简单三角形1740和1745的边,增加新的边以确保在细分三角形(例如图17B的1730、1740、1745)之间的共享边是不一致的。当一个三角形的边与另一个三角形的共享边不匹配时就会发生不一致性。例如,如果边1750没有遇到边1755,它将导致不一致性。这样的不一致性能导致由三角剖分网格表示的表面当其最终在屏幕上渲染时的不想要的中断。最小化这样的不一致性改进了渲染图像的总体质量。
例如,也增加界线1756以满足用户设置的参数阈值长度的需求。因此,增加图17C中的新的三角形1760、1770和1775以表示通过图17B中的曲线可视化三角1730初始表示的部分域。边(例如1756)的增加引起了图17B中的邻近三角形1725和1735会被进一步细分以增加例如是1785和1780的三角形。这样的细分导致图17所示的关于采样三角形实例的三角形的组合。与运行期细分的采样三角形的这一组合的顶点相关的数据存储在1640中。
回到图15,基于这样的特征,例如它们的形状,大小以及关于相交曲线的位置,对上述的在步骤1525中确定的采样三角形进行分类。例如,这样的分类包括但不限于,运行期细分的曲线可视化三角(例如图17B中的1775),通过一连接相交曲线1715上的点的边作为该可视化三角的界线,通过对静态三角剖分(例如通过图6的方法600)确定的原始的可视化三角(例如图14的1415)进行细分来生成该相交曲线。进一步的分类也包括基于非曲线的简单三角形(例如图17B的1740和1745),没有以通过有关相交曲线(例如1715)的边的任一边为其界线。然而,另一种分类包括基于非曲线的三角形例如1760、1770、1780和1785,其生成自静态三角剖分(例如通过图6的方法600)期间确定的原始曲线可视化三角(例如图14的1415)。通过增加名字(例如文字和数字)维持与这样的分类相关的数据,以识别与由运行期三角剖分1525产生的每个采样三角形(图17C)相关的分类。
回到图15,进一步在运行期,GPU1520在1540实施进一步改进三角剖分的另一种方法1535。根据该方法1535,GPU在1540接收采样三角形(例如在图17C中的)的顶点数据以及将三角形分成不同类型的采样三角形的数据。然后在1545,基于该分类,GPU1520应用图形实例以增加更多的边至该采样三角形以先于在1550渲染精细的网格,进一步改进三角剖分网格(例如图17C)。在这一方式中,在运行期实施附加的三角剖分以进一步定义CSG程序表面的细节,其包括不必存储定义复杂网格的复杂数据结构的任一相交曲线。下面描述应用几何实例(1545)的示范性方法。
对改进三角剖分的几何实例的示范性方法
图18示出了应用几何实例的示范性方法1800。在1810,在例如是GPU(例如图15的1520)上运行的顶点阴影程序接收采样三角形的顶点数据,例如是形成示出在图17C的网格的采样三角形。除了顶点数据,也接收将采样三角形分类成不同类型的三角形的数据。在1820,至少部分的基于采样三角形的分类,为至少一些采样三角形选择合适的规范的几何实例。然后在1830,为至少一些采样三角形,基于采样三角形的顶点数据和与此相关的几何实例网格的重心坐标,在实例网格中表示的三角形映射到采样三角形。
将几何实例网格映射到采样三角形的示范性方法
图19示出了示范性映射。通过合适地映射实例网格(例如1910、1920和1930)进一步三角剖分采样三角网格1900。图20示出了以附加细节的实例网格类型1910、1920和1930的三个例子,包括它们的重心坐标。在用于选择合适的实例网格到被映射至特殊类型的采样三角形的示范性的标准集合中,用例如是1910的NNN类型的三角形映射运行期细分的例如是图19的1915的简单采样三角形。用例如是1930的NN1类型的实例网格映射例如是1935的运行期细分曲线可视化三角形。最终,使用例如是1920的NN2N类型的三角形,映射由静态曲线可视化三角形(例如图14的1415)的运行期细分产生的基于非曲线的三角形1925。并且取决于邻近三角形的配置,这样的基于非曲线的三角形也能用NN1来映射。
符号N指在关于规范的实例网格(例如1910、1920和1930)的重心点之间(例如在图20的2011和2012之间)的线段的大约数量。例如,在1910中N是2,这是因为与三角形网格1910的每条边上的重心点相应的边在每条边上的数量是2。类似地,NN2N网格1920在底边2021上具有4段,在另外两边2022和2023上具有2段。三角形网格1930是类型NN1而且在本例中N也是2,这是由于底边2031只有1段而另外两边2032和2033具有2段。如同在本例中,使N对每个各种类型的集合实例网格(例如1910、1920和1930)相等,以保证在几何实例后的精细的运行期三角剖分网格不具有不一致的边。
通过选择合适类型的实例网格(例如1910、1920和1930)以映射至所选的采样三角形也避免了在邻近三角形的不一致的边。例如,使用NN1类型(图19的1930实例网格取代NN2N类型(图19的1920)映射图17C的生成自细分原始曲线可视化三角(例如图14的1415)的基于非曲线的三角形,例如1760和1770,以避免用NNN型网格(图19的1910)映射邻近三角形1740和1745引起的不一致边。而且,使用NN1网格替换NN2N网格映射图17C的采样三角形1760和1770,以确保它们的邻近的采样三角形(例如1745和1775)的边的一致性。
具有示为2的N值和相应重心点的三角形1910、1920和1930仅作阐述,基于三角剖分的特定域和例如是所需三角剖分的范围和深度的其他因素,能对其做出更改。在三角剖分网格的共享边之间最小化不一致性将最终导致更好质量的渲染图片。
用于映射三角剖分实例网格到采样三角形的示范性算法
基于系数集合,例如图20中的2017(0,1,0),2016(.5,.5,0)和2014(0,0,1),重心坐标定义规范的三角剖分网格的边上的点。基于这些系数类型的重心坐标值,在将这些网格映射到合适的采样三角形(例如在1900示出的)期间,为表示这些点计算在所选域中的实际坐标。与顶点P0 2012(u0,v0)、p1 2013(u1,v1)和p2 2014(u2,v2)的域坐标中的已知坐标值相关,计算对中间重心点(例如图20的2016)的实际域坐标。
图21是示范性算法的列表2100,其描述将实例网格映射到采样三角形的过程。根据本方法,基于以(x,y,z)形式的系数的形式的心坐标2115的输入以及顶点p0、p1、p2的2D域坐标(u,v)2120。在2130,基于它们的系数值和已知的顶点p0、p1和p2的域坐标值,计算对重心点的域坐标(u,v)。在列表中的算法是示范性的。其他方法能用于在表面的域表示上确定点,以基于图形实例表示三角剖分网格的顶点数据。
示例性计算环境
图22和下面的讨论旨在提供示范性计算环境的简明、通用描述,在其中可以实施所揭示的技术。尽管不需要,揭示的技术在被个人计算机(PC)执行的计算机可执行指令的上下文背景中描述,例如程序模块。通常,程序模块包括例程、程序、对象、组件、数据结构等,其执行特定任务或实施特定抽象数据类型。而且,揭示的技术可以用其他的计算机***配置来实施,包括手持设备、多处理器***、基于微处理器或可编程的消费电子装置、网络PC、微型计算机、大型计算机等。揭示的技术也可以在分布式计算环境中实施,其中通过由通信网络连接的远程处理设备执行任务。在分布式计算环境中,程序模块可以驻留在本地和远程存储设备中。
图22示出了合适的计算环境(2200)的一般例子,其中实施所述的实施例。计算环境(2200)并不旨在对本发明的使用或功能加以限制,由于本发明可以在不同的通用或特殊用途计算环境中实施。
请参考图22,计算环境(2200)至少包括一个中央处理单元(2210)和存储器(2220)。在图22中,用虚线包括最基本的配置(2230)。中央处理单元(2210)执行计算机可执行指令且可以是真实或虚拟的处理器。环境2200进一步包括图像处理单元(GPU)2215以执行计算机图形操作,例如顶点映射、像素处理、渲染和木材纹理映射。在多处理***中,多处理单元执行计算机可执行指令以增加处理能量且如同这样的GPU和CPU能同时运行。存储器(2220)可以是易失性存储器(例如寄存器,高速缓冲存储器、RAM),非易失性存储器(例如ROM、EEPROM、闪存等)或两者的一些组合。存储器(2220)存储实施三角剖分程序几何对象的所述方法的软件(2280)。计算环境可以具有附加特征。例如,计算环境(2200)包括存储装置(2240)、一个或多个输入设备(2250)、一个或多个输出设备(2260),以及一个或多个通信连接(2270)。互连机制(未图示),例如总线、控制器或网络,连接计算环境(2200)的组件。典型地,操作***软件(未图示)为其他在计算环境(2200)中执行的软件提供操作环境,以及协调计算环境(2200)的组件的行为。
存储装置(2240)可以是可移动或不可移动,且包括磁盘、磁带或磁盒、CD-ROM、CD-RW、DVD或其他能用于存储信息且能在计算环境(2200)内存取的任何其他媒介。存储装置(2240)为实施三角剖分程序几何对象的方法的软件存储指令。
输入设备(2250)可以是触摸输入设备,例如键盘、鼠标、笔、轨迹球、音频输入设备、扫描设备或其他提供对计算环境(2200)的输入的设备。对音频来说,输入设备(2250)可以是声卡或以模拟或数字形式接收音频输入的类似设备,或提供音频采样给计算环境的CD-ROM读装置。输出设备(2260)可以是显示器、打印机、扬声器、CD刻录机或其他从计算环境(2200)中提供输出的设备。
通信连接(2270)在通信媒介上使能对另一计算实体的通信。通信媒体传达信息,例如计算机可执行指令、压缩图形信息、或在调制数据信号中的其他数据。
计算机可读媒介是能在计算环境内被存取的任何有效媒介。作为示例,但不先于,在计算环境(2200)中,计算机可读媒介包括内存(2220)、存储装置(2240)、通信媒介和上述任意的组合。
已经引用所示的实施方式描述和示出了本发明的原则,应该认识到可以在不背离这一原则的前提下在安排和细节上对示出的实施例作修改。在软件中示出的实施例的元素可以在硬件中实施,反之亦然。而且,来自任一示例的技术能和在其他任何示例所描述的技术相结合。
考虑到本发明的原则可适用的许多可能的实施方式,应该认识到示出的实施方式是本发明的例子并且不应被当做本发明的范围的限制。例如,***的各种组件和这里所述的工具可以在功能和使用上进行结合。因此我们声明来自这些权利要求的范围和精神内的本发明的所有主题。

Claims (20)

1.一种用于生成复杂图形对象的三角剖分网格表示的计算机实现的方法,所述复杂图形对象是至少部分通过对多个原始图形对象施加构造立体几何操作而形成的,该方法包括:
接收表示所述多个原始图形对象的图形模型的数据;
基于所述多个原始图形对象执行构造立体几何操作以生成所述复杂图形对象的基于域的表示;
分解所述复杂图形对象的基于域的表示,以生成表示所述复杂图形对象的粗略的静态三角剖分网格;
存储所述粗略的静态三角剖分网格;以及
在运行时间,将几何实例化应用到粗略的三角剖分网格以生成精细的运行时间三角剖分网格,以用于将所述复杂图形对象渲染至显示设备。
2.根据权利要求1所述的方法,其特征在于,所述复杂图形对象的基于域的表示包含至少部分地由一隐函数至少部分地基于对所述多个原始图形对象执行的构造立体几何操作而定义的相交隐曲线。
3.根据权利要求2所述的方法,其特征在于,生成粗略的静态三角剖分网格包括:
在所述隐相交曲线内确定多个参数化区域;
向所述多个参数化区域添加约束边;
使用所述约束边来三角剖分所述复杂图形对象的基于域的表示,以确定所述复杂图形对象的基于域的表示的Delaunay三角剖分;以及
通过增加顶点进一步三角剖分该Delaunay三角剖分以生成以相应的约束边作为底边的曲线可视化三角形。
4.根据权利要求3所述的方法,其特征在于,所述复杂图形对象的基于域的表示包含至少多条隐相交曲线,且该方法进一步包括:
确定与所述多条隐曲线中不同的隐曲线相对应的约束边是否彼此相父;以及
细分与相交的约束边相对应的参数化区域中的至少一个参数化区域,直到相交的约束边不再彼此相交。
5.根据权利要求3所述的方法,其特征在于,所述曲线可视化三角形包含顶点,使得从该顶点到相应的约束边之一上的任何点的直线段与所述隐曲线中相应的一条相交不超过一次。
6.根据权利要求3所述的方法,其特征在于,生成所述曲线可视化三角形包括:通过计算用于在与所述相应参数化区域相关的自变量的一系列数值上定义相应的隐曲线之一的隐函数的隐微分,来确定相应参数化区域的一系列切线。
7.根据权利要求6所述的方法,其特征在于,这一系列切线包括具有最大值斜率的最大切线和具有最小值斜率的最小切线,并且所述曲线可视化三角形是通过在可视化区域中选择一顶点来生成的。
8.根据权利要求7所述的方法,其特征在于,所述可视化区域是通过在所述域中确定由自具有最大斜率的相应参数化区域的第一端点处延伸的第一线段和自具有最小斜率的相应参数化区域的第二端点处延伸的第二线段分别延伸超过所述第一线段和所述第二线段彼此相交的点而界定的区域来确定的。
9.根据权利要求8所述的方法,其特征在于,所述可视化区域中要被选为所述曲线可视化三角形的顶点的那些点被选出,以避免所述曲线可视化三角形之间的干扰。
10.根据权利要求1所述的方法,还包括:在运行时间,进一步将所述粗略的静态三角剖分网格细分成采样三角形的运行时间细分网格。
11.根据权利要求10所述的方法,还包括根据采样三角形的分类类型确定所述采样三角形的分类,其中所述采样三角形类型选自下列:基于非曲线的简单采样三角形、通过细分曲线可视化三角形而生成的基于非曲线的三角形、以及基于曲线的运行时间曲线可视化三角形。
12.根据权利要求11所述的方法,其特征在于,将几何实例化应用至粗略的三角剖分网格以生成精细的运行时间三角剖分网格包括:
至少部分地基于相应的采样三角形分类类型,选择要被映射到所述采样三角形的合适的几何实例网格;以及
至少部分地基于所述几何实例网格的重心坐标,将所述合适的几何实例网格映射至所述采样三角形。
13.一种计算机***,用于渲染至少部分地基于用多个原始程序表面执行的构造立体几何操作而形成的复杂程序表面,该***包括:
通用中央处理单元,编程为可用于:
预处理复杂图形对象的基于域的表示以生成用于表示所述复杂图形对象的粗略的静态三角剖分网格;以及
在运行时间,通过细分所述静态三角剖分网格的至少一些三角形使所述静态三角剖分网格精细化,以生成采样三角形的网格;以及
图形处理单元,编程为用于:
接收关于所述采样三角形网格的顶点数据以及关于所述采样三角形的分类的数据;
至少部分地基于所述采样三角形的分类,选择将要被映射在所述采样三角形之内的合适的几何实例化网格,以生成用于在显示器上渲染的精细的运行时间三角剖分网格。
14.根据权利要求13所述的***,其特征在于,所述复杂图形对象包括至少部分通过使用多个原始程序对象执行的构造立体几何操作而生成的至少一条隐相交曲线,所述通用中央处理单元可进一步用于确定所述隐曲线的参数化区域。
15.根据权利要求14所述的***,其特征在于,使所述静态三角剖分网格精细化以生成采样三角形的网格包括:计算所述隐相交曲线上的点;以及增加更多的边以细分至少部分形成所述静态三角剖分网格的曲线可视化三角形。
16.根据权利要求13所述的***,其特征在于,所述采样三角形的分类包括选自下列的分类类型:基于非曲线的简单采样三角形、通过细分曲线可视化三角形而生成的基于非曲线的三角形、以及基于曲线的运行时间曲线可视化三角形。
17.根据权利要求16所述的***,其特征在于,选择将要被映射到所述采样三角形内的合适的几何实例化网格以生成精细的运行时间三角剖分网格包括:选择要被映射到具有基于曲线的运行时间曲线可视化三角形的分类类型的采样三角形的NN1类型的实例网格。
18.根据权利要求16所述的***,其特征在于,选择将要被映射到所述采样三角形内的合适的几何实例网格以生成精细的运行时间三角剖分网格包括:选择要被映射到具有基于非曲线的简单采样三角形的分类类型的采样三角形的NNN类型的实例网格。
19.根据权利要求16所述的***,其特征在于,选择将要被映射到所述采样三角形内的合适的几何实例网格以生成精细的运行时间三角剖分网格包括:选择要被映射到具有通过细分所述粗略的静态三角剖分网格的曲线可视化三角形而生成的基于非曲线的三角形的分类类型的采样三角形的NN2N类型的实例网格。
20.至少一个其上存储有计算机可执行指令的计算机可读媒介,所述指令用于执行一种渲染复杂程序表面的方法,所述复杂程序表面是至少部分基于使用多个原始程序表面执行的构造立体几何操作而形成的,该方法包括:
接收与所述复杂程序表面的至少一部分静态三角剖分表示中的三角形相关的顶点数据;
至少部分地基于所述复杂程序表面的所述至少一部分静态三角剖分表示中的三角形的分类,选择合适的几何实例网格以使其映射到所述复杂程序表面的所述至少一部分静态三角剖分表示中的三角形;以及
至少部分地基于所述合适的几何实例网格的重心坐标,在所述复杂程序表面的所述至少一部分静态三角剖分表示中的三角形之内映射所述合适的几何实例网格。
CN200680019706A 2005-06-30 2006-06-28 对程序几何对象进行三角剖分 Expired - Fee Related CN100583084C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/172,653 US7408548B2 (en) 2005-06-30 2005-06-30 Triangulating procedural geometric objects
US11/172,653 2005-06-30

Publications (2)

Publication Number Publication Date
CN101189600A true CN101189600A (zh) 2008-05-28
CN100583084C CN100583084C (zh) 2010-01-20

Family

ID=37588889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680019706A Expired - Fee Related CN100583084C (zh) 2005-06-30 2006-06-28 对程序几何对象进行三角剖分

Country Status (5)

Country Link
US (1) US7408548B2 (zh)
EP (1) EP1899854B1 (zh)
KR (1) KR101265810B1 (zh)
CN (1) CN100583084C (zh)
WO (1) WO2007005537A2 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714261A (zh) * 2008-10-06 2010-05-26 Arm有限公司 图形处理***
CN102184522A (zh) * 2010-06-17 2011-09-14 威盛电子股份有限公司 顶点数据储存方法、图形处理单元及细化器
US8477148B2 (en) 2008-10-06 2013-07-02 Arm Limited Graphics processing systems
CN103345771A (zh) * 2013-06-28 2013-10-09 中国科学技术大学 一种基于建模的图像高效渲染方法
WO2013185516A1 (zh) * 2012-06-13 2013-12-19 天脉聚源(北京)传媒科技有限公司 一种三维曲线的动画展示方法和装置
US8743135B2 (en) 2008-10-06 2014-06-03 Arm Limited Graphics processing systems
US8928668B2 (en) 2008-10-06 2015-01-06 Arm Limited Method and apparatus for rendering a stroked curve for display in a graphics processing system
CN104063903B (zh) * 2014-07-08 2016-09-14 清华大学 三维实体模型的四面体网格生成方法和装置
CN108241462A (zh) * 2016-12-26 2018-07-03 卡西欧计算机株式会社 图形描绘装置及其控制方法以及记录介质
CN108665538A (zh) * 2018-05-18 2018-10-16 天津流形科技有限责任公司 一种三维模型拟合方法、装置、计算机设备及介质
CN109949420A (zh) * 2019-02-15 2019-06-28 山东师范大学 适用于GPU的Delaunay三角剖分网格细化方法、GPU及***
CN110009721A (zh) * 2018-01-04 2019-07-12 奥多比公司 生成由曲线表示的图像的三角网格
CN110235182A (zh) * 2017-09-07 2019-09-13 西门子产品生命周期管理软件公司 用于轻量精确3d视觉格式的***和方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008091583A2 (en) * 2007-01-23 2008-07-31 Dtherapeutics, Llc Image-based extraction for vascular trees
CN101383047B (zh) * 2007-09-03 2011-05-04 鸿富锦精密工业(深圳)有限公司 曲面网格化方法
TWI386864B (zh) * 2007-09-14 2013-02-21 Hon Hai Prec Ind Co Ltd 曲面網格化方法
US8773432B2 (en) * 2008-04-18 2014-07-08 Adobe Systems Incorporated Triangulation for accelerated multi-resolution rendering of stroked paths
US8749552B2 (en) 2008-10-17 2014-06-10 Imagination Technologies Limited Synthetic acceleration shapes for use in ray tracing
TW201020974A (en) * 2008-11-26 2010-06-01 Inst Information Industry Triangulation processing systems and methods, and computer program products thereof
CN101872488B (zh) * 2009-04-27 2012-05-16 鸿富锦精密工业(深圳)有限公司 曲面渲染***及方法
CN101582173B (zh) * 2009-06-24 2012-07-11 中国石油天然气集团公司 复杂地质构造块状模型构建方法
EP2400410B1 (en) * 2010-05-25 2014-01-08 Dassault Systèmes Computing of a resulting closed triangulated polyhedral surface from a first and a second modeled object
CN105957134B (zh) 2011-08-05 2019-11-08 想象技术有限公司 用于3-d场景加速结构创建和更新的方法和装置
EP2600315B1 (en) * 2011-11-29 2019-04-10 Dassault Systèmes Creating a surface from a plurality of 3D curves
WO2013109304A1 (en) * 2012-01-16 2013-07-25 Intel Corporation Generating random sampling distributions using stochastic rasterization
CN102682476B (zh) * 2012-05-15 2015-11-25 深圳市旭东数字医学影像技术有限公司 三角网格数据的布尔运算方法及其***
US9305370B2 (en) 2013-07-31 2016-04-05 Qualcomm Incorporated Graphical rendering with implicit surfaces
US10242493B2 (en) * 2014-06-30 2019-03-26 Intel Corporation Method and apparatus for filtered coarse pixel shading
US20190196449A1 (en) * 2016-05-06 2019-06-27 Yunbo ZHANG Determining manufacturable models
CN109074672B (zh) * 2016-05-24 2020-12-04 伊英克公司 用于渲染彩色图像的方法
KR20180065135A (ko) * 2016-12-07 2018-06-18 삼성전자주식회사 셀프 구조 분석을 이용한 구조 잡음 감소 방법 및 장치
US10373365B2 (en) * 2017-04-10 2019-08-06 Intel Corporation Topology shader technology
US10706554B2 (en) * 2017-04-14 2020-07-07 Adobe Inc. Three-dimensional segmentation of digital models utilizing soft classification geometric tuning
JP7333801B2 (ja) * 2021-03-18 2023-08-25 Mhinsエンジニアリング株式会社 データ変換プログラム、データ変換方法及びデータ変換装置
CN113920275B (zh) * 2021-09-30 2023-04-04 广州极飞科技股份有限公司 三角网格构建方法、装置、电子设备及可读存储介质
CN113888720A (zh) * 2021-10-26 2022-01-04 清华大学 一种基于细分算法的空间曲面编织网格的生成方法
CN114359527B (zh) * 2021-12-31 2024-06-21 广东三维家信息科技有限公司 一种图形数据的三角化处理方法及***
CN115359209B (zh) * 2022-07-14 2024-01-19 安徽九韶信息科技有限公司 图像处理的装置和方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW335466B (en) * 1995-02-28 1998-07-01 Hitachi Ltd Data processor and shade processor
US6100893A (en) * 1997-05-23 2000-08-08 Light Sciences Limited Partnership Constructing solid models using implicit functions defining connectivity relationships among layers of an object to be modeled
US6285372B1 (en) * 1998-05-08 2001-09-04 Lawrence C. Cowsar Multiresolution adaptive parameterization of surfaces
US6300958B1 (en) * 1998-07-17 2001-10-09 T-Surf Corp. Global constrained parameterization of triangulated surfaces
US6356263B2 (en) * 1999-01-27 2002-03-12 Viewpoint Corporation Adaptive subdivision of mesh models
US6462738B1 (en) * 1999-04-26 2002-10-08 Spatial Technology, Inc. Curved surface reconstruction
US6525727B1 (en) * 1999-10-29 2003-02-25 Intel Corporation Rendering 3D surfaces through limit surface projections
WO2002089066A1 (en) * 2001-04-26 2002-11-07 Koninklijke Philips Electronics N.V. Approximating an implicit surface
US6975317B2 (en) * 2002-03-12 2005-12-13 Sun Microsystems, Inc. Method for reduction of possible renderable graphics primitive shapes for rasterization
US20060013505A1 (en) 2002-11-06 2006-01-19 Shing-Tung Yau Analysis of geometric surfaces by comformal structure
US7194125B2 (en) * 2002-12-13 2007-03-20 Mitsubishi Electric Research Laboratories, Inc. System and method for interactively rendering objects with surface light fields and view-dependent opacity
US6954211B2 (en) * 2003-06-30 2005-10-11 Microsoft Corporation Hardware-accelerated anti-aliased graphics
KR100506822B1 (ko) 2003-11-08 2005-08-10 엘지전자 주식회사 3차원 다각형의 화면 표시방법

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8928668B2 (en) 2008-10-06 2015-01-06 Arm Limited Method and apparatus for rendering a stroked curve for display in a graphics processing system
US8477148B2 (en) 2008-10-06 2013-07-02 Arm Limited Graphics processing systems
US8928667B2 (en) 2008-10-06 2015-01-06 Arm Limited Rendering stroked curves in graphics processing systems
CN101714261A (zh) * 2008-10-06 2010-05-26 Arm有限公司 图形处理***
US8743135B2 (en) 2008-10-06 2014-06-03 Arm Limited Graphics processing systems
CN101714261B (zh) * 2008-10-06 2014-08-20 Arm有限公司 图形处理***
CN102184522A (zh) * 2010-06-17 2011-09-14 威盛电子股份有限公司 顶点数据储存方法、图形处理单元及细化器
WO2013185516A1 (zh) * 2012-06-13 2013-12-19 天脉聚源(北京)传媒科技有限公司 一种三维曲线的动画展示方法和装置
CN103345771A (zh) * 2013-06-28 2013-10-09 中国科学技术大学 一种基于建模的图像高效渲染方法
CN103345771B (zh) * 2013-06-28 2016-08-10 中国科学技术大学 一种基于建模的图像高效渲染方法
CN104063903B (zh) * 2014-07-08 2016-09-14 清华大学 三维实体模型的四面体网格生成方法和装置
CN108241462A (zh) * 2016-12-26 2018-07-03 卡西欧计算机株式会社 图形描绘装置及其控制方法以及记录介质
CN110235182A (zh) * 2017-09-07 2019-09-13 西门子产品生命周期管理软件公司 用于轻量精确3d视觉格式的***和方法
CN110009721A (zh) * 2018-01-04 2019-07-12 奥多比公司 生成由曲线表示的图像的三角网格
CN110009721B (zh) * 2018-01-04 2023-12-01 奥多比公司 生成由曲线表示的图像的三角网格
CN108665538A (zh) * 2018-05-18 2018-10-16 天津流形科技有限责任公司 一种三维模型拟合方法、装置、计算机设备及介质
CN109949420A (zh) * 2019-02-15 2019-06-28 山东师范大学 适用于GPU的Delaunay三角剖分网格细化方法、GPU及***
CN109949420B (zh) * 2019-02-15 2023-03-14 山东师范大学 适用于GPU的Delaunay三角剖分网格细化方法、GPU及***

Also Published As

Publication number Publication date
EP1899854A4 (en) 2011-07-13
KR101265810B1 (ko) 2013-05-20
WO2007005537A2 (en) 2007-01-11
EP1899854A2 (en) 2008-03-19
KR20080022551A (ko) 2008-03-11
US20070002043A1 (en) 2007-01-04
WO2007005537A3 (en) 2007-04-12
US7408548B2 (en) 2008-08-05
EP1899854B1 (en) 2017-10-11
CN100583084C (zh) 2010-01-20

Similar Documents

Publication Publication Date Title
CN100583084C (zh) 对程序几何对象进行三角剖分
US8175734B2 (en) Methods and system for enabling printing three-dimensional object models
Dahal et al. A GIS toolset for automated partitioning of urban lands
CN102779358B (zh) 用于设计几何三维建模对象的方法及设备
CN1926558B (zh) 对任意成三角形的表面应用精确三维体纹理的***和方法
CN101901503B (zh) 使用光谱分析的伸展驱动的网格参数化
Uchida et al. Noise-robust transparent visualization of large-scale point clouds acquired by laser scanning
Ogayar et al. Point in solid strategies
US8970593B2 (en) Visualization and representation of data clusters and relations
Vyatkin Method of binary search for image elements of functionally defined objects using graphics processing units
Limberger et al. Visual variables and configuration of software maps
US7289117B2 (en) Process for providing a vector image with removed hidden lines
Dressler Art of surface interpolation
US8243072B2 (en) Method for rendering an object
Mulder Automatic repair of geometrically invalid 3D city building models using a voxel-based repair method
Reis et al. High-quality rendering of quartic spline surfaces on the GPU
Cruz et al. High-level techniques for landscape creation
Theisel CAGD and Scientific Visualization
Owada et al. Volume Painter: Geometry-Guided Volume Modeling by Sketching on the Cross-Section.
Baselgia et al. Solid model reconstruction of large-scale outdoor scenes from 3D LiDAR data
Fort et al. Computing generalized higher-order Voronoi diagrams on triangulated surfaces
Holmström et al. Ray tracing of boundary models with implicit blend surfaces
Kalbe et al. GPU-accelerated 2D point cloud visualization using smooth splines for visual analytics applications
Karmacharya et al. Modified One-Point-and-Area Algorithm for Sub-division of Irregular Parcels
Raheja Assessing the Performance of Procedurally Generated Terrains Using Houdini’s Clustering Method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150423

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150423

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100120

Termination date: 20200628

CF01 Termination of patent right due to non-payment of annual fee