CN101685547A - 用于使用曲面法向约束的曲面膨胀的方法和装置 - Google Patents

用于使用曲面法向约束的曲面膨胀的方法和装置 Download PDF

Info

Publication number
CN101685547A
CN101685547A CN200910138728A CN200910138728A CN101685547A CN 101685547 A CN101685547 A CN 101685547A CN 200910138728 A CN200910138728 A CN 200910138728A CN 200910138728 A CN200910138728 A CN 200910138728A CN 101685547 A CN101685547 A CN 101685547A
Authority
CN
China
Prior art keywords
curved surface
border
refinement
expansion
constraint
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
CN200910138728A
Other languages
English (en)
Other versions
CN101685547B (zh
Inventor
N·A·卡尔
P·P·乔西
J·L·安德鲁斯
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN101685547A publication Critical patent/CN101685547A/zh
Application granted granted Critical
Publication of CN101685547B publication Critical patent/CN101685547B/zh
Active 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

用于利用3D几何学来对2D艺术作品进行交互式增强的方法和装置。通过对插值输入边界的曲面进行膨胀,曲面膨胀工具可以用来创建3D形状。曲面膨胀工具例如可以获取封闭的2D边界作为输入,对边界内部的区域进行细化以生成初始曲面,在保持固定边界的同时对曲面进行膨胀。使用边界顶点处的指定的曲面法向值和/或平均曲率值作为约束,该工具可以使用单个线性系统来有效地控制经膨胀的曲面。实施例处理平滑位置约束和尖锐位置约束两者。位置约束顶点还可以具有为了控制局部曲面的膨胀而指定的约束。

Description

用于使用曲面法向约束的曲面膨胀的方法和装置
优先权信息
本申请要求享受提交于2008年3月17日的题目为“Method andApparatus for Modeling 3D Surfaces from 2D and 3D Curves”的美国临时申请序列号No.61/037,240的优先权,通过引用将其全部内容结合在此,并且要求享受提交于2008年8月22日的题目为“Method andApparatus for Modeling 3D Surfaces from 2D and 3D Curves”的美国临时申请序列号No.61/091,262的优先权,通过引用将其全部内容结合在此。
技术领域
相关技术描述
在计算机辅助图像设计中,基于草图(sketch)的接口已经成为用于快速三维(3D)形状建模的流行方法。随着建模特征集合不断增加,功能强大的3D草图绘制接口可以构造从直线工业对象到平滑有组织形状的形状。通常,这些形状草图绘制接口的应用是3D形状设计。用户绘制的二维(2D)曲线仅是获得3D形状这一最终结果的手段。
当前,在容易获得的2D艺术设计软件中,存在几种3D形状建模工具。一种通常使用的建模原语是形状挤压,其中封闭2D曲线沿着直线(或曲线)进行扫掠(sweep)以创建棱柱形状。与挤压类似的是曲线旋转,其中曲线绕轴旋转,以构造旋转对称的形状。另一种常用的原语是倒角(beveling),其中对输入的2D曲线进行偏移和提升,以提供具有厚度和尖锐边缘的3D形状的外观。这些3D建模原语受到其能够支持的曲面特征类型的限制。例如,传统的图像设计应用不支持在经过倒角的图像内部添加尖锐褶皱。
一种当前的研究努力是改进2D设计工具中可能的曲面编辑的范围。研究领域包括虚拟浮雕,以及更一般地,基于功能的曲面建模系统。这两者使用隐式曲面表示来对其曲面进行建模(出于绘制目的,曲面被交互地多边形化)。
发明内容
描述了用于利用三维(3D)几何学对二维(2D)艺术作品进行交互式增强的方法和装置的各种实施例。曲面膨胀工具的实施例可以用来通过对插值曲面的输入边界的曲面进行膨胀来创建3D形状。曲面膨胀工具的一个实施例例如可以:获得封闭的2D曲线(或边界)作为输入;对该边界内的区域进行细化(例如,三角剖分),以生成初始曲面;以及在保持固定边界的同时对该曲面进行膨胀。使用针对边界顶点而指定的约束或者存储在边界顶点处的约束,实施例可以使用单个线性系统来有效地控制经膨胀的曲面。一个实施例可以使用曲面法向约束作为边界条件。一个实施例可以使用平均曲率约束或曲面法向约束作为边界约束。在一个实施例中,可以使用平均曲率约束和曲面法向约束作为边界约束;例如,可以在外边界的一部分上使用平均曲率约束,并且可以在相同外边界的另一部分上或内边界上使用曲面法向约束。因此,可以在将要膨胀的对象上对内边界或外边界应用平均曲率约束和/或曲面法向约束。实施例处理平滑位置约束和尖锐位置约束两者。位置约束顶点还可以具有曲率约束,以用于控制局部曲面的膨胀。
曲面膨胀工具的实施例可以使用膨胀隐喻(metaphor),并且可以允许平滑内边界和尖锐内边界二者作为直接描绘在已膨胀曲面上以修改该曲面的约束曲线。实施例可以使用曲面法向和/或平均曲率约束来控制膨胀量,不同于传统方法,这允许将问题公式化为单个线性系统。使用膨胀隐喻,实施例可以构造插值封闭输入边界的3D曲面。实施例允许设计者利用3D形状建模特征(诸如尖锐褶皱)、平滑插值曲线和局部曲率控制或曲面法向控制来修改膨胀的曲面。实施例证明可以有效地使用可在3D形状建模工具中找到的其它成熟几何建模技术来设计感兴趣的视图。
在一个实施例中,对于曲面法向约束,可以在边界上并沿着尖锐曲线引入虚像顶点(ghost vertex)。在一个实施例中,还引入有助于基于图像建模领域的约束,尤其是像素位置约束,其规定:顶点可以沿着矢量(例如,来自相机视点的矢量)自由地靠近或者远离,只要其总是投影到同一个像素。一个实施例可以允许用户指定这些像素上的曲面法向约束,从而实现目标曲面定向而不需要显式地指定深度。
由于实施例在开放边界上满足曲面法向约束,实施例还可以用作基于面片(patch)的建模系统,其中每个面片都是独立求解的线性系统,其中曲面法向约束保证了面片边界处的连续性。
曲面膨胀工具的实施例可以通过对插值给定的输入边界集合的曲面进行膨胀,从而创建3D形状。曲面膨胀工具可被视为3Dn边面片表示,可以围绕其建立更大的建模系统。例如,实施例可被用于膨胀包括字体边界的2D矢量艺术作品。实施例还可以在基于图像的建模应用(诸如2D图像的膨胀)中用作基本原语。
附图说明
图1示出了使用曲面膨胀工具的一个实施例的曲面膨胀结果的例子。
图2a到图2c示出了根据一个实施例的曲面膨胀工具中的工作流程。
图3是根据一个实施例的曲面膨胀方法的流程图。
图4示出了根据一个实施例的网格顶点和单环邻居。
图5示出了根据一个实施例的位置x的网格顶点和单环邻居yi
图6是根据实施例的用于重新初始化和求解线性系统的方法的一般流程图。
图7a到图7d示出了根据一个实施例的用于添加约束的步骤。
图8a到图8c示出了根据一个实施例的定向位置约束。
图9示出了根据一个实施例的像素位置约束。
图10a到图10e示出了根据一个实施例的3D字体设计的例子。
图11a到图11d示出了根据一个实施例的笔划设计的例子。
图12a和图12b示出了根据一个实施例的照片膨胀的例子。
图13a到图13h图示了根据一个实施例的自由形式3D形状设计。
图14a到图14b根据一个实施例示出了利用平滑位置约束以及使用曲面法向约束指定的边界处的凹角而生成的示例曲面。
图15a和图15b根据一个实施例示出了利用平滑位置约束以及使用曲面法向约束指定的边界处的平面角而生成的示例曲面。
图16a和图16b根据一个实施例示出了利用平滑位置约束以及使用曲面法向约束指定的边界处的凸角而生成的示例曲面。
图17a到图17c根据某些实施例示出了使用曲面法向约束来修改示例曲面的内边界处的角。
图18示出了曲面膨胀工具的示例实施例。
图19示出了可以在实施例中使用的计算机系统的例子。
虽然以若干实施例和示范性附图的例子描述了本发明,本领域的技术人员将认识到本发明不限于描述的实施例或附图。应当理解,附图和其详细描述不旨在将本发明局限为公开的特定形式,而是相反,本发明覆盖落在本发明的精神和范围内的所有修改、等同物和替换。此处使用的标题仅是出于组织目的,并且不意味着用于限制说明的范围。在本申请中,单词“可以”用于允许含义(即,意味着具有可能),而不是强制含义(即,意味着必需)。类似地,单词“包括”(“include”,“including”,和“includes”)的含义是包含而非限制。
具体实施方式
在下面的详细描述中,记载了若干具体细节,以提供对要求保护的主题内容的透彻理解。然而,本领域的技术人员应当理解,可以实现所要求的主题内容而不使用这些具体细节。在其他情况下,未详细描述本领域的技术人员了解的方法、装置或系统,以免使得所要求的主题内容不明确。
下文详细描述中的某些部分是按照存储在特定装置或专用计算设备或平台的存储器内的二进制数字信号的操作的算法或符号表示给出的。在本特定说明书的上下文中,术语“特定装置”等包括通用计算机,其之前被编程以便按照程序软件中的指令执行特定功能。算法描述或符号表示是信号处理或相关领域的技术人员用于将其工作的实质内容传递给该领域的其他技术人员的技术的例子。此处算法一般被认为是获取所希望结果的操作或类似信号处理的自给序列。在这个上下文中,操作或处理涉及物理量的物理操作。通常,虽然不必要,这些量可以采用能够被存储、传输、组合、比较或操作的电子或磁信号的形式。已经证实,有时,主要出于公共使用的原因,将这种信号称为位、数据、值、元素、符号、字符、项、数字、数值等是方便的。然而应当理解,所有这些或类似的术语与适当的物理量相关联,并且仅是方便的标记。除非特定说明,从下面讨论中可以明了,应当理解在整个说明书的讨论中,使用术语诸如“处理”,“计算”(“computing”,“calculating”),“确定”等指示特定装置诸如专用计算机或类似的专用电子计算设备的活动或处理。因此在本说明书的上下文中,专用计算机或类似的专用电子计算设备能够操纵或传输通常被表示为专用计算机或类似的专用电子计算设备的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理的电或磁量值信号。
描述了用于利用三维(3D)几何学对二维(2D)艺术作品进行交互式增强的方法和装置的各种实施例。可以使用曲面膨胀方法的实施例(其实现为或实现在工具、模块、插件、独立应用等中)通过对插值输入边界的曲面进行膨胀来创建和修改3D形状。为了简单起见,此处描述的曲面膨胀方法的实施例的实现将被总称为曲面膨胀工具。实施例可以在以下一个或多个中使用,但不限于此:字体设计,笔划设计,照片增强和自由形式3D形状设计。
各种实施例可以使用平均曲率约束、曲面法向约束、或平均曲率约束和曲面法向约束的组合作为控制膨胀的边界条件。曲面的平均曲率是曲率的外在测量,其局部地描述曲面的曲率。因此,平均曲率约束是特定边界位置处(即,外边界或内边界上的特定点或顶点处)或外边界或内边界的特定段的平均曲率的指定值。平坦曲面的曲面法向(或简称法向)是垂直于该曲面的一个矢量。类似地,非平坦曲面的曲面法向是垂直于该曲面上某点处的切平面的矢量。因此,曲面法向约束规定:在曲面上的这一点处(即,曲面外边界或内边界上的某点处),曲面法向指向指定的方向。作为例子,用户可能希望:在边界上的某点处,曲面法向朝向面外45度,以生成45度的倒角,并且因此可以将该点处曲面法向约束设置为45度。可以在特定边界位置处(即,外边界或内边界上的特定点或顶点)或者针对外边界或内边界的特定段来指定曲面法向约束值。
一个实施例可以使用平均曲率约束作为边界条件。一个实施例可以使用曲面法向约束作为边界条件。一个实施例可以使用平均曲率约束或曲面法向约束作为边界条件。在一个实施例中,可以使用平均曲率约束和曲面法向约束两者作为边界条件;例如,可在边界的一部分上使用平均曲率约束,而在同一边界的另一个部分上或在其他边界上使用曲面法向约束。可将平均曲率约束和/或曲面法向约束应用于将要膨胀的曲面的内边界或外边界。在实施例中,可以针对边界上不同位置处的曲率约束而指定不同的值。实施例可以提供一个或多个用户接口元件,通过该元件用户可以指定或修改边界位置处的约束值。实施例可以提供一个或多个用户接口元件,通过该元件用户可以添加、删除或修改外边界或内边界。
外边界和内边界的例子例如参见图13a和图13b。图13a和图13b中阴影曲面的外部边界是外边界的例子。图13b中“眼睛”上的两条白线是内边界的例子。注意,内边界可以是单个点、开放的线或曲线或者封闭边界。由于在膨胀过程中边界的位置是固定的,外边界和内边界两者可被认为是对曲面的一类“约束”。因此,此处内边界和外边界可总称为位置约束。
除了位置约束(外边界和内边界)、平均曲率约束和曲面法向约束之外,某些实施例可以允许指定其他类型的约束。例如,一个实施例可以允许在曲面上的点或者区域处指定像素位置约束;像素位置约束可用于限制沿着矢量的膨胀。例如,像素位置约束可被用于将膨胀限制于z轴,并且因此防止曲面沿x和y轴发生不希望的移动。作为另一个例子,一个实施例可以允许为曲面法向约束添加定向的位置约束。某些实施例还可以允许针对曲面的区域或部分指定任意流向,或是针对整个曲面来指定。一个例子是导致曲面“向下”流动的重力操作。
不论是使用平均曲率约束、曲面法向约束或是两者,实施例可以利用线性变分曲面编辑技术的特性来执行实际的膨胀。线性变分曲面编辑技术使用某阶的拉普拉斯算子来求解平滑曲面,其可以提供简单性和高效性,但是由于某些局限性而尚未针对基于草图的建模接口进行完整探究。然而,如此处所示,实施例中可以利用这些局限性来获得附加的艺术自由度。对于3D建模的某些领域,特别是对于2D建模(例如,3D字体设计)和基于面片的建模,实施例可以通过利用线性变分曲面编辑技术的特性来提供效率、稳定性和附加的控制。
与使用隐式曲面表示进行曲面建模的传统方法相反,实施例可以使用多边形(例如,三角形)网格对给定的曲线进行膨胀。实施例可以使用膨胀隐喻而不使用弦轴。实施例可以允许直接描绘在经膨胀的曲面上的平滑内边界和尖锐内边界两者对该曲面进行修改。与传统方法相反,实施例实现一种线性系统并且逐步解决其缺陷,而不是使用无法确保收敛的、较慢的迭代非线性求解器。另外,实施例可以提供比传统方法更大范围的建模操作。尽管这种方法可能不允许将整个网格作为统一系统来进行求解,但实施例仍提供了一种可能对于用户来说更为直观的备选的基于面片的方法,这是因为传统方法中的全局解可能导致曲面编辑趋于具有失败的全局效果。虽然通常将实施例描述为使用三角网格,但是也可以使用其他多边形网格。
通过将存储在边界顶点处或针对边界顶点而指定的平均曲率值或曲面法向值用作自由度,实施例能够使用单个线性系统来有效地控制曲面的膨胀。实施例可以处理平滑位置约束和尖锐位置约束两者。位置约束顶点也可以具有曲率约束,以用于控制局部曲面的膨胀。
通常,形状草图绘制接口的应用是在3D形状设计中。传统上,用户绘制的二维(2D)边界仅意味着3D形状这一最终结果的开始。不同于使用2D边界来设计3D形状,实施例可以使用作为结果得到的插值的3D形状来增强已有的2D边界。即,实施例可以将形状草图绘制接口应用于另一个感兴趣的应用:2D艺术作品的创作和设计。
使用膨胀隐喻,实施例可以构造插值封闭输入边界的3D曲面。实施例允许设计者利用3D形状建模特征(诸如尖锐褶皱)、平滑插值曲线和局部曲率控制来修改膨胀的曲面。实施例证明,可以有效地使用可在3D形状建模工具中找到的其它成熟的几何建模技术来设计感兴趣的视图。图1示出了使用此处描述的曲面膨胀工具的一个实施例的曲面膨胀的结果的例子。在这个例子中,输入单词“Hello!”作为字体轮廓(边界,位置约束),添加了边界条件(平均曲率和/或曲面法向约束),并且使用曲面膨胀方法的一个实施例来按照该约束对字符的曲面进行膨胀。
曲面膨胀工具的实施例构造插值一个或多个输入边界的二维流形曲面。可以将曲面作为变分问题的解进行计算。可以对曲面膨胀工具所实施的曲面膨胀方法进行公式化,以便在单个稀疏线性等式中对最终曲面进行求解,在一个实施例中,这不需要边界处的额外三角形条带。在采用平均曲率约束的实施例中,边界上的顶点的平均曲率是自由度;可以通过增加这些平均曲率值来对该曲面进行膨胀。在采用曲面法向约束的实施例中,可以使用附加的虚像顶点来控制内部以及曲面边界处的曲面法向;在这个实施例中,可以通过调整曲面法向约束、并由此使边界的虚顶点围绕边界旋转来对曲面进行膨胀。由于变分设置,除了位置约束附近之外,膨胀的曲面是平滑的。设计者可以在设计阶段的任意时间添加、删除或修改内边界和约束,并且这些内边界和约束可以是平滑的或尖锐的。在一个实施例中,内边界还可以具有曲率控制或曲面法向控制(类似于外边界),从而允许设计者对内边界附近的曲面进行局部膨胀或收缩。在一个实施例中,外边界和/或内边界可以具有拉伸控制,这允许设计者扩展符合目标曲率约束或曲面法向约束的区域。在一个实施例中,约束可被指定为像素位置约束,这意味着这些约束将其顶点约束为从某个原始照相机视角看,总是投影到相同像素。
曲面膨胀工具的实施例可以使用膨胀隐喻,并且允许用于直接描绘在膨胀的曲面上的平滑位置约束和尖锐位置约束二者对曲面进行修改。实施例可以使用平均曲率约束和/或曲面法向约束来控制膨胀量,与传统方法不同,这允许将问题公式化为单个线性系统。
曲面膨胀工具的应用可以包括但不限于以下一个或多个:字体设计、笔划设计、增强照片或其他图像、以及从头开始建立3D形状模型,在各个附图中示出了其例子。曲面膨胀工具的某些实施例例如可实现为2D艺术作品设计工具(诸如
Figure G200910138728XD00091
Figure G200910138728XD00092
和GNUGimp)的插件,或实现为其他类型的图像处理应用的插件。其他实施例例如可以实现为独立的程序或工具,或实现为库函数。曲面膨胀工具的各种实施例可以获得、操纵和输出按照各种数字图像格式中任意一种的数字图像。
工作流程
图2a到图2c示出了根据一个实施例的曲面膨胀工具中的工作流程的例子。如图2a所示,输入外边界曲线。对输入边界(图2a)所限定的平坦区域进行细化。在一个实施例中,使用三角形来细化。增加边界约束(平均曲率约束和/或曲面法向约束),并且对得到的曲面(图2b)进行膨胀(图2c)。在这个例子中,例如可以在诸如
Figure G200910138728XD00101
的艺术作品设计工具中创作2D边界,并且将其作为简单的折线逼近来读取。在各种实施例中,可以使用获得输入2D边界的其他方法。
图3是根据一个实施例的曲面膨胀方法的流程图。如100所示,曲面膨胀工具以封闭2D边界作为输入。如102所示,曲面膨胀工具对外边界内的区域进行细化(例如,三角剖分),以生成初始曲面。如104所示,可以为输入边界添加边界约束(平均曲率约束和/或曲面法向约束)。还可以针对将要膨胀的曲面指定或应用其他约束和/或选项,诸如像素位置约束和任意流选项。如106所示,曲面膨胀工具根据指定的约束和选项对曲面进行膨胀,同时保持所膨胀对象的固定边界。
三角剖分
如图3的102所示,曲面膨胀工具对外边界内的区域进行细化,以生成初始曲面。在执行细化时,曲面膨胀工具的某些实施例可将曲面表示限制为三角网格,该三角网格是通过对外边界内的曲面进行三角剖分而获得的。可以使用各种三角剖分方法中的任意一种来生成高质量的三角剖分。某些实施例可以对三角形保持最大面积约束(这可以作为三角剖分方法中的可配置选项而提供)以防止由于非常大的三角形而出现的绘制赝像。
由于网格自适应性,使用三角网格(与规则网格相反)来对膨胀的曲面进行求解的优点是网格适应性效率高:可以将三角网格指定为仅在复杂约束附近具有高度的细节,而在没有很多约束处是粗糙的。在一个实施例中,在对曲面进行膨胀时,不对网格连接关系进行更新。在其他实施例中,在具有高曲率的膨胀形状的部分中,可以动态地加密网格,这可以更为高效,并且使绘制更为平滑。
曲面膨胀
如图3的106所示,曲面膨胀工具根据指定的约束对曲面进行膨胀,同时保持固定的边界。在曲面膨胀方法的一个实施例中,可以通过求解保持曲面平滑的变分系统来获得曲面的未约束部分。可以保持平滑度,这是因为它为膨胀的曲面提供了有机的外观,并且从曲面中去除了任何不自然和不必要的隆起和褶皱。
在一个实施例中,变分公式可以根据基于偏微分方程(PDE)的边界约束建模的原理,其中,对某些美学能量泛函的欧拉-拉格朗日方程进行求解,以生成平滑的曲面。一个实施例可以使用“薄板样条”作为期望的曲面;相应的欧拉-拉格朗日方程是双调和方程。在这个实施例中,对于位置x处的所有自由顶点,求解PDEΔ2(x)=0。该PDE的解产生各处C2连续的曲面,只有位置约束处例外(曲面在此可能是C1或C0连续)。一个实施例可以使用拉普拉斯算子Δ(x)的基于余切权重的离散化。
交互地求解四阶PDE(Δ2(x)=0)可能太慢。因此,一个实施方式假设在求解过程中曲面的参数化不改变,从而将非线性问题转换为线性问题。在实践中,这意味着:用于拉普拉斯公式的余切权重仅计算一次(使用平坦的未膨胀曲面),并且随后在对曲面进行膨胀时不发生改变。这种近似已被广泛地用于构造平滑形状形变,但是在某些情况下它可能明显不同于正确的解。不同于利用较慢的、有时发散的、迭代的非线性求解器对其进行修正,实施例可以设置该线性解的特征,并且使用其突然弯曲(quirk)来提供艺术作品控制的额外维度。
在求解器中使用线性系统的优点是线性系统具有唯一解。相反,非线性系统可能产生多个解(例如,全局和局部最小值)。因此,使用非线性系统,求解器可能陷入局部最小值,这可能产生不希望的解(即,可能未找到全局最优值)。不同的非线性求解器可能获得不同的局部最小值。因此,使用线性系统可以提供一致性和效率。对使用线性系统的一种权衡是:得到的曲面可能不像非线性系统的全局最优解那样平滑。然而对于艺术作品而言,线性系统产生的解就足够了。
线性系统
平均曲率约束实施例
下面描述根据使用平均曲率约束的实施例的变分线性系统的公式表述。在这些实施例中,可以实现线性系统Ax=b,其中矩阵A是稀疏的n×n矩阵(其中n是自由顶点数目的3倍),其表示顶点及其邻居之间的局部几何关系。长度为n的矢量x表示自由顶点的位置,并且长度为n的矢量b表示已知的量。对于每个自由顶点的所有三个坐标,以公式表示对于顶点的邻居而言是线性的方程。在一个实施例中,该公式表示可以主要基于离散几何建模方法。本领域中已经描述了一种方法用于对可以处理平滑或尖锐内部约束的线性系统进行公式化;不幸的是,该公式表示需要三角形的条带,以便使边界顶点的单环邻域是完整的。生成这个三角形条带并不简单,尤其是当边界曲线具有较大凹度时。另外,本领域中已经描述了一种曲面建模系统,其采用G1边界约束并且不需要边界上的特殊三角形条带。然而,该曲面建模系统需要两个线性解:一个针对平均曲率标量场,而另一个针对满足所计算的平均曲率场的位置。曲面膨胀方法的实施例结合了这两种方法的益处。在这种结合中,使用平均曲率约束的曲面膨胀方法的实施例不需要边界上的三角形条带来执行膨胀,并且仅求解一个线性系统。这是可行的,因为该曲面膨胀方法将边界顶点处的平均曲率视为自由度,其可以用来对该曲面进行膨胀。
一个实施例可以使用共轭梯度实现来求解线性系统Ax=b。由于矩阵A是稀疏的、对称的和正定的,其他实施例可以对该矩阵进行因式分解,这可以减少迭代更新次数。例如,在一个实施例中,可以执行矩阵A的Cholesky分解,并且在一个实施例中,可以使用直接求解器来求解该线性系统。在其他实施例中,可以使用其他求解器来求解该线性系统。例如,可以使用稀疏Cholesky求解器或共轭梯度求解器。还可以使用其他技术诸如多重网格求解器。
图4示出了根据一个实施例的位置x的网格顶点和单环邻居yi。图4示出了下面的方程中使用的各个变量。顶点x具有位于边界上的邻居y0和y1(受约束的平均曲率)和具有完整单环邻域的内部邻居y2,y3,y4(未约束的平均曲率)。通过对在所有顶点处具有如下等于0的双重拉普拉斯算子的平面进行求解,可以获得所需要的C2平滑的曲面:
Δ2(x)=Δ(Δx)=0(1)
网格顶点处的拉普拉斯算子由其单环邻域给出。可以使用离散拉普拉斯算子,例如可以使用针对网格而定义的Laplace-Beltrami算子:
Δx = 1 ( 2 A x ) ( x - Σ i w i y i )
其中wi是正则化的余切权重,并且是一个标量项,其包括改进拉普拉斯算子逼近的、顶点x周围的加权面积Ax。注意,在各种实施例中,可以使用用于网格的其他拉普拉斯算子。代入方程(1):
Δ 2 x = 1 ( 2 A x ) Δ ( x - Σ i w i y i ) = 0 - - - ( 2 )
由于Δ是线性算子:
Δ 2 x = Δx - Σ i w i Δ y i = 0 - - - ( 3 )
考虑图4的情况,其中某些单环邻居在网格内部,并且某些在边界上。假设:给出边界顶点的平均曲率作为约束。假设yj表示平均曲率
Figure G200910138728XD00135
已知的单环顶点。对于这些顶点,可以使用表达式 Δy j = ( h y j n y j ) / 2 来简单地计算拉普拉斯算子。将这些已知的拉普拉斯算子移到方程(3)的右侧,获得以下方程:
Δ 2 x = 0 ⇒ Δx - Σ i w i Δ y i = Σ j w j h y j n y j 2 - - - ( 4 )
注意,项
Figure G200910138728XD00138
实质上表示由相邻顶点yj施加于顶点x的力,其方向
Figure G200910138728XD00139
大小为
Figure G200910138728XD001310
在某些实施例中,力施加于初始顶点法向的方向上(平坦配置中的法向-Z轴)。一个实施例不使用膨胀状态中的顶点法向,这是由于可能产生路径相关的、不直观的非线性顶点运动。
因此,通过增加
Figure G200910138728XD00141
的值,增加顶点x上力的大小,有效地将其提升。
最后,展开公式(3)中具有未知平均曲率的顶点的拉普拉斯算子,以便得到自由顶点x的线性方程:
x - Σ i w i y i - Σ i w i [ y i - Σ k w ik z ik ] = Σ i w j h y j n y j 2 - - - ( 5 )
针对每个自由顶点构造这种方程将产生线性系统Ax=b,该线性系统的解提供膨胀的曲面。
曲面法向约束实施例
下面描述根据使用曲面法向约束的实施例的变分线性系统的公式表述。在这些实施例中,可以实现线性系统Ax=b,其中矩阵A是稀疏的n×n矩阵(其中n是自由顶点数目的3倍),其表示顶点及其邻居之间的局部几何关系。长度为n的矢量x表示自由顶点的位置,并且长度为n的矢量b表示已知的量。对于每个自由顶点的所有三个坐标,以公式表示对于顶点的邻居而言是线性的方程。在这个实施例中,公式表示可以主要基于离散几何建模方法,其中添加了约束类型。在本领域中已经描述了一种方法,用于对可以处理平滑或尖锐内部约束的线性系统进行公式化,;不幸的是,该公式表示需要三角形条带,以便使边界顶点的单环邻域是完整的。生成这个三角形带并不容易,尤其是当边界曲线具有较大凹度时。因此,使用曲面法向约束的曲面膨胀工具的实施例提供了一种利用局部修正的“虚像”顶点来“伪造”这些三角形的方法。
图5示出了根据一个实施例的位置x的网格顶点和单环邻居yi。图5示出了下面方程中使用的各个变量。顶点x具有位于边界上的邻居y0和y1,以及具有完整单环邻域的内部邻居y2,y3,y4。每个边界顶点都具有自己的虚像顶点以及两个相应的虚像三角形(例如,y1具有虚像顶点g),以便人为地提供所需要的单环邻域。
考虑如图5所示的位置x的网格顶点和单环邻居yi。通过对在所有顶点处具有如下等于0的双重拉普拉斯算子的平面进行求解,可以获得所需要的C2平滑曲面:
Δ2(x)=Δ(Δx)=0(6)
网格顶点处的拉普拉斯算子由其单环邻域给出:
Δx=∑iwi(x-yi)
其中wi是以顶点面积的倒数进行了缩放的非正则化余切权重。代入等式(6):
Δ 2 x = Δ ( Σ i w i ( x - y i ) ) = 0 - - - ( 7 )
由于Δ是线性算子:
Δ 2 x = Σ i w i Δx - Σ i w i Δ y i = 0 - - - ( 8 )
其最终展开为:
( Σ i w i ) 2 x - ( Σ i w i ) ( Σ i w i y i ) - Σ i w i [ ( Σ k w ik ) y i - Σ k w ik z ik ] = 0 - - - ( 9 )
其中zik是指使单环完整所需的虚像顶点。在一个实施例中,受约束的顶点可以视为绝对约束,因此其位置被移动到系统的右侧。由于对系统进行过度约束(over-constrain)并且在最小平方的意义上满足其他类型的约束可能是方便的,因此在一个实施例中,通过以下的的倒数来缩放整个方程:
( Σ i w i ) 2
从而使得误差量将与位置差成比例,并且不会以任何面积或平均曲率值来缩放。针对每个自由顶点构造这种方程将给出线性系统Ax=b,该线性系统的解提供了膨胀的曲面。由于构造不是对称的,并且可以是过度约束的,因此可以使用常规的方程来对其求解。
虚像顶点的放置
在一个实施例中,对于网格曲面的每个面片,可以假设:标准视角(canonical view)方向是已知的;其例如可以是拍摄原始照片的方向,或是描绘原始边界约束的方向。可以得到“向上”矢量,其指向该标准视角的相机。然后可将虚像顶点放置在垂直于该“向上”矢量的平面内,并且其法向指向其父顶点的约束曲线。在一个实施例中,每个虚像顶点可被放置在距离该曲线相同的固定距离d处。例如,在图5中,假设一个从纸面u向外的矢量,虚像顶点g被定位在:
y1+d(u×(z21-y0))/||u×(z21-y0)||
然后可以围绕约束曲线(边界)的切线旋转虚像顶点,以便改变法向方向。
注意,可以针对外边界和内边界两者增加虚像顶点。
内部约束
在实施例中,用户可以在膨胀的曲面上的任意位置描绘内边界作为内部位置约束,以便自动地获得在适当位置具有新的内边界的新膨胀曲面。用户还可以为内边界指定边界约束(平均曲率约束和/或曲面法向约束)。在增加了新的内边界之后,需要重新初始化以及求解线性系统Ax=b。图6是根据这些实施例的重新初始化和求解线性系统的方法的一般流程图。针对具有平均曲率约束的内边界而执行的重新求解可以不同于针对具有曲面法向约束的内边界而执行的重新求解。
如200所示,将边界顶点平均曲率改变为0,并且将所有内部位置约束移动到其2D位置,从而将现有曲面展平(没有新的内边界)。如202所示,通过使用展平的三角网格内的重心坐标,来计算新的内边界顶点的2D位置。如204所示,在内边界的2D位置的制约下,对外边界所限定的区域进行细化(例如,三角剖分)。如206所示,对得到的曲面进行重新膨胀。在一个实施例中,对于平均曲率约束,上述过程可以这样来执行:将边界顶点平均曲率设置为初始值,并且将位置约束曲线移动到其原来的位置。在一个实施例中,对于曲面法向约束,可以这样来对得到的曲面进行重新膨胀:将位置约束曲线移动到其原来位置,并且针对自由顶点的位置重新求解该系统。
图7a到图7d示出的例子显示了根据实施例的上述用于增加内边界的方法。假设用户希望得到尖锐的内边界。如图7a所示,用户可以在膨胀的曲面上描绘内边界。用户可以针对新的内边界添加平均曲率约束和/或曲面法向约束。如果需要,用户还可以针对外边界来增加、去除或修改平均曲率约束和/或曲面法向约束。还可以针对曲面来增加、去除或修改其他约束,诸如像素位置约束。如图7b所示,曲面膨胀工具将膨胀的曲面展平,并且计算内边界的2D位置。然后,如图7c所示,曲面膨胀工具在新内边界的制约下重新细化该区域,重新膨胀曲面,并且在一个实施例中,将内边界移动到其原始位置,以便生成如图7d所示的新的膨胀曲面。在一个实施例中,可以对用户透明地执行图7b和图7c所示的操作。
位置约束的平滑度
在一个实施例中,可以指定平滑(C1)或尖锐(C0)的位置约束。可以通过为方程(5)或方程(9)中的受约束顶点指派权重来改变平滑度值。在一个实施例中,控制位置约束平滑度的权重可以取0(C0连续)到1(C1连续)之间的任意浮点值。然而,在一个实施例中,仅具有两个选项(平滑/尖锐)、并且对于所有顶点描绘具有固定的平滑度的位置约束可能是有用的。其它实施例可以允许在各个位置约束之间改变平滑度。图14a到图17c示出了平滑/尖锐位置约束的某些例子。
曲率约束
在一个实施例中,曲率约束可以与位置约束一起指定。当修改曲率约束的值时,曲面被修改,使得约束点处的平均曲率的近似与曲率约束的值相匹配。可以使用曲率约束来对受到位置约束的顶点周围的曲面进行局部地膨胀或收缩。由此,实施例可以提供基于草图的建模姿态。在一个实施例中,曲率约束的初始值被设置为0,但是在其它实施例中,初始值可被设置为任何任意值。
约束选项
为顶点设定平均曲率约束或曲面法向约束是沿着与初始的平坦曲面相垂直的方向给其单环邻居施加力的一种间接方法。然而,在某些实施例中,可以修改默认行为,并且可以在任意方向上施加附加的力。作为例子,在一个实施例中,可以给曲率约束增加“重力”选项,其中在略微向下的方向上施加另一个力(方程(5)的右侧),使得整个曲面向下弯曲。这例如可以用于创建位于垂直面上的粘性材料的图示。例如,参见图11b和图13h。在某些实施例中,可以指定“向下”之外的其它方向,以便使得曲面在指定的方向上流动。
定向位置约束
在一个实施例中,针对曲面法向约束而描述的虚像顶点这一概念可以扩展到内边界,其可用于控制曲面沿着该内边界的朝向。在一个实施例中,为了这么做,如图8a到图8c所示,可以修改计算受约束顶点处的拉普拉斯算子的方式。如从图8a到图8c中可见,除了开放的内边界的端点之外,虚像拉普拉斯算子自然地扩展到内边界;此处,不再有曲线的良定义侧(尤其对于仅是单个点的内边界),并且因此需要不同的方法来计算拉普拉斯算子。在一个实施例中,可以仅使用其双重拉普拉斯算子正被计算的发起顶点x以及相对的虚像顶点g作为受约束顶点的“单环”,这样来定义这种退化情况中的拉普拉斯算子。由于顶点面积和余切权重的计量没有扩展到这种情况,可以使用来自发起顶点的、经过面积正则化的余切权重的和。该方法继而令两个顶点同等地共享该权重和。因此,拉普拉斯算子可定义为:
( w i / Σ i w i ) y i - ( g + x ) w i / ( 2 Σ i w i )
图8a到图8c示出了根据一个实施例的定向位置约束。图8a中示出了内部定向位置约束。在计算顶点x的双重拉普拉斯算子时,一个实施例可以通过创建虚像g来计算y处的拉普拉斯算子,因此如图8b所示,顶点y的单环是(x,n1,g,n2)。注意,n1位于约束线的末端,因此,为了计算其拉普拉斯算子,取而代之将g沿着从x到n1的矢量放置,并且仅使用顶点x、n1和g来计算n1处的拉普拉斯算子。
像素位置约束
图9示出了根据一个实施例的像素位置约束。参考图9,像素位置约束允许顶点p沿着矢量d自由地移动。用户可能希望这样来约束曲面上的顶点(或区域):从给定的视角看,其总是投影到屏幕空间中的相同位置,而并非完全约束该顶点或区域的位置。在一个实施例中,为了这样做,可以通过称为像素位置约束的附加约束来对线性系统进行过度约束。可以将这些约束作为针对与照相机光线d-o1和o2正交的两个任意单位矢量的两个线性约束而写入矩阵。对于具有初始位置p’的点p,约束方程是o1·(p-p′)=0,并且对于o2也是如此。
注意,在没有像素位置约束的情况下,可以针对x,y和z单独书写线性系统,但是对于任意像素位置约束,x、y和z可以任意耦合。这可能具有性能代价,因为矩阵将大9倍。因此,对于形式较不自由的应用,通过仅针对轴对齐的正交视角实施像素位置约束来保持系统去耦合可能是有用的。在这些情况下,可以这样来简单地实现约束:在两个维度中固定顶点坐标,而使其在第三维度中是自由的。
像素位置约束可与平均曲率约束、曲面法向约束、或平均曲率约束和曲面法向约束的组合一起使用。
混合像素位置和定向约束
在许多情况下,定向和像素位置是已知的,但是艺术家可能不希望完全固定位置,例如,在对脸进行建模时,鼻子处可能存在某个角度,但是艺术家可能仍然希望在对人物的脸颊进行膨胀时允许平滑地移动鼻子。为了允许这样,一个实施例可以混合像素位置和定向约束。顶点失去其双调和平滑度约束,并且获得虚像顶点和像素位置约束。虚像顶点是相对于像素位置约束的自由顶点而指定的,不是绝对地指定的。然而,对于其增加的每两个像素位置行,这去除了矩阵中的三个双调和约束行(假设耦合系统),这使得系统约束过少。因此,可能需要附加的约束。在一个实施例中,对于第一附加约束,可以观察到:当用户描绘像素位置约束线条时,他们很可能希望该线条保持一定的平滑度或初始形状。因此,对于约束线上的相邻顶点p1、p2(其分别被允许沿着矢量d1和d2移动),一个实施例可以将顶点约束为满足:
(p1-p2)·(d1+d2)/2=0
由于该系统仍然缺少一个约束,一个实施例可以增加附加约束,该附加约束规定:约束线末端处的拉普拉斯算子(不使用任何虚像顶点计算)应当与所期望的值(通过虚像顶点相对于约束曲线的定位可知)相匹配。缩放这些拉普拉斯算子约束将调整受约束顶点移动的程度,以便满足法向约束。
使用线性化
在此描述的系统是线性系统,因为正如在某些原始配置中计算的,已经使得非线性区域和余切项成为常量。可以这样来理解线性化:除了实际曲率之外,允许将三角形的“拉伸(stretch)”视作曲率;因此,三角形拉伸+曲率而非仅仅是曲率中,变分得以最小化。在某些实施例中,可以通过有意地拉伸三角形来对此加以利用:例如,通过有意地移动虚像顶点,可以增加其效果区域。这类似于沿着曲线的切线移动贝塞尔(Bezier)控制点。
如果所有控制顶点是共面的,线性化还可以使解向着一个平面折叠(collapse)。当边界处的虚像顶点被旋转为共面并且位于形状内部时,从而导致平坦的对折形状时,可以在系统中看到这种情况。然而,在一个实施例中,可以通过允许将系统用作基于面片的建模系统,其中虚像顶点强制面片边界之间的C1连续性,从而避免利用单个线性系统来建模这种形状的需要。
实施例的应用
下面描述曲面膨胀工具的实施例的应用的某些例子,这并非旨在限制。
3D字体设计
曲面膨胀工具的实施例的应用可以为字体设计。可以对字体字符的轮廓进行膨胀,以提供字体深度。另外,可以通过增加平滑位置约束或尖锐位置约束以及边界约束(平均曲率约束或曲面法向约束或两者)来控制和增强膨胀字符的形状。
图10a到图10e示出了根据一个实施例的3D字体设计的例子。如图10a所示,读入字母“A”作为一对封闭边界曲线(外边界)。如图10b所示,提高受约束的边界顶点处的平均曲率,从而对输入曲线所限定的曲面进行膨胀。接着,如图10c所示,读入内部偏移曲线作为曲率和尖锐位置约束。如图10d所示,提升内部曲线以给出倒角的效果,并且继而如图10e所示,通过提高曲线顶点处的曲率来使其更加尖锐。
笔划设计
除了对已经完整输入的2D曲线(诸如字体轮廓)进行膨胀之外,还可以使用曲面膨胀工具的实施例作为在生成2D元素时对2D元素进行膨胀的工具。一个例子是笔划。当前,诸如的艺术作品工具支持具有各种画笔形状、厚度和入射角度的笔划。实施例可以允许增加笔划的另一种选项:深度。通过改变笔划边界处的平均曲率或曲面法向,可以在实施例中实现变化的笔划深度。另外,在一个实施例中,可以提供笔划的中轴作为约束曲线,这进一步增加了可能的笔划形状的范围。
图11a到图11d示出了根据一个实施例的笔划设计的例子。如图11a所示,使用曲面膨胀工具对画笔笔划轮廓进行膨胀。如图11b所示,可以选择重力选项,以产生颜料滴落的效果。如图11c所示,增加笔划的轴作为尖锐位置约束。如图11d所示,通过对曲面的其余部分进行膨胀来产生具有凹槽的笔划。
照片膨胀
曲面膨胀工具的实施例的另一个应用可以是照片膨胀,或更一般地,数字图像膨胀。例如,使用曲面膨胀工具,通过在图像上描绘和操纵位置约束,用户可以交互地为输入的照片或其他数字图像增加深度。作为另一个例子,可以使用工具(诸如边界追踪或对象定位工具)来自动地定位图像(例如数字照片)上的边界,并且可将该边界输入曲面膨胀工具,以作为位置约束。位置约束可以是平滑的(对于包含圆边的图像)、尖锐的(矩形的图像)或其组合。可以针对图像上的边界指定平均曲率约束、曲面法向约束或这两种类型的边界约束。
图12a和图12b示出了根据一个实施例的照片膨胀的例子。在这个例子中,使用曲面膨胀工具对泰姬陵(Taj Mahal)的数字照片进行膨胀。如图12a中的自线所示,指定不同类型的位置约束曲线(例如,平滑的、尖锐的以及曲率约束的),以定义膨胀的形状。在图12a中,白色实线表示尖锐位置约束,而黑的虚线表示平滑位置约束。尖锐位置约束是曲面满足位置约束曲线、但是越过位置约束曲线上而没有保持几何平滑度之处。平滑位置约束是曲面满足位置约束曲线、同时越过位置约束曲线而保持平滑度之处。与虚线相关联的方块表示已被选择来指定位置约束的位置。例如,线段末端的两个方块表示被选择用来指定这两个方块之间的线段的位置。在一个实施例中,可以通过该位置处进行鼠标点击来选择由方块表示的位置。作为例子,在泰姬陵最上部的穹顶中,具有不同深度级别的平滑曲线(虚线)的四个不同的点产生膨胀的穹顶形状。围绕着穹顶的尖锐位置约束曲线(白色实线)防止膨胀传播到穹顶之外。在指定所希望的约束之后,使用在此描述的曲面膨胀方法来膨胀图像以生成如图12b所示的膨胀的图像。
3D形状建模
曲面膨胀工具的实施例可被用于任意3D形状的自由形式设计。通过添加平滑和/或尖锐位置约束和边界约束,可以修改膨胀的形状。可以使用平均曲率约束、曲面法向约束或这两种约束。
图13a到图13h图示了根据一个实施例的自由形式3D形状设计。给定卡通脸部轮廓(图13a),对内部进行膨胀,并且在眉毛附近添加两个平滑位置约束(图13b)。将一个眉毛上拉而将另一个下拉(图13c)。在嘴附近添加尖锐位置约束(图13d),并且通过修改平均曲率约束或曲面法向约束来膨胀附近的曲面(图13e)。在鼻梁附近添加平滑位置约束(图13f),以得到最终曲面(图13g)。可以可选择地为这个3D形状添加重力或其他方向流动(见上面的讨论),以创建方向流动效果(图13h)。
曲面法向约束示例
图14a到图16b示出了根据某些实施例的曲面法向约束的应用的例子,并且还示出了曲面法向约束的效果。这些例子示出:曲面法向约束可被用于(被旋转)在边界处生成凹陷的、平坦的或凸出的角度。
图14a和14b示出了根据一个实施例的示例曲面,该曲面是利用“+”所表示的位置处的平滑位置约束、以及使用曲面法向约束而指定的边界处的凹角而生成的。图14b中的箭头表示曲面外边界处的曲面法向方向。
图15a和15b示出了根据一个实施例的示例曲面,该曲面是利用“+”所表示的位置处的平滑位置约束、以及使用曲面法向约束而指定的边界处的平坦角而生成的。图15b中的箭头表示曲面外边界处的曲面法向方向。
图16a和16b示出了根据一个实施例的示例曲面,该曲面是利用“+”所表示的位置处的平滑位置约束、以及使用曲面法向约束而指定的边界处的一个凸角而生成的。图16b中的箭头表示曲面外边界处的曲面法向方向。
图17a到17c示出了根据某些实施例的使用曲面法向约束来修改示例曲面内边界处的角度。图像中的内边界以黑白虚线表示。图17a示出了内边界上的平坦角。图17b示出了内边界上的尖锐角。图17c示出了曲面通过内边界处的不同角度而被局部膨胀。
实现
图18示出了实现此处描述的曲面膨胀方法的曲面膨胀工具的示例实施例。如上所述,曲面膨胀工具300的应用可以包括但不限于以下一个或多个:字体设计、笔划设计、增强照片、从头开始对3D形状建模。曲面膨胀工具300的某些实施例可以例如实现为2D艺术作品设计工具(诸如
Figure G200910138728XD00241
和GNU Gimp)的插件。其他实施例例如可被实现为独立的程序或工具。
曲面膨胀工具300可以提供用户接口302,用户接口302提供一个或多个文本和/或图形用户接口元件、模式或技术,用户可以通过其来输入、修改、指示或选择将要膨胀的图像或图像区域(以输入图像310表示);输入、修改或选择位置约束;选择重力选项或类似的任意方向流动选项;在形状、图像或数字图像区域中输入或描绘笔划;指定或修改包括平均曲率约束和曲面法向约束在内的平滑或尖锐的位置约束和边界约束;指定像素位置约束;以及一般地为使用在此描述的曲面膨胀工具300的实施例的曲面膨胀提供输入和/或控制其各个方面。在一个实施例中,曲面膨胀工具300可以通过显示设备上的动态显示将按照通过用户接口302的用户输入而做出的对目标图像310的修改实时地或近似实时地反馈给用户。因此,如中间图320所示,用户可以使用曲面膨胀工具300进行附加输入或者操纵图像或形状。结果作为最终图像322而输出。最终图像322(以及中间图像320)可被显示在显示设备上,打印和/或写入或存储在各种存储器介质诸如存储介质或存储设备中的任意一种上。
示例系统
可以在可以与各种其他设备交互的一个或多个计算机系统上执行此处描述的曲面膨胀工具的实施例的各种组件。图19示出了一个这种计算机系统。在示出的实施例中,计算机系统700包括一个或多个处理器710,其通过输入/输出(I/O)接口730而连接到系统存储器720。计算机系统700还包括耦合到I/O接口730的网络接口740,以及一个或多个输入/输出设备750,诸如光标控制设备760、键盘770和显示器780。在某些实施例中,可以想到:可以使用计算机系统700的单个实例来实现实施例,而在其他实施例中,多个这种系统或构成计算机系统700的多个节点可被配置用于主控实施例的不同部分或者实例。例如,在一个实施例中,某些元件可以被通过计算机系统700的与实现其他元件的那些节点不同的一个或多个节点实现。
在各种实施例中,计算机系统700可以是包括一个处理器710的单处理器系统,或包括若干处理器710的多处理器系统(例如,两个,四个,八个或另一个适合的数目)。处理器710可以是能够执行指令的任意适合的处理器。例如,在各个实施例中,处理器710可以是实现各种指令集体系结构(ISA)诸如x86,PowerPC,SPARC或MIPS ISA或任意其他适合的ISA中的任意一种的通用或嵌入式处理器。在多处理器系统中,处理器710中的每一个可以共同但不必然实现相同的ISA。
在某些实施例中,至少一个处理器710可以是图形处理单元。图形处理单元或GPU可被认为是用于个人计算机、工作站、游戏台或其他计算机系统的专用图形呈现设备。现代GPU在操纵和显示计算机图形时可以非常高效,并且它们高度并行的结构可以使其对于一系列复杂的图形算法比通常的CPU更有效。例如,图形处理器可以按照以下方式来实现多个图形原语操作,即执行这些原语的操作远远快于利用主中央处理单元(CPU)直接在屏幕上进行描绘。在各种实施例中,可由程序指令实现此处针对曲面膨胀公开的方法,这些程序指令被配置为在这种GPU中的一个上执行,或在这种GPU中的两个或多个上并行执行。GPU可以实现允许程序员调用GPU的功能的一个或多个应用程序员接口(API)。可以从诸如NVIDIA公司,ATI科技以及其他公司的供应商处在商业上获得适合的GPU。
系统存储器720可被配置为存储可由处理器710访问的程序指令和/或数据。在各个实施例中,可以使用适合的存储器技术诸如静态随机访问存储器(SRAM),异步动态RAM(SDRAM),非易失/闪存类存储器或任意其他类型的存储器实现系统存储器720。在示出的实施例中,实现诸如上面针对曲面膨胀工具所述的那些的所希望的功能的程序指令和数据被分别示出为作为程序指令725和数据存储735存储在系统存储器720中。在其他实施例中,程序指令和/或数据可被接收,发送或存储在不同类型的计算机可访问的介质上,或与系统存储器720或计算机系统700分离的类似介质上。一般地说,计算机可访问介质可以包括存储介质或存储器介质,诸如磁或光介质,例如通过I/O接口730耦合至计算机系统700的盘或CD/DVD-ROM。通过计算机可访问介质存储的程序指令和数据可被以传输介质或信号诸如电、电磁或数字信号传输,可以通过通信介质诸如网络和/或诸如可以通过网络接口740实现的无线链接传递这些信号。
在一个实施例中,I/O接口730可被配置为协调处理器710,系统存储器720和设备中的任意外围设备,包括网络接口740或其他外围接口诸如输入/输出设备750之间的I/O流量。在某些实施例中,I/O接口730可以执行任意必需的协议,定时或其他数据转变,以便将一种组件(例如,系统存储器720)的数据信号转换为适用于另一种组件(例如,处理器710)的格式。在某些实施例中,I/O接口730可以包括对通过各种类型的外围总线诸如例如各种外围组件互连(PCI)总线标准或通用串行总线(USB)标准附加的设备的支持。在某些实施例中,I/O接口730的功能可被划分为两个或多个单独组件,诸如例如北桥和南桥。另外,在某些实施例中,I/O接口730的某些或全部功能,诸如到系统存储器720的接口可被直接结合到处理器710内。
网络接口740可被配置为允许在计算机系统700和附接至网络的其他设备(诸如其他计算机系统之间)、或是在计算机系统700的节点之间交换数据。在各种实施例中,网络接口740可以通过有线或无线通用数据网络诸如例如任意适合的以太网网络,通过电信/电话网络诸如模拟语音网络或数字光纤通信网络,通过存储区域网络诸如Fibre Channel SAN,或通过任意其他适合的网络和/或协议类型支持通信。
在某些实施例中输入/输出设备750可以包括一个或多个显示终端,键盘,小键盘,触摸板,扫描设备,语音或光学识别设备,或适用于以一个或多个计算机系统700输入或检索数据的任意其他设备。多个输入/输出设备750可存在于计算机系统700中,或可以分布在计算机系统700的各个节点上。在某些实施例中,类似的输入/输出设备可被与计算机系统700分开,并且可以通过有线或无线连接诸如通过网络接口740来与计算机系统700的一个或多个节点交互。
如图19所示,存储器720可以包括配置为实现此处描述的曲面膨胀工具的实施例的程序指令725,以及包括可由程序指令725访问的各种数据的数据存储735。在一个实施例中,程序指令725可以包括上图中示出的曲面膨胀工具的软件元件。数据存储735可以包括可用于这些实施例的数据。在其他实施例中,可以包括其他或不同的软件元件和数据。
本领域的技术人员应当理解,计算机系统700仅是说明性的,而并非旨在将曲面膨胀工具的范围限制为此处的公开。具体地,计算机系统和设备可以包括可以执行指出的功能的硬件或软件的任意组合,包括计算机,网络设备,Internet应用,PDA,无线电话,寻呼机等。计算机系统700还可以连接未示出的其他设备,或取而代之作为独立的系统操作。另外,在某些实施例中,由示出的组件提供的功能可被组合在更少的组件内或分布在附加组件上。类似地,在某些实施例中,可以不提供示出的实施例中的某一些的功能,和/或可以获得其他附加的功能。
本领域的技术人员应当理解,虽然各种项目被示出为在使用时被存储在存储器或存储设备上,可以出于存储器管理和数据完整性的目的,在存储器和其他存储设备之间传递这些项目或它们的部分。可替换地,在其他实施例中,可以在存储器或另一设备上执行软件组件中的某一些或全部,并且通过计算机间通信与示出的计算机系统通信。系统组件或数据结构中的某一些或全部还可以被存储(例如,作为指令或结构化数据)在计算机可访问的介质上或以适当驱动器读取的便携产品上,上面已经描述了它们的各种例子。在某些实施例中,存储在与计算机系统700分离的计算机可访问介质上的指令可被通过传输介质或信号诸如通过通信介质诸如网络和/或无线链路传递的电,电磁或数字信号传输到计算机系统700。各种实施例还包括在计算机可访问介质上接收,发送或存储根据前面所述执行的指令和/或数据。因此,可以其它计算机系统配置实施本发明。
结论
各种实施例还可以包括在计算机可访问介质上接收、发送或存储根据前面所述执行的指令和/或数据。一般而言,计算机可访问介质可以包括存储介质或存储器介质,诸如磁或光学介质,例如,盘或DVD/CD-ROM,易失或非易失介质,诸如RAM(例如,SDRAM,DDR,RDRAM,SRAM等),ROM等,以及传输介质或诸如通过通信介质诸如网络和/或无线链路传递的电,电磁或数字信号的信号。
图中示出并且在此处描述的各个方法表示这些方法的实施例的例子。可以软件、硬件或其组合实现这些方法。方法的顺序可被改变,并且各个元件可被增加,重新排列,组合,忽略,修改等。
在本公开的教益下,对于本领域的技术人员很明显可以做出各种修改和改变。本发明旨在包括所有这些修改和改变,并且因此上述描述被认为是说明性的而不是限制意义的。

Claims (35)

1.一种计算机实现的方法,包括:
对由封闭二维边界限定的曲面进行细化,以生成初始细化曲面,其中所述初始细化曲面由所述边界来限定;
指定所述初始细化曲面的一个或多个边界顶点处的曲面法向约束值;
在保持所述边界的同时,按照所述一个或多个边界顶点处的指定曲面法向约束值来对所述初始细化曲面进行膨胀,以生成提供三维几何效果的经膨胀曲面;以及
将所述边界以及所述三维几何效果显示为膨胀的三维对象。
2.如权利要求1的计算机实现的方法,其中所述细化包括:对由所述封闭二维边界限定的曲面进行三角剖分,并且其中所述初始细化曲面是三角形网格。
3.如权利要求1的方法,其中所述细化包括:生成虚像顶点,从而使所述初始细化曲面的边界顶点的单环邻域完整。
4.如权利要求3的方法,其中所述对初始细化曲面进行膨胀包括:按照与虚像顶点相对应的、指定的曲面法向值来围绕边界旋转所述虚像顶点,其中所述旋转相应地旋转初始细化曲面的顶点,以便对初始细化曲面进行膨胀。
5.如权利要求1的计算机实现的方法,还包括:
指定经膨胀曲面上的内边界;以及
按照所述内边界以及一个或多个边界顶点处的、指定的曲面法向约束值,生成提供不同三维几何效果的新的经膨胀曲面。
6.如权利要求5的计算机实现的方法,其中所述生成新的经膨胀曲面包括:
展平初始的经膨胀曲面;
计算内边界的2D位置;
在内边界的制约下,对曲面进行细化以生成新的细化曲面;
指定所述新的细化曲面的位于内边界处的一个或多个顶点处的曲面法向约束值;以及
按照一个或多个边界顶点处的、指定的曲面法向约束值以及所述新的细化曲面的位于所述内边界处的一个或多个顶点处的曲面法向约束值,来对所述新的细化曲面进行膨胀。
7.如权利要求6的计算机实现的方法,还包括将内边界移动到其原始2D位置。
8.如权利要求5的计算机实现的方法,其中所述指定经膨胀曲面上的内边界包括:通过用户接口来接收用户输入,其中所述用户输入指示所显示的膨胀三维对象上的内边界。
9.如权利要求1的计算机实现的方法,其中所述指定初始细化曲面的一个或多个边界顶点处的曲面法向约束值还包括:接收指示所述一个或多个边界顶点处的曲面法向约束值的用户输入。
10.如权利要求1的计算机实现的方法,还包括:
针对由封闭二维边界限定的曲面来指定流动方向;以及
在保持边界的同时,按照一个或多个边界顶点处的、指定的曲面法向约束值以及曲面的流动方向来对初始细化曲面进行膨胀,以生成提供三维几何效果的经膨胀曲面,其中所述三维几何效果在所述指定的流动方向上流动。
11.如权利要求1的计算机实现的方法,其中所述对初始细化曲面进行膨胀是按照线性系统来执行的。
12.如权利要求11的计算机实现的方法,其中所述线性系统不需要将细化扩展到边界之外。
13.如权利要求1的计算机实现的方法,其中所述对初始细化曲面进行膨胀是通过求解单个线性系统来执行的。
14.如权利要求1的计算机实现的方法,还包括:
指定所述初始细化曲面的一个或多个其他边界顶点处的平均曲率约束值;以及
在保持边界的同时,按照一个或多个边界顶点处的、指定的曲面法向约束值以及一个或多个其他边界顶点处的、指定的平均曲率约束值来对初始细化曲面进行膨胀,以生成经膨胀曲面。
15.如权利要求1的计算机实现的方法,还包括:指定初始细化曲面上的顶点处的像素位置约束,其中所述对初始细化曲面进行膨胀包括:沿着由所述像素位置约束指示的一个或多个矢量来限制所述顶点处的膨胀。
16.如权利要求1的计算机实现的方法,还包括:
在经膨胀曲面上指定位置约束;
指定所述位置约束的平滑度值,其中所述平滑度值指示尖锐位置约束或平滑位置约束;以及
按照所述位置约束和指定的平滑度值来生成提供不同三维几何效果的新的经膨胀曲面,其中如果所述平滑度值指示尖锐位置约束,则新的经膨胀曲面满足所述位置约束,但是越过位置约束曲线而没有保持几何平滑度,并且其中如果所述平滑度值指示平滑位置约束,则新的经膨胀曲面满足所述位置约束,同时越过位置约束曲线上而保持平滑度。
17.一种系统,包括:
至少一个处理器;
显示设备;以及
包括程序指令的存储器,其中所述程序指令可由所述至少一个处理器来执行,以实现曲面膨胀工具,所述曲面膨胀工具配置用于:
对由封闭二维边界限定的曲面进行细化,以生成初始细化曲面,其中所述初始细化曲面由所述边界限定;
指定所述初始细化曲面的一个或多个边界顶点处的曲面法向约束值;
在保持所述边界的同时,按照一个或多个边界顶点处的、指定的曲面法向约束值对所述初始细化曲面进行膨胀,以生成提供三维几何效果的经膨胀曲面;以及
在所述显示设备上将所述边界和所述三维几何效果显示为膨胀的三维对象。
18.如权利要求17的系统,其中为了进行细化,所述曲面膨胀工具配置用于:对由封闭二维边界限定的曲面进行三角剖分,并且其中所述初始细化曲面是三角形网格。
19.如权利要求17的系统,其中为了进行细化,所述曲面膨胀工具配置用于:生成虚像顶点,从而使初始细化曲面的边界顶点的单环邻域完整。
20.如权利要求19的系统,其中为了对初始细化曲面进行膨胀,所述曲面膨胀工具配置用于:根据与虚像顶点相对应的、指定的曲面法向值来围绕边界旋转虚像顶点,其中所述旋转相应地旋转初始细化曲面的顶点,以便对初始细化曲面进行膨胀。
21.如权利要求17的系统,其中所述曲面膨胀工具配置用于:
指定经膨胀曲面上的内边界;以及
按照所述内边界以及一个或多个边界顶点处的、指定的曲面法向约束值,生成提供不同三维几何效果的新的经膨胀曲面。
22.如权利要求21的系统,其中为了生成所述新的经膨胀曲面,所述曲面膨胀工具配置用于:
展平初始经膨胀曲面;
计算内边界的2D位置;
在内边界的制约下,对曲面进行细化以生成新的细化曲面;
指定所述新的细化曲面在内边界处的一个或多个顶点处的曲面法向约束值;以及
按照一个或多个边界顶点处的、指定的曲面法向约束值以及所述新的细化曲面在内边界处的一个或多个顶点处的曲面法向约束值,来对所述新的细化曲面进行膨胀。
23.如权利要求22的系统,其中所述曲面膨胀工具还配置用于将内边界移动到其原始2D位置。
24.如权利要求21的系统,其中为了指定经膨胀曲面上的内边界,所述曲面膨胀工具配置用于:通过用户接口来接收用户输入,其中用户输入指示所显示的膨胀三维对象上的内边界。
25.如权利要求17的系统,其中为了指定初始细化曲面的一个或多个边界顶点处的曲面法向约束值,所述曲面膨胀工具配置用于:接收指示一个或多个边界顶点处的曲面法向约束值的用户输入。
26.如权利要求17的系统,其中所述曲面膨胀工具配置用于:
针对由封闭二维边界限定的曲面来指定流动方向;以及
在保持边界的同时,按照一个或多个边界顶点处的、指定的曲面法向约束值以及曲面的流动方向来对初始细化曲面进行膨胀,以生成提供三维几何效果的经膨胀曲面,其中所述三维几何效果在所述指定的流动方向上流动。
27.如权利要求17的系统,其中为了对初始细化曲面进行膨胀,所述曲面膨胀工具配置用于按照线性系统来执行所述膨胀,其中所述线性系统不需要将细化扩展到边界之外。
28.如权利要求17的系统,其中为了对初始细化曲面进行膨胀,所述曲面膨胀工具配置用于通过求解单个线性系统来执行所述膨胀。
29.如权利要求17的系统,其中所述曲面膨胀工具还配置用于:
指定初始细化曲面的一个或多个其他边界顶点处的平均曲率约束值;以及
在保持边界的同时,按照一个或多个边界顶点处的、指定的曲面法向约束值以及一个或多个其他边界顶点处的、指定的平均曲率约束值来对初始细化曲面进行膨胀,以生成经膨胀曲面。
30.如权利要求17的系统,其中所述曲面膨胀工具还配置用于指定初始细化曲面上的顶点处的像素位置约束,其中,为了对初始细化曲面进行膨胀,所述曲面膨胀工具还配置用于沿着由所述像素位置约束指示的一个或多个矢量来限制所述顶点处的膨胀。
31.如权利要求17的系统,其中所述曲面膨胀工具配置用于:
在经膨胀曲面上指定位置约束;
指定所述位置约束的平滑度值,其中所述平滑度值指示尖锐位置约束或平滑位置约束;以及
按照所述位置约束和指定的平滑度值来生成提供不同三维几何效果的新的经膨胀曲面,其中如果所述平滑度值指示尖锐位置约束,则新的经膨胀曲面满足所述位置约束,但是越过位置约束曲线而没有保持几何平滑度,并且其中如果所述平滑值指示平滑位置约束,则新的经膨胀曲面满足所述位置约束,同时越过位置约束曲线而保持平滑度。
32.一种计算机实现的方法,包括:
在计算平台上执行指令,从而使二进制数字电子信号表示:对由封闭二维边界限定的曲面进行细化,以生成初始细化曲面,其中所述初始细化曲面是由所述边界限定的;
在计算平台上执行指令,从而使二进制数字电子信号表示:指定所述初始细化曲面的一个或多个顶点处的曲面法向约束值;
在计算平台上执行指令,从而使二进制数字电子信号表示:在保持所述边界的同时,按照一个或多个边界顶点处的、指定的曲面法向约束值来对所述初始细化曲面进行膨胀,以生成提供三维几何效果的经膨胀曲面;以及
将所述边界和所述经膨胀曲面作为膨胀的三维对象存储在计算平台的存储器位置中。
33.一种系统,包括:
至少一个处理器;
显示设备;以及
包括程序指令的存储器,其中所述程序指令可由所述至少一个处理器来执行,以实现曲面膨胀工具,所述曲面膨胀工具配置用于:
对由封闭二维边界限定的曲面进行细化,以生成初始细化曲面,其中所述初始细化曲面由所述边界限定;
指定所述初始细化曲面的一个或多个边界顶点处的平均曲率约束值;
指定所述初始细化曲面上的顶点处的像素位置约束;
在保持边界的同时,按照一个或多个边界顶点处的、指定的平均曲率约束值来对所述初始细化曲面进行膨胀,以生成提供三维几何效果的经膨胀曲面,其中顶点处的膨胀沿着由所述像素位置约束指示的一个或多个矢量而受到限制;以及
在所述显示设备上将所述边界和所述三维几何效果显示为膨胀的三维对象。
34.如权利要求33的系统,其中为了进行细化,所述曲面膨胀工具配置用于:对由封闭二维边界限定的曲面进行三角剖分,并且其中初始细化曲面是三角形网格。
35.如权利要求33的系统,其中为了对初始细化曲面进行膨胀,所述曲面膨胀工具配置用于:按照线性系统来执行膨胀,其中所述线性系统不需要将细化扩展到边界之外。
CN200910138728XA 2008-03-17 2009-03-17 用于使用曲面法向约束的曲面膨胀的方法和装置 Active CN101685547B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US3724008P 2008-03-17 2008-03-17
US61/037,240 2008-03-17
US9126208P 2008-08-22 2008-08-22
US61/091,262 2008-08-22
US12/276,106 2008-11-21
US12/276,106 US8379018B2 (en) 2008-03-17 2008-11-21 Method and apparatus for surface inflation using surface normal constraints

Publications (2)

Publication Number Publication Date
CN101685547A true CN101685547A (zh) 2010-03-31
CN101685547B CN101685547B (zh) 2013-07-31

Family

ID=41062536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910138728XA Active CN101685547B (zh) 2008-03-17 2009-03-17 用于使用曲面法向约束的曲面膨胀的方法和装置

Country Status (2)

Country Link
US (2) US8379018B2 (zh)
CN (1) CN101685547B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318553A (zh) * 2014-10-15 2015-01-28 北京理工大学 基于自适应表面形变模型的ct图像肝脏分割方法
CN104375632A (zh) * 2013-08-13 2015-02-25 Lg电子株式会社 显示装置及其控制方法
CN106611442A (zh) * 2016-11-21 2017-05-03 吴怀宇 一种细节形状保持的3d处理方法及形状保持网格处理系统
CN110060625A (zh) * 2019-06-11 2019-07-26 中国科学院长春光学精密机械与物理研究所 一种led显示屏采集渐晕补偿方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8379018B2 (en) * 2008-03-17 2013-02-19 Adobe Systems Incorporated Method and apparatus for surface inflation using surface normal constraints
US8514238B2 (en) 2008-11-21 2013-08-20 Adobe Systems Incorporated System and method for adding vector textures to vector graphics images
US8610720B2 (en) 2009-04-24 2013-12-17 Adobe Systems Incorporated Decomposing an n-sided patch into multiple patches
US8766978B2 (en) * 2010-05-28 2014-07-01 Adobe Systems Incorporated Methods and apparatus for generating curved extrusions
US8847961B2 (en) * 2010-06-14 2014-09-30 Microsoft Corporation Geometry, speed, pressure, and anti-aliasing for ink rendering
US9177420B2 (en) * 2010-10-25 2015-11-03 Autodesk, Inc. Intuitive shape control for boundary patches
US10019440B2 (en) * 2011-05-27 2018-07-10 Adobe Systems Incorporated Methods and apparatus for three-dimensional (3D) sketching
US9401044B1 (en) * 2011-09-26 2016-07-26 The Research Foundation For The State University Of New York Method for conformal visualization
CN102982583A (zh) * 2012-10-30 2013-03-20 深圳市旭东数字医学影像技术有限公司 三角网格的数据拉伸方法及系统
US9569874B2 (en) * 2015-06-05 2017-02-14 International Business Machines Corporation System and method for perspective preserving stitching and summarizing views
CN105716618A (zh) * 2016-02-05 2016-06-29 哈尔滨工程大学 一种用于uuv航路规划的几何环境模型膨化处理方法
US11321904B2 (en) 2019-08-30 2022-05-03 Maxon Computer Gmbh Methods and systems for context passing between nodes in three-dimensional modeling
US11714928B2 (en) 2020-02-27 2023-08-01 Maxon Computer Gmbh Systems and methods for a self-adjusting node workspace
US11373369B2 (en) * 2020-09-02 2022-06-28 Maxon Computer Gmbh Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes
US11282277B1 (en) * 2020-09-28 2022-03-22 Adobe Inc. Systems for shading vector objects
US11631220B2 (en) * 2021-03-16 2023-04-18 Adobe Inc. Digital object surface inflation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7129947B1 (en) * 2000-07-26 2006-10-31 California Institute Of Technology Use of normal meshes in three-dimensional imaging
US7023435B1 (en) * 2000-04-12 2006-04-04 California Institute Of Technology Object surface representation and related methods and systems
US7239313B2 (en) * 2004-04-30 2007-07-03 Autodesk, Inc. System and method for diffusing curvature
US7595799B2 (en) * 2005-08-04 2009-09-29 Dassault Systemes Process for creating from a mesh an isotopologic set of parameterized surfaces
US7400323B2 (en) * 2005-08-04 2008-07-15 Dassault Systemes Process for creating a parametric surface having a required geometrical continuity
US8379018B2 (en) * 2008-03-17 2013-02-19 Adobe Systems Incorporated Method and apparatus for surface inflation using surface normal constraints

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375632A (zh) * 2013-08-13 2015-02-25 Lg电子株式会社 显示装置及其控制方法
US9852528B2 (en) 2013-08-13 2017-12-26 Lg Electronics Inc. Display device having display screen and method for controlling curvature of the display screen
CN104375632B (zh) * 2013-08-13 2018-07-20 Lg电子株式会社 显示装置及其控制方法
CN104318553A (zh) * 2014-10-15 2015-01-28 北京理工大学 基于自适应表面形变模型的ct图像肝脏分割方法
CN104318553B (zh) * 2014-10-15 2017-07-14 北京理工大学 基于自适应表面形变模型的ct图像肝脏分割方法
CN106611442A (zh) * 2016-11-21 2017-05-03 吴怀宇 一种细节形状保持的3d处理方法及形状保持网格处理系统
CN110060625A (zh) * 2019-06-11 2019-07-26 中国科学院长春光学精密机械与物理研究所 一种led显示屏采集渐晕补偿方法

Also Published As

Publication number Publication date
US8379018B2 (en) 2013-02-19
US8334868B2 (en) 2012-12-18
US20090231337A1 (en) 2009-09-17
CN101685547B (zh) 2013-07-31
US20090231338A1 (en) 2009-09-17

Similar Documents

Publication Publication Date Title
CN101685547B (zh) 用于使用曲面法向约束的曲面膨胀的方法和装置
US8711150B2 (en) Methods and apparatus for deactivating internal constraint curves when inflating an N-sided patch
Wang et al. Feature based 3D garment design through 2D sketches
MIYAZAKI et al. An origami playing simulator in the virtual space
US8731876B2 (en) Creating editable feature curves for a multi-dimensional model
Murugappan et al. Shape-It-Up: Hand gesture based creative expression of 3D shapes using intelligent generalized cylinders
US20150302624A1 (en) Pattern based design application
Mukundan Advanced methods in computer graphics: with examples in OpenGL
US8457405B2 (en) Example-based procedural synthesis of element arrangements
Jin et al. General constrained deformations based on generalized metaballs
CN1694126A (zh) 一种三维场景动态建模和实时仿真的系统及方法
Gortler Foundations of 3D computer graphics
US20170161876A1 (en) Smoothing Images Using Machine Learning
CN102903138B (zh) 一种考虑形状的二维数字角色骨架操作方法
Joshi et al. Repoussé: Automatic Inflation of 2D Artwork.
Cai et al. Wowtao: A personalized pottery-making system
Çetinaslan Position manipulation techniques for facial animation
Adzhiev et al. Augmented sculpture: Computer ghosts of physical artifacts
CN104143204A (zh) 考虑拓扑结构的移动最小二乘二维角色变形方法
McDonnell et al. Virtual clay: Haptics-based deformable solids of arbitrary topology
Zhao Research on virtual human animation based on motion capture data
Petrusevski et al. Modeling of Focal-Directorial Surfaces for Aplication in Architecture
JPS62162173A (ja) 図形表示方法
Moioli Modeling Inorganic and Organic Objects in Blender
CN107424204B (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
C14 Grant of patent or utility model
GR01 Patent grant