草绘真实的制作方法

文档序号:6569542阅读:149来源:国知局

专利名称::草绘真实的制作方法草绘真实
背景技术
:实现真实性是计算机图形学的一个主要目标,并且已经提出了范围从光与几何形状的基于物理学的建模到基于图象的绘制(IBR)的许多方法。逼真的影象已经革命性地改变了可视化过程,允许对未建造的场景进行呈现和探索。然而,尽管专业软件图形应用诸如AutoCAD等可用于创建逼真绘制的新内容,但是这些应用仍然是乏味且非常耗时的。该问题在对内容进行设计时更为恶化。二维半(2.5D)建模系统一般不便于使用且因此不适于设计的早期阶段,除非设计已经得到很好的规划。而且,2.5D建模过程需要对象创建以及向表面应用纹理的专业知识。
发明内容描述用于草绘真实(sketchingreality)的系统和方法。在一个方面,根据2-D草图标识一组向量图元。在一个实现中,2-D草图是由用户手绘的。2.5D几何模型是从向量图元自动生成的。为用户自动绘制并呈现2.5D几何模型。在一个实现中,用户提供基于2-D草图的用户输入以修改以下各项中的一或多项呈现的照明位置、照明方向、照明强度、纹理、颜色和几何形状。提供本概述是为了用简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定要求保护的主题的范围。图1示出按照一个实施例的用于草绘真实的示例系统。图2示出按照一个实现的草绘真实操作的示例概观。图3示出按照一个实施例的一组示例性草图和图象表示。图4示例性地图示了按照一个实施例的建筑设计,用于示出可按照线方向和消失点来分类线。图5示出按照一个实施例的线/与消失点甲之间的距离函数"(/,^)的示例性图示。图6示出按照一个实施例的第一组示例性线段接合点(junction)。图7示出按照一个实施例的通过输入2-D草图标识的顶点以及相应的接合点标签。图8示出按照一个实施例的一组示例性顶点面指派。图9示出按照一个实施例的四种分割形状/多边形的示例性类型。图10示出按照一个实施例的三种被遮蔽形状的示例性类型。图11示出按照一个实施例的被遮蔽形状的另一个示例。图12是按照一个实施例示出具有不是作为属于同一对象的T接合点一部分的一个公共顶点的区域的示例性图示。图13示出按照一个实施例的一组示例性的用于重建2-D草图的不明确部分的通用建筑组件。图14示出按照一个实施例用于从2-D草图产生真实感绘制(photorealisticrendering)的示例性基于草图的交互用户界面(UI)1400。图15示出图14示例性基于草图的交互用户界面,不同之处在于所呈现的示例性绘制与图14所示的真实感绘制相比为非真实感的(non-photorealistic)。图16示出按照一个实施例指定照明方向和阴影强度的示例性图示。图17示出按照一个实施例示例地指定阴影表面的边界。图18示出按照一个实施例的用于草绘真实的示例性过程。具体实施方式概观尽管在建模和绘制方面有进步,但设计者仍然偏爱通过徒手草绘来进行概念设计。草绘作为艺术媒体的吸引力在于其在表示、探测和交流几何创意方面的低开销。确实,这样的构思表示在精神与目的上根本不同于设计者最后用于呈现设计的媒体。以下将参考图1至18描述用于草绘真实的系统和方法,它为用户提供了一种从概念设计徒手绘画转移到真实感或非真实感呈现绘制的无缝方式。这与从输入的真实感图象产生非真实感绘制的常规系统和方法形成了对照。更具体地,用于草绘真实的系统和方法解释徒手画(2-D草图)以产生真实性的成象。在该实现中且为了示例性说明目的,用于草绘真实的系统和方法被应用于基于建筑的绘图。在不同的实现中,用于草绘真实的系统和方法被应用于不是基于建筑的徒手绘画。在该实现中,用于草绘真实的系统和方法响应于接收或者以其他方式获得手绘草图输入(例如2-D草图),从该草图输入生成2.5D几何模型,并且允许用户提供基于草图的输入来对2.5D模型的外观进行精制以向用户进行绘制和呈现。2.5D模型指的是一种在其中深度信息可从单个视点获得的场景表示,而3D模型具有各个视点的深度。2.5D模型可视为不完全的3D模型。例如,增加了深度信息的2D上色就成为2.5D模型。更具体地,例如,用户使用简单输入设备接口诸如电子图形输入板来绘制一建筑物。该系统和方法随后分析所绘制的线以标识接合点和2.5D平行线组集,由此产生2.5D几何模型/表示。在一个实现中,用户通过纹理选择操作(例如通过在2-D草图上绘制纹理的粗糙外表)以及照明方向指定(例如通过在表面上手绘影线)来精制所得到的2.5D几何模型的外观。在一个实现中,最终的产品是手绘草图的逼真绘制/版本,这随后可用作动画的一部分或者编辑到照片中。现在更详细地描述用于草绘真实的系统和方法的这些和其它方面。示例系统尽管不是必需的,但用于草绘真实的系统和方法是在由计算设备诸如个人计算机执行的计算机可执行指令的一般语境中描述的。程序模块一般包括例程、程序、对象、组件、数据结构等,它们执行特定的任务或者实现特定的抽象数据类型。尽管在上述语境中描述该系统和方法,但此后所述的动作和操作也可用硬件实现。图1示出按照一个实施例的用于草绘真实的示例系统。系统100包括计算设备102,例如通用计算设备、服务器、膝上型、移动计算设备等等。计算设备102包括一或多个处理器104,它们耦合到实体的计算机可读存储介质(系统存储器106)。处理器108可以是微处理器、微型计算机、微控制器、数字信号处理器等等。系统存储器106包括例如易失性随机存取存储器(例如RAM)和非易失性只读存储器(例如ROM、闪存等)。系统存储器106包括能由处理器104执行的计算机程序指令以及由这些计算机程序指令中相应的一些产生和/或使用的程序数据。这些计算机程序指令以及程序数据分别示为程序模块108和程序数据110。程序模块108包括例如草绘真实模块112和"其它程序模块"114,如用于提供运行时环境的操作系统(OS)以及包括诸如设备驱动程序等的其它应用。草绘真实模块112自动从一或多个对象的手绘2-D草图118生成2K维(2.5D)几何模型116,从而基于2.5D几何模型116和一或多个用户输入向用户呈现基于草图的真实感或非真实感绘制。在一个实现中,2-D草图118表示建筑设计。非真实感图象是看来像是通过手、水彩画、笔墨图、油画等等制作出来的图象(或动画)。草绘真实模块112在用户界面(UI)中向用户呈现绘制结果120。为了示例说明,这样的用户界面被示为"其它程序数据"122的相应部分(也请参考下述图14和15)。用户与UI交互,例如通过在输入设备124(例如图形板等)上重新绘制或者以其他方式修改2-D草图118来更新2.5D模型的几何形状。另外,用户可经由UI向2-D草图118添加可视提示(用户输入)以交互地控制绘制120的照明(位置、方向和强度)以及纹理,以及指定与绘制120相关联的材质色化处理等。响应于2.5D模型116的创建以及用于指定照明、纹理、颜色和/或其它参数的基于草图的用户交互,草绘真实模块112基于2.5D模型116和用户输入绘制真实感或非真实感结果120。图2示出按照一个实现的草绘真实模块112操作的示例性概观。如所示的且在该实现中,草绘真实模块112的操作包括四个不同阶段(l)输入阶段,(2)几何模型重建阶段,(3)对外观的交互精制阶段以及(4)输出/呈现阶段。在输入阶段,草绘真实模块112获得手绘2-D草图118。在一个实现中,草绘真实模块112包括允许用户直接使用输入设备124(例如电子图形输入板等)绘制2-D输入草图118以供在显示设备126上的UI122中呈现的逻辑。在一个实现中,显示设备126包括触摸屏,它允许用户直接在显示设备126上绘制2-D输入草图118。在另一个实现中,草绘真实模块112从数据存储(例如程序数据110的相应部分)、输入设备124(例如扫描仪、远程存储等)等等加载输入的草图118,以供在显示设备126上向用户呈现。在一个实现中,使用不同的应用(示为"其它程序模块"114的相应部分)来产生2-D输入草图118。参考图2,在第二阶段,或即几何模型重建阶段,草绘真实模块112通过估算输入2-D草图118的线中相应一些并将它们解释为通过透视看到的结构的边来产生2.5D几何形状116。在第三阶段,或即对外观进行交互精制阶段,用户指定纹理、照明方向、颜色等中的一或多项。在第四阶段,或即输出阶段,草绘真实模块112从2.5D模型116按照用户输入产生绘制以通过显示设备126向用户呈现基于草图的绘制结果120。图3示出按照一个实施例的草图和图象表示的示例集合。具体地,(a)表示示例2-D输入草图118;(b)表示示例输入草图的示例2.5D模型表示116;(c)表示在用户指定了纹理和照明指派之后示例2.5D模型116的示例外观;以及(d)表示最终的基于草图的示例性绘制结果120(照片合成)。2-D草图118是由一组向量线或曲线组成的草图。示例性几何模型重建在该实现中,草绘真实模块112的几何模型重建操作通过分析输入的2-D草图118标识(在3-D中)相互垂直线的组集、消失点以及照相机固有参数。接着,草绘真实模块112标识与所标识的线段中每一顶点相关联的接合点类型,并且将各顶点的有序集合与2.5D模型116的每个阶段相关联。这些操作之后是估计这些顶点的3-D位置,至此就标识了2.5D模型116的几何形状。标识向量图元草绘真实模块112标识与2-D输入草图118相关联的向量图元(例如点和线)。这些向量图元示为"其它程序数据"122的相应部分。由于所标识的线可能不是笔直的(例如弯弯曲曲或者非直线型的手绘线),草绘真实模块112向量化所标识的线以产生笔直的线和相应的向量数据。表1示出通过从手绘2-D草图118向量化(即生成线向量)线段来产生示例性数据集合。<table>tableseeoriginaldocumentpage10</column></row><table>〃表1结束在表l的示例中,草绘真实模块112确定2-D草图118包括20条线。在一个实现中,使用最小平方法来拟合笔直线并且使用立方贝塞尔曲线来拟合曲线。对于手绘线或曲线,线向量/曲线用两个端点A、B来产生。在该实现中,线段可以表示直线或曲线。草绘真实模块112从所标识的向量图元生成图结构G-(F^),其中r是线的所有端点集合而£是线的集合。图结构示为"其它程序数据"122的相应部分。图结构指示所标识的点中相应的一些与笔直化线(即向量图元)之间的空间关系。rW,^0…"v是草图118的所有点的集合。此外,叫},/=0...",是草图118中所有线的集合,其中/,的两个端点在V中。草绘真实模块112使用图结构来将线分类为左、右或竖向并且标识线段消失点。这些分类和消失点随后用于标识线段端点接合点/交叉类型的集合。使用所标识的线段、所标识的线段接合点类型和所述的线连通性概率准则,草绘真实模块112如下所述将所标识的线段中相应的一些映射成2.5D模型116的相应表面/多边形。线分析大多数建筑草图是由在3-D空间中相互正交的线组成左、右或竖向(分别为X、Y和Z)。用于草绘真实的系统100利用该特性来确定线的组集,通过该线的组集估计消失点(vps)。图4示例性例示按照一个实施例的建筑设计,它用于说明可按照线方向和消失点分类线。在图4的示例中,2-D草图包括两个消失点左消失点和右消失点。在另一个实现中,2-D草图可包括一个消失点或三个消失点。当设计师绘制2-D草图118时,建筑师可选择一、二或三个消失点。如果在2-D草图中仅存在一个与大多数线相关联的交叉,则仅存在一个消失点。在该情形中,经过该消失点的线对应于在与2-D草图相关联的世界坐标系统中的Y方向。K=0的线对应于世界坐标系统中X方向的竖向线(k是线的斜率,k:0指示水平线,而k:oo指示竖向线)。K二oo的线对应世界坐标中Y方向的水平线。为构建几何模型116,草绘真实模块如下为2-D草图118中每一对线确定假设的消失点Vp,并且聚集所有其它线的拟合。给定线/和假设的消失点^,草绘真实模块112按照以下公式计算拟合的度量g(/,^):-d(/^)/7;(1)其中"(",)是2-D草图118中线/与消失点Vp之间的距离(力函数,r。是该距离的阈限(例如敏感度参数)。在该实现中,阈限设为0.35。在不同的实现中,该阈限可设置为不同的值。图5例示按照一个实施例的线/与消失点之间距离函数"(/,Vp)。参考图5,(a)表示无限消失点,并且示出示例距离是线段/与无限消失点的方向之间的角度"。参考图5(b),示出了有限消失点,其中距离为线段/的中点与有限消失点之间的角度"。如果消失点是有限的角度(/,r(Vp))。如果消失点是无限的角度(/,/(Vp,中点))。接合点识别图6示出按照一个实施例的线段接合点的第一示例集合600。在该实现中,接合点类型是Y、T、L、E和X型接合点。在不同的实现中,可使用不同的接合点类型。接合点是二或多条线之间的交叉点。一旦2-D草图118的线已经按确定的对应消失点分组,则草绘真实模块112就确定每个顶点处的接合点类型,并将2.5D模型116的每一个面与顶点的有序列表相关联。为确定共用顶点的相应接合点类型,草绘真实模块112基于线段交叉的角度以及交叉线的数量来确定接合点分类。Y型接合点表示三个可见表面相交的公共顶点。T型接合点发生在一个表面被另一表面遮蔽时,或者在其表面之上本身存在分割线时。L型接合点是面的一个角,而E型接合点发生在两个可见面沿一条公共线汇合。更一般地,X型接合点是若干面汇合于一个公共顶点的结果。图7示出按照一个实施例的通过输入2-D草图118标识的顶点以及相应的接合点标签。在本例中,一组共用顶点和相应的接合点(Y、T、L、E和X)画上了圆圈并且加了标签。一旦已经确定了与线方向相关联的接合点类型和消失点,则草绘真实模块112通过关联每一个面的顶点的有序列表来确定2.5D模型116的拓扑结构。图G-(V,E)表示该拓扑结构,它编码线E与顶点V之间的连接信息。草绘真实模块112将来自面的单个任意顶点中的顶点(这些面包含该顶点)指派给其它顶点(它们是这些面的一部分),并依次类推。当检查具有顶点r的面F以确定其边界线时,候选线是连接到顶点r的那些线。在一个实现中,使用贪心算法来选择具有作为该面的边的最大可能性的线。在几何上,同一面的线不可能对应于与三个正交方向相关联的三个消失点。例如,假设当前面具有A条有序线/。,…,/w,并且4是候选线。还假设该面由关联于两个消失点和v"的线作为边界。定义F是有效面的可能性为项P(v》描述消失点v,与F—致的可能性,即P("^maXig((,Vp),其中g()在(l)中定义。项P(C。,v》是线/,对应于F的消失点的可能性的度量,并且被定义为P((,v戸,v坤)=larger(g(/,,"。),g(/,,v一)),其中larger()返回两个输入参数的较大者。给出三个消失点Vp。、V和Vp2,草绘真实模块112选择生成M^有效l/。,…,4,v—"6)的最大值的消失点对作为面F的消失点。如果最大的示例性地将有序顶点指派给面MF有效I/。,…A,;,V)=K、。)P(Vh1n刃',户(F有效K,…,C。,"J较小,则考虑面不是有效的;在此情形中,在当前顶点处终止传播。图8示出按照一个实施例的顶点面指派的顶点的示例集合。从任意一个顶点开始,在此例中为图8(a)的H),草绘真实模块112按照接合点的局部特征指派新的面。由于此例的起始顶点对应于Y接合点,因此有了三个新的面(具有最初指派的顶点)F0:F1—F0—K3,Fl:F4—K0-F1禾口:74—F0—F3,如图8(b)所示。草绘真实模块112沿每个面的边遍历以获得封闭的形状。例如,参考图8(b)的面F0,并从73开始,存在两条候选线r2禾B73-F6。草绘真实模块112选择因为它封闭了的环。该环因而为ri-ro-r3-F2-n,如图8(c)所示。参考面Fl并从W开始,草绘真实模块112向F7和K8前进。然而,传播结束因为r8-F9与该面不一致,如图8(d)所示。因此,草绘真实模块112代之以从另一端传播至r4,然后至K5。由于K4-"是被遮蔽的线("是T型接合点),因此传播再次终止。在此例中,以不完整的环结束r5-74-ro-n-F7-F8,如图8(e)所示。参考面F2,通过直接遍历,草绘真实模块112确定顶点K4-H)-F4。在该点处且在此例中,草绘真实模块112进行至作为至少一个未指派面的一部分的另一顶点以重复上述顶点指派操作。最后,得到了在图8中被指派了相应顶点的每个面的结果,如图8(f)所示。形状分割或完成由T型接合点引起的不完整区域可由现有形状上的一或多个条分割线或被遮蔽的平面所致。图9示出按照一个实施例的四种示例性的分割形状/多边形。当生成2-D草图118时,建筑师一般在现有平面上画线以将其分成若干区域。分割线不被分类为任何区域的边界。下图示出分割线的一些情形。在该例中,画有圆圈的端点表示关键接合点。在这些示例中,XY(左、右)线包含在一个完整的形状中。因此草绘真实模块112将完整的形状分割成包含在完整形状内的若干子形状。这些结果符合图9中所示的分割形状的四种类型之一。对于从左向右的线段,使用下列一组形状分割准则(或分割形状完成准则)*参考图9,区域(a)或即图9(a),存在四个接合点具有四个T型接合点的两条交叉线;在四边形的每条边上的每个接合点。因此四边形被分割成四个四边形。,参考图9(b),两个接合点在四边形的对边上;四边形被分割成两个四边形。*参考图9(C),两个T型接合点在同一条线上;四边形被分割成大小两块。*参考图9((1),两个接合点在两条连接线上。四边形被分割成大小两块。图IO示出按照一个实施例的三种示例性被遮蔽的形状。在这些示例中,画有圆圈的端点表示T型接合点。在被遮蔽的形状中,接合点的WXZ线(左、右、竖方向)是该形状的被遮蔽线。草绘真实模块112添加新的线段考虑一组被遮蔽形状完成准则用平行与垂直约束来完成该形状。更具体地且在该实现中,为创建正确的形状,草绘真实模块112在T型接合点数据库中定位最佳匹配。参考图10(a),一个接合点的XW与另一个接合点的ZX相同。在该情形中,草绘真实模块112添加与每个接合点的X点连接线平行的线,并且选择一条边以形成较大的形状。参考图10(b),在此情形中一个接合点的XW不同于其它接合点的ZX,草绘真实模块112扩展每个接合点的YX方向;交叉是该形状的被添加的顶点。参考图10(c),这里仅有一个T型接合点。在该情形中,草绘真实模块112定位与XY平行的最后一条线以完成该线的X和端点之间的形状,如上参考图10(a)所述。图IO示出按照一个实施例的一组示例性的附加线(虚线),草绘真实的系统和方法使用这些线来完成一或多个相应的被遮蔽形状。图11示出按照一个实施例的被遮蔽形状的另一个示例。图ll(a)示出关联于T型接合点和Y型接合点顶点的被遮蔽形状。图ll(b)示出关联于具有两个T型接合点的顶点的被遮蔽形状。图11的最后两个示例是特殊的,因为T型接合点的两条底线是平行的并且找不到交叉点。在此情形中,草绘真实模块112检查不完整的面是否包含在另一个面中,如上在分割形状情形中所述,用于简单地连接两个T型接合点(图ll(c))。否则,草绘真实模块112尝试找出要连接的一个不同的面,如图ll(d)所示。随着草绘真实模块112定位表示2.5D模型116表面的封闭形状,草绘真实模块112估计这些形状之间的关系以确定一或多个小形状是否被包含在一个较大的形状中。从封闭形状形成的顺序和所确定的形状包含关系,草绘真实模块112确定这些形状的一般位置使得第一个被完成的形状在2.5D模型116的最顶层,而最后被完成的形状在2.5D模型116的最底层。如果一或多个形状被另一个形状封入,则被封入的形状是该形状(父形状)的子形状。草绘真实模块112使用这样的父子关系来确定纹理映射操作的顺序。包含在另一区域内的区域在与该另一区域相同的平面上。因而,草绘真实模块112将具有包含关系的区域分组到同一表面。每一表面由不同深度的若干层组成。具有最低深度的层在表面的底层而具有最高深度的层在顶层。在该情形中,在每一层上存在若干相似类型的区域。几何形状构建(2.5D坐标计算)图12例示了示出按照一个实施例的具有作为不是属于同一对象的T型接合点一部分的一个公共顶点的区域。在图12的示例中,草绘真实模块112标识来自2-D草图118的两个对象(即,1202和1204)。在该实现中,为从2-D草图118恢复对象的几何形状,草绘真实模块112计算顶点之间的相对位置。现在因为知道照相机固有参数、线分组(针对正交约束)以及面和顶点标签,这就有可能了。给出两个毗邻的顶点K和K(分别具有3D位置q,和q2)和对应于线q,q2的消失点(Vp(-(,力)T),则存在约束q!-q2=sgn(n2z)~-rr/、ii(Wp,/),其中/是预计算的焦距,仏是q的z分量,^(q)是3D点q到图象平面的投影,上标"T"表示向量转置。符号函数sgn(x)在:O0时为正,否则为负。如果消失点无穷远,则约束可修改为如下q广q2:sgn(^—~^-y-H、,3v0)。草绘真实模块112设置一任意顶点为参考3D点(0,0,/y,随后可使用上述公式将其位置传播至其它顶点。存在一条线不对应于任何已知消失点(并且因此具有未知的方向)的可能性。因此,无法计算这类线的顶点的坐标。为处理该问题,草绘真实模块112使用通用建筑组件的模型库,并且用最佳匹配的模型重建建筑绘画118的任何不明确部分。每一模型作为一个如上所述加有标签的图G-(「^来提供。每一顶点的标签是以接合点类型和到该顶点的边之间的关系为基础的。图13示出按照一个实施例用于重建2-D草图118的不明确部分的一组示例性的通用建筑组件。如图13所示且在该实现中,顶点标签(1-11)是以接合点类型为基础的。沿三个已知方向之一的线与较暗的未知线相比较亮。草绘真实模块112使用已知的随机行走过程调整图匹配算法来匹配加有标签的图。从一个节点跟随一条给定弧的可能性定义为,(^,^)=#,*、。从顶点《跳至顶点^的可能性定义为力(、,、)=丄"基于草图的真实感绘制图14示出按照一个实施例的示例性基于草图的交互用户界面(UI)1400,用于从2-D草图生成真实感绘制。在该实现中,UI1400表示图1的UI122。在一个实现中,草绘真实模块112在显示设备126上呈现具有UI1400的用户界面以供用户在草图窗口中编辑2-D草图118。该编辑指定例如基于草图的最终绘制结果120(例如在绘制结果窗口中所示的)所需的照明、纹理、颜色等。图15示出图14的示例性基于草图的交互用户界面1400,不同之处在于绘制120与图14的真实感绘制120相比是非真实感的。现在更详细地描述UI1400的这些和其它方面。UI1400为用户提供基于草图的交互绘制能力以获得纹理、视点和照明条件等等。在该实现中,用户编辑2-D草图118,并且响应于这些用户编辑,草绘真实模块112向用户绘制并呈现基于草图的绘制结果120。例如,在该实现中,用户可以在2-D草图118上绘制影线以指示照明、纹理等等。在该实现中,用户还可以直接从纹理库中选择纹理。在一个实现中,用户还可以使用刷子调整建筑的颜色。示例性地指定照明方向在一个实现中,用户使用影线编辑工具1402以在2-D草图118上绘制一或多笔影线。用户在草图上绘制的影线可代表照明或纹理。对于照明,一或多笔用户提供的影线指示要在基于草图的绘制结果120中绘制的明暗处理或阴影的位置与角度。为了示例说明,这些影线笔画/输入示为图1的"其它程序数据"的相应部分。根据这样的影线输入,草绘真实模块112确定2.5D模型116的光源参数。这些光源参数包括例如位置、方向和强度。方向、位置和强度从影线的位置与强度推出。响应于接收到这样的影线输入,草绘真实模块112根据基于草图的绘制结构120中所确定的光源参数呈现所指示的明暗处理/阴影角度。图16示出按照一个实施例的指定照明方向和阴影强度的示例图示。参考图16,(a)是一个方块的风格绘制,它示出来自左方的照明方向。图16(b)示出一个示例性2.5D模型116,其中用户在各个面上提供具有各自不同强度的影线笔画以指定照明方向("L")和阴影强度。在该例中,"nl"和"n2"指相应面的法线。在建筑中,光源通常是太阳。因此光线是平行的。假设表面大部分为兰博特投影(Lambertian),则在方向性光之下的表面强度为其中、是表面的反射系数,/,是光源的强度,而e是表面法线与光照方向之间的角度。给定太阳作为光源,则^在平坦表面任何地方为常数。因此,强度在平坦表面各处是均匀的(在一个实现中,忽略内反射)。通过该简化并且在一个实现中,草绘真实模块112基于不同表面处的相对强度解释光方向。例如,假设光源方向是Z(H/3),其中|网=1。那么,对于每一表面,具有以下约束<formula>formulaseeoriginaldocumentpage17</formula>其中y是表面/的法线而/,是根据用户绘制的影线计算出的表面z'的相对强度。这里,使用表面上影线区域的平均强度来定义/,。草绘真实模块112假设/,和&对于整个对象(2.5D模型116的一或多个相应部分)为常数,使得、/,=1。给定的草绘U8有可能不准确,则在一个实现中,草绘真实模块112如下为每一明暗处理表面设置约束其中4和4为^,和A的平均强度,如图17所示。图17示出按照一个实施例示例性地指定明暗处理表面的边界。在此例中,化",是覆盖所有影线的边界框,而^是化",一半尺寸的中心框。草绘真实模块112使用与带影线表面的数量对应的约束数量。为了找出光照方向的唯一解,草绘真实模块112最优化项Zm,Z,其中Mj是没有被用户加阴影的表面。换言之,找出最大化不具有阴影的表面的强度同时又满足带阴影表面的约束的解。示例性纹理选择在一个实现中,用户使用纹理编辑工具1402来为2.5D模型116的封闭区域绘制或选择纹理。例如,在一个实现中,用户直接在2-D草图118或2.5D模型116上绘制影线笔画来指示在对象上的纹理是什么样的(例如直接绘制所需纹理的相似形状)。根据这些用户输入,草绘真实模块112自动为对象选择正确的纹理。在一个实现中,草绘真实模块112将用户输入与所存储的纹理的绘画或对其的索引相匹配来检索最佳纹理匹配。在一个实现中,草绘真实模块112在UI1400上呈现对应于用户输入的一或多个可能的纹理供用户选择。该纹理提供与用户在纹理数据库中搜索对象的纹理无关,而是以对线相似性的客观度量为基础。线相似性在纹理分析中用于描述纹理元素的形状。在纹理库中笔画和索引行绘画两者都是由线组成的黑白图象,因此在匹配期间仅考虑形状,这通过线相似性得到很好的描述。线相似性是基于其元素ao',力被定义为在图象上沿边方向距离为"的两个灰度值/和y的相对频率的方向同现矩阵来计算的。对于一个方向",线相似性度量被定义为<formula>formulaseeoriginaldocumentpage18</formula>其中"是0与255之间的灰度级数。在一个实现中,草绘真实模块112使用四个方向(l,O)、(O,l)、(1,1)、(l,-l)来计算方向同现矩阵a并且计算四个方向的平均值&作为用户绘制笔画与纹理索引行绘画之间的相似性度量。在计算出匹配的纹理索引之后,系统检索相容的纹理。用户随后可选择这些纹理中的任一纹理。每一纹理具有相对比例的概念,因此一旦已经选择全局比例,所选纹理就被适当地按比例縮放并合成以覆盖表面(不是被拉长来拟合)。在一个实现中,对该规则的例外是窗和门——其中,重新按比例縮放纹理来映射到整个表面。在一个实现中,"其它程序数据"122包括基于纹理符号索引的纹理库。用户在2-D草图118上绘制纹理符号。草绘真实模块112将所绘制的纹理符号与纹理符号索引中的一或多个符号相匹配以标识相应的纹理,从库中检索该纹理来对对象或多边形加纹理。表示不同材质的标准建筑符号是已知的。在一个实现中,草绘真实模块112使用这些符号来索引纹理库。在绘制结果120中图示检索到的纹理时,草绘真实模块112将检索到的纹理映射到2.5D对象116的相应表面。在一个实现中,并且由于不同的纹理样本尺寸,草绘真实模块112在表面上合成纹理。在另一个实现中,当向窗、门等提供纹理时,纹理直接被映射到目标四边形。色化处理UI1400提供颜色选择控件1404,让用户改变关联于2-D草图118的所选对象的颜色。在一个实现中,草绘真实模块112以一组颜色样品、由用户直接进行RGB值输入的文本输入控件等等形式向用户呈现颜色选择控件1404。在一个实现中,在用户选择颜色之后,UI1400允许用户在2-D草图118上绘制一或多个斑点来修改2.5D模型116的关联表面的颜色。几何形状更新UI1400允许用户修改2-D草图118的几何形状,例如通过添加线、删除线、调整尺寸、修改角度等等。执行这些编辑的技术是已知的。响应于用户对2-D草图118的修改,草绘真实模块112更新2.5D几何模型116以对应2-D草图118的修改。示例性过程图18示出按照一个实施例的用于草绘真实的示例性过程1800。为了示例说明,参考上述有关图1至17的方面描述过程1800的操作。在一个实现中,过程1800的操作是由草绘真实模块112实现的。框1800的操作是标识来自2-D草图的一组线段。在一个实现中,线段表示来自2-D草图118的向量图元。框1804的操作向量化这些线段以产生笔直线。为了示例说明,向量化的线在下文称为线段或线。对于每一线段,框1806的操作估计相应的消失点并且基于线段的对应消失点分类每一线段的方向。框1808的操作基于线方向和消失点将这些线段分组成多个多边形中对应的一些多边形的对应线段。框1810的操作使用封闭多边形构建2.5D模型的几何形状。在一个实现中,2.5D模型是由2.5D模型116表示的。框1812的操作接收对应于照明、纹理、颜色和几何形状修改中的一或多项的用户输入。框1814的操作响应于对用户输入的接收,基于该用户输入从2.5D模型绘制真实感和非真实感的结果。框1816的操作向用户呈现绘制结果。在一个实现中,绘制结果是基于草图的绘制结果120。结论尽管参考图1至18以专用于结构特征和/或方法学操作或动作的语言描述了草绘真实,但要理解的是,在所附权利要求书中定义的实现不必受限于所述的这些特征或动作。相反,上述这些特定特征和操作是作为实现所附权利要求的示例性形式揭示的。权利要求1.一种至少部分地由计算设备实现的方法,所述方法包括从2-D草图标识一组向量图元;以及自动从所述向量图元生成2.5D几何模型;以及绘制所述2.5D几何模型用于向用户呈现。2.如权利要求1所述的方法,其特征在于,所述向量图元包括线段集合与曲线集合中的一或多项。3.如权利要求l所述的方法,其特征在于,所述2-D草图是手绘的。4.如权利要求l所述的方法,其特征在于,所述自动生成2.5D几何模型还包括,从所述向量图元中相应的一些向量图元生成相应的线向量,以从所述向量图元的相应的一些向量图元中移除非线性的方面。5.如权利要求l所述的方法,其特征在于,实时自动生成2.5D几何模型还包括估计所述向量图元的至少一个子集的相应消失点;以及其中所述2.5D几何模型的相应面是以根据相关联的消失点的所述向量图元中的相应一些向量图元为基础的。6.如权利要求l所述的方法,其特征在于,所述自动生成2.5D几何模型还包括将所述线段中相应的一些线段指派给所述2.5D模型的多边形。7.如权利要求l所述的方法,其特征在于,绘制还包括将所述2.5D几何模型绘制为真实感图像。8.如权利要求l所述的方法,其特征在于,绘制还包括将所述2.5D几何模型绘制为非真实感图像。9.如权利要求l所述的方法,其特征在于,所述方法还包括接收对应于所述2.5D几何模型的照明、纹理、颜色和几何形状修改中的一或多项的用户输入;以及响应于对所述用户输入的接收,用基于所述用户输入的特性来绘制所述2.5D几何模型。10.如权利要求9所述的方法,其特征在于,所述用户输入是用于指定光照位置、方向和强度的用户手绘影线笔画。11.如权利要求9所述的方法,其特征在于,所述用户输入是用于指定纹理的用户手绘影线笔画。12.如权利要求9所述的方法,其特征在于,所述用户输入是纹理符号,并且其中所述方法还包括在符号索引的纹理库中搜索相应于所述纹理符号的纹理;以及用所述纹理绘制所述2.5D几何模型的区域,所述区域是通过用户放置所述纹理符号来标识的。13.—种包含能由处理器执行的计算机程序指令的实体计算机可读存储介质,所述计算机程序指令在由所述处理器执行时完成下列操作自动从手绘2-D草图的向量图元构建2.5D几何模型的对象;以及自动生成所述2.5D几何模型的绘制用于向用户呈现,所述绘制是根据指定用于所述绘制的纹理、照明和颜色中的一或多项的基于2-D草图的用户输入来呈现的。14.如权利要求13所述的计算机可读存储介质,其特征在于,所述基于2-D草图的用户输入包括用户在所述2-D草图上手绘的影线。15.如权利要求13所述的计算机可读存储介质,其特征在于,所述对应于照明的基于2-D草图的用户输入指定光照位置、方向和强度。16.如权利要求13所述的计算机可读存储介质,其特征在于,所述用于自动构建所述2.5D几何模型的计算机程序指令包括执行以下操作的计算机程序指令估计所述2-D草图中的消失点以按照相应的方向分类所述向量图元;基于所述相应的方向,将多种接合点类型的相应接合点类型指派给关联于所述向量图元的每一共用端点;以及基于所述向量图元中相应的一些向量图元的每一个将会形成所述2.5D几何模型的封闭区域的相应可能性,选择所述相应的一些向量图元作为定义对象的相应表面的连接线。17.如权利要求13所述的计算机可读存储介质,其特征在于,所述用于自动构建所述2.5D几何模型的对象的计算机程序指令包括用于执行以下操作的计算机程序指令对于所述2.5D几何模型的不能封闭的一或多个区域,按照一组被遮蔽的形状完成准则来完成所述一或多个区域。18.如权利要求13所述的计算机可读存储介质,其特征在于,所述用于自动构建所述2.5D几何模型的对象的计算机程序指令包括执行以下操作的计算机程序指令对于所述2.5D几何模型的不能封闭的一或多个区域,按照一组形状分割完成准则来完成所述一或多个区域。19.一种计算设备,包括处理器;以及耦合到所述处理器的存储器,所述存储器包含可由所述处理器执行的计算机程序指令,所述计算机程序指令当被所述处理器执行时完成以下操作响应于用户在输入设备上绘制2-D草图,接收一组向量图元;响应于对所述向量图元的接收-向量化所述向量图元以产生一组定义多个线段的向量数据;估计所述线段的特性以将所述线段中的相应一些线段指派给2.5D模型的表面;向用户呈现所述2.5D模型的绘制;接收相应于所述2-D草图的一或多个区域的用户输入;以及响应于对所述用户输入的接收,呈现所述绘制以图示基于所述用户输入的照明位置、照明方向、照明强度、纹理和颜色中的一或多项。20.如权利要求19所述的计算设备,其特征在于,所述绘制是真实感绘制。全文摘要描述用于草绘真实的系统和方法。在一个方面,根据2-D草图标识一组向量图元。在一个实现中,2-D草图是由用户手绘的。2.5D几何模型是从向量图元自动生成的。2.5D几何模型是自动绘制并向用户呈现的。在一个实现中,用户提供基于2-D草图的用户输入来修改呈现的照明位置、照明方向、照明强度、纹理、颜色和几何形状中的一或多项。文档编号G06T15/50GK101300602SQ200680041086公开日2008年11月5日申请日期2006年11月1日优先权日2005年11月1日发明者H-Y·孙,S·B·康,X·陈,徐迎庆申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1