首页> 中国专利> 用于实时渲染的依赖于连接性的几何学优化

用于实时渲染的依赖于连接性的几何学优化

摘要

公开了一种计算机实现的用于显现/渲染计算机模型的方法,所述计算机模型包括多个组件,其中所述方法包括:存储所述多个组件的至少一个的多个部件,每个部件包括用于显现/渲染该部件的几何学信息;存储指示多个组件在坐标系中的位置和方向的信息;确定各个组件之间的空间关系;基于所确定的各个组件之间的空间关系,对于至少一个组件确定多个存储的部件,以用于显现/渲染所述组件。通过使用组件之间的空间关系来确定多个部件以用于显现/渲染组件,可以使用有关各个组件的几何学以及组件与其他组件的连接的知识来找到可以移除的隐藏部件。

著录项

  • 公开/公告号CN102782728A

    专利类型发明专利

  • 公开/公告日2012-11-14

    原文格式PDF

  • 申请/专利权人 乐高公司;

    申请/专利号CN201080054911.2

  • 申请日2010-09-10

  • 分类号G06T15/40;G06T17/10;G06T19/00;

  • 代理机构北京市柳沈律师事务所;

  • 代理人于小宁

  • 地址 丹麦比隆

  • 入库时间 2023-12-18 07:21:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-23

    授权

    授权

  • 2013-01-02

    实质审查的生效 IPC(主分类):G06T15/40 申请日:20100910

    实质审查的生效

  • 2012-11-14

    公开

    公开

说明书

技术领域

本发明涉及一种用于显现/渲染(visualising/rendering)计算机模型的方 法。具体的,本发明涉及一种用于显现/渲染计算机模型的高效计算方法。

背景技术

3D计算机图形学在诸如计算机辅助设计(CAD)和计算机游戏的广泛的 领域中使用。3D计算机图形学可以用于生成3D模型的透视图。这可以在设 计过程中使用(CAD中通常就是这样)或者为了娱乐的目的而使用(计算机 游戏中通常就是这样)。面对3D计算机图形学的一个普遍问题是需要大的计 算资源。这对于实时3D计算机图形学来说尤其是一个问题,因为缺少计算 资源将导致降低的帧速率以及相应降低的用户体验。

对于计算的密集研究已经与计算机模型的复杂度的类似增加相匹配。对 于其中设计较大结构的CAD和其中增加的细节水平导致更加复杂的模型的 计算机游戏均是如此。用3D计算机图形学表现的公共对象组是复合产品。 复合产品是包括多个更小的物理组件的产品。

包括大量组件的复合产品的示例包括大型机械、汽车、飞机和其他交通 工具、建筑物、以及未装配地销售和运输的产品,例如家具、玩具模型等。 包括大量更小组件的产品的具体示例包括玩具构造套件(sets),其包括多个 可互相连接的玩具构造元件。

存在玩具构造套件的各种已知种类的制作模型的概念。特别的,积木式 或半积木式概念非常流行,因为它们提供有趣并且有挑战的玩耍体验。典型 的,这些概念提供一组预先制造的建造元件,它们能够借助于预先制造的元 件的连接元件或其他耦接部件以某些预定方式相互连接。预先制造的建造元 件可以类似于适用于特定制作模型任务的公知对象。因此在例如建造房屋的 模型中,建造元件可以类似于墙砖、瓦、门和窗户。以这种方式选择建造元 件的优点是玩耍被放入到系统中,并且与其中每次要制作新模型时房屋的所 有细节都要被定义的情形相比,建造房屋的模型所涉及的工作显著减少。但 是,为了建造模型的简单性,以建造房屋或其他对象的完全自由度作为折中。

例如,可从品牌LEGO下获得的玩具构造套件包括具有突起和相应的凹 孔作为连接元件的多个不同种类的可互相连接的建造元件。连接元件根据规 则的网格图案来布置,由此允许在建造元件之间的各种连接。

减少显现/渲染计算机模型所需的计算负荷的已知方法是遮挡剔除 (occlusion culling)。遮挡剔除通过从给定的观看透视中找到隐藏的面来工 作。然而,已知的遮挡剔除算法较慢并且在每次视点改变时都需要运行。这 对于计算机辅助设计和计算机游戏尤其是一个问题,因为这些应用中的视点 典型地经常改变,导致由于遮挡剔除算法造成的大计算负荷。

因此以高效计算方式显现/渲染复合产品仍然是一个问题。

发明内容

本发明的第一方面涉及计算机实现的用于显现/渲染计算机模型的方法, 所述计算机模型包括多个组件,其中所述方法包括:

存储所述多个组件的至少一个的多个部件,每个部件包括用于显现/渲染 该部件的几何学信息,

存储指示多个组件在坐标系中的位置和方向的信息,

基于所存储的指示多个组件的相应位置和方向的信息来确定组件中各个 组件之间的空间关系,

基于所确定的各个组件之间的空间关系,对于至少一个组件确定多个存 储的部件,以用于显现/渲染所述组件。

计算机模型可以表示任何对象,诸如例如玩具模型的复合产品或者可替 换地例如数字特征的非复合产品。计算机模型可以具有任何维度,例如二维 或三维。计算机模型还可以是随时间而存在动画的。计算机模型的动画可以 涉及整个模型或模型的所选组件。组件可以是模型的任何子组,例如当计算 机模型表示由玩具构造元件建造的玩具模型时的玩具构造元件或者可选的玩 具构造元件的一组面。部件可以是组件的任何子组,例如玩具构造元件上的 突起圆柱形或者可选的突起圆柱形的一组面。

在一个实施例中,子组是适当的子组意味着组件不能是整个模型,并且 部件不能是整个组件。

在一个实施例中,子组不限于适当的子组意味着组件可以是整个模型, 并且部件可以是整个组件。

部件可以包含几何学信息,定义组件的几何学。几何学信息可以以任何 形式存储,诸如多边形网格、NURBS面或Patch面。部件还可以包括部件的 材料性质,例如纹理性质、反射性质、折射性质、透明度设置和阴影性质。

指示组件的位置和方向的信息可以是组件在任何局部或全局坐标系中的 位置和方向,或者描述它们相对于另一模型、组件、部件等的关系的信息, 例如如WO04034333中所公开的。

用于显现/渲染组件的部件的数目可以是任何数目,包括当组件的所有部 件都被使用和没有部件被使用时的特殊情况。

显现/渲染计算机模型的结果可以是创建一个图像或一系列图像。一个或 多个图像可以是2维的。一个或多个图像可以被直接显示在屏幕上和/或保存 在数字文件中。

通过将组件子划分为多个部件并使用组件之间的空间关系来确定多个部 件以用于显现/渲染组件,可以使用有关各个组件的几何学以及组件与其他组 件的连接的知识来找到可以移除的隐藏部件,而对模型没有视觉影响。

这使得可以找到隐藏部件而不用使用计算复杂的光线跟踪算法,由此使 得方法适于实时使用。通过使用各个组件之间的空间关系,而不是如标准遮 挡剔除算法中那样使用虚拟照相机和组件之间的空间关系,可以获得独立于 视点的优化。这节省了计算资源,因为所述方法仅需要当对于复合模型发生 结构变化(例如添加了新的组件或移除了现有组件)时重新运行。即使确实 发生了结构变化,所述方法也仅需要对在变化附近的组件重新运行。这节省 了用于随后的优化的计算资源。

通过在执行优化前将组件划分为部件并存储部件,节省了在优化步骤中 用于划分组件的任何计算资源。组件的子划分可以使用自动过程执行或者可 替换地手动执行。当手动地执行子划分时,可以使用有关几何学和/或组件的 连接的知识利用人类技能来执行,由此使能高效的优化。

本发明的第二方面涉及一种计算机程序,其中所述计算机程序包括被适 配为使得数据处理系统执行以下步骤的可执行计算机程序代码:

至少一个设计步骤,包括:

提供计算机实现的构造工具,用于允许用户从组件贮藏库中选择多个组 件的相应数字表示,其中每个组件包括多个部件,并按照相互的空间关系来 布置所选的组件以使得生成复合产品的数字表示;

以及另外的处理步骤,包括:

生成复合产品的至少一部分的显现/渲染,其中所述生成包括:

存储所述多个组件的至少一个的多个部件,每个部件包括用于显现/渲染 该部件的几何学信息,

存储指示多个组件在坐标系中的位置和方向的信息,

基于所存储的指示多个组件的位置和方向的信息来确定组件中各个组件 之间的空间关系,

基于所确定的各个组件之间的空间关系,对于至少一个组件确定多个存 储的部件,以用于显现/渲染所述组件。

在一个实施例中,计算机程序是用于儿童的玩具计算机程序。

计算机实现的构造工具可以是图形用户界面。

创建数字模型的任务可以非常有挑战性的。在真实世界中的存在的正常 物理极限是在数字环境中不存在的先验。无尽的可能性使得可能创建任何模 型,但是其也使得设计步骤非常有挑战性。任何数字建模者的关键技能是在 模型中正确的点上使用正确数目的细节。这意味着除了必须关注于数字模型 的形状之外,数字设计者还需要关注于模型的底层结构,例如在各个地方使 用的顶点量。这是重要的,因为建模任务是通常涉及模型的连续实时显现/渲 染的交互式处理,其允许数字设计者在设计模型时可视地检查模型。如果模 型变得不必要地复杂,则模型的实时渲染的帧速率将降低,使得更多的设计 处理有问题。

当这样的系统的用户是儿童时,尽可能多地简化设计处理变得重要。通 过向儿童提供包括组件的贮藏库的数字构造工具和使用组件之间的空间关系 进一步自动简化构造的模型,设计处理的复杂性大大减少。这将允许儿童专 门关注于建造模型任务而不必担心要向模型的正确的点施加正确的复杂度 量。这将允许儿童创建更大更加有趣的模型,增加了玩具计算机程序的游戏 价值,以及允许更小的儿童使用玩具程序。

在一个实施例中,至少一个组件具有与其相关联的至少一个连接区域, 其中所述连接区域指示组件可以被连接到类似组件上的连接区域的部分。

连接区域可以是组件附近的任何预定区域。在一个实施例中,连接区域 位于组件的表面。连接区域可以对应于组件的一个或多个部件(例如表面的 部分)或由其定义。连接区域可以具有任何形状,例如平面或平面的一部分 或圆形或弯曲的表面。连接区域的位置可以在全局坐标系中定义,或者相对 于组件定义。组件可以包括任意数目的连接区域。可以存在多个类型的连接 区域。连接区域可以与预定数目的连接区域类型兼容,例如,表示玩具构造 元件的组件的连接区域(链接到组件的顶部)可以仅与链接到表示类似玩具 构造元件的组件的底部的连接区域兼容。在一些实施例中,可以按照适当的 数据结构(例如表)来存储指示各种类型的连接区域的兼容性的信息,即指 示各种类型的连接区域是否可相互连接的信息。例如,信息可以对于每个给 定类型的连接区域指示哪种类型的连接区域可与所述给定类型的连接区域连 接。在一个实施例中,数据结构可以对于每一对连接区域类型指示该对连接 区域类型是兼容、不兼容还是无关紧要。当一对连接区域兼容时,它们可以 提供两个组件之间的连接。当一对连接区域不兼容时,它们阻止将两个组件 彼此紧邻地放置。当一对连接区域无关紧要时,它们允许将两个组件彼此紧 邻地放置,而不实际提供组件之间的连接。

通过为组件提供预定的连接区域,从组件创建模型的工作被简化。这降 低了开发模型的生产成本,无论该模型是用于CAD、计算机游戏或其他应用。

在本发明的一个实施例中,确定各个组件之间的空间关系的步骤包括确 定各个组件的连接区域的空间关系的步骤。

在本发明的一个实施例中,确定各个连接区域之间的空间关系的步骤包 括确定两个连接区域之间的距离的步骤。

所述距离可以是任何范数的距离,例如2范数欧几里得距离。所述距离 可以是连接区域的两个点或连接区域上的多个点之间的距离。在一个实施例 中,距离被定义为两个连接区域之间的最近距离。在一个实施例中,当两个 连接区域的距离在预定范围内时,处理确定这两个连接区域为连接。

通过检查两个连接区域的距离来确定它们之间的空间关系是有效并且计 算简单的方法。这将降低方法所需的计算资源,由此降低显现/渲染模型所需 的计算的总体数目。

在一个实施例中,每个连接区域具有与其相关联的方向,并且确定各个 连接区域之间的空间关系的步骤包括确定一个连接区域相对于另一个连接区 域的方向的步骤。

在一个实施例中,当两个连接区域具有相对于彼此的预定方向,即当连 接区域平行或接近于相互平行时,处理确定这两个连接区域为连接。连接区 域之间的空间关系可以通过连接区域之间的距离以及它们的相对方向的组合 来确定。

两个连接区域可以被放置为彼此接近而无需对准,但是通过额外地使用 连接区域之间的相对方向来确定它们的空间关系可以获得更加精确的确定。

在一些实施例中,当两个连接区域在相对于彼此的预定接近度内放置, 并且当它们各自的方向和类型相互兼容时,处理确定这两个连接区域为连接。

在一些实施例中,仅当组件具有与第一组件相关联的一个或多个连接区 域——所述连接区域连接到另一个组件的另一个连接区域——时,处理确定 所述第一部件为不用于显现/渲染组件。

通过仅优化实际连接的组件,当在动画期间相对于彼此移动未连接的组 件时,可以避免再次优化。这将降低对于再次优化的需要,由此导致优化所 需的计算资源的相应降低,因为比起未连接的玩具构造元件,连接的玩具构 造元件相对于彼此移动的事件的可能性要小得多。

在替换实施例中,当与第一部件相关联的连接区域相对于另一个组件的 连接区域在预定接近度和/或方向内,而没有实际提供组件之间的连接的连接 (例如因为两个连接区域的类型相对于彼此无关紧要)时,处理也确定第一 部件为不用于显现/渲染组件。

通过同样优化未连接的组件,可以优化组件的更多部件。这将降低显现/ 渲染计算机模型所需的计算资源,尤其是当模型的组件固定时。

在一个实施例中,确定空间关系包括确定各个组件的连接区域是否具有 提供/允许连接的兼容类型。

在一个实施例中,在对于至少一个组件确定多个部件以用于显现/渲染所 述组件的步骤中,当连接所述组件的至少一个连接区域时,使用较少的部件。

在一个实施例中,当从所述计算机模型的边界框外部的任何方向观看时 第一部件的表面区域的至少预定部分被一个或多个其他部件覆盖时,处理确 定第一部件为不用于显现/渲染组件。预定百分比可以是任何百分比。优选的, 其是40%;更优选的,其是70%;甚至更优选的,其是90%。边界框是能够 包括整个模型的最小框。通过不使用被覆盖了预定百分比的部件来显现/渲染 给定组件,可以限制优化模型的任何视觉影响。这进一步提供了灵活的系统, 其中可以控制视觉影响和计算复杂度之间的折中。在给定的应用、诸如实时 计算机图形中,相对于模型的视觉精确度优先考虑低计算数目、导致高帧速 率可能是有用的,而在其他应用中,视觉精确度可能比计算数目更加重要。

在本发明的一个实施例中,对于至少一个组件确定多个部件以用于显现/ 渲染所述组件的步骤包括以下步骤:确定组件的材料性质;以及基于所确定 的空间关系和所确定的材料性质来确定多个部件以用于显现/渲染所述组件。

在一个实施例中,确定材料性质的步骤包括确定组件的透明度设置的步 骤。透明度设置可以是有关组件或组件的一部分的透明度的任何设置。透明 度可以涉及折射现象。如果该部件或连接到该部件的其他部件是透明的,则 通常将被隐藏的模型的组件的部件可以是可见的。通过使用所确定的空间关 系和材料性质,可以获得隐藏部件的更精确的确定。

在一些实施例中,计算机模型表示复合产品。在一些实施例中,计算机 模型表示由玩具构造元件建造的玩具模型,其中计算器模型的每个组件对应 于玩具构造元件。在一些实施例中,玩具构造元件具有连接单元,用于将它 们与其他类似的玩具构造元件连接。连接单元可以具有任何形状,例如圆形 或长方形。

在一个实施例中,第一组件包括预定类型的第一遮挡区域,第二组件包 括预定类型的第二遮挡区域,其中第一和第二遮挡区域之间的空间关系被用 于确定第一组件被第二组件遮挡的部分。

遮挡区域可以具有类似于或甚至与组件的一部分相同的形状。例如,遮 挡区域可以被定义为组件的所述部件的表面的一部分。遮挡区域可以链接到 组件的特定部件或多个部件。在链接到该部件的遮挡区域被遮挡时可以确定 链接到遮挡区域的一个或多个部件被遮挡。第一和第二遮挡区域之间的空间 关系可以通过第一组件的一个或多个连接区域和第二组件的一个或多个连接 区域之间的空间关系来确定。遮挡区域的类型可以与其形状有关。遮挡区域 可以具有任何形状,例如圆形或长方形。遮挡区域的类型还可以与遮挡区域 的尺寸有关。遮挡区域的类型可以确定一个组件如何遮挡另一个,例如,圆 形遮挡区域可以遮挡另一个圆形遮挡区域,但不能遮挡正方形遮挡区域,正 方形遮挡区域可以遮挡圆形和正方形遮挡区域两者。

连接区域可以确定一个组件可以如何连接到其他组件,而遮挡区域可以 确定一个组件如何遮挡另一个组件。两个组件可以连接而不相互遮挡,并且 两个组件可以相互遮挡而不连接。

组件和/或组件的一个或多个部件可以具有与其相关联的一个或多个遮 挡区域和/或一个或多个连接区域。在一个实施例中,连接区域还可以起遮挡 区域的作用。

通过将遮挡区域分配给组件,该方法能够容易地找到计算机模型中的隐 藏部件。可以通过检查两个组件的两个连接区域之间的空间关系来找到隐藏 部件。如果发现与各个组件相关联的两个连接区域连接,则处理可以基于与 各个部件相关联的各个遮挡区域、例如基于与相关联的遮挡区域的各个类型 相关的逻辑规则(例如正方形区域覆盖圆形区域等)来确定一个或多个被遮 挡的部件。因此,每个部件可以具有与其相关联的一个或多个连接区域和一 个或多个遮挡区域。

在一个实施例中,多个遮挡区域链接到单个部件。

在一个实施例中,如果链接到部件的所有遮挡区域都被遮挡,该部件才 被遮挡。

在一个实施例中,计算机模型可以独立于其他计算机模型而存在动画, 计算机模型的组件可以独立于计算机模型的其他组件而存在动画,组件的部 件可以独立于组件的其他部件而存在动画。

在一个实施例中,第一部件和第二部件表示组件的公共部分,其中第一 部件具有比第二部件更高级别的细节,并且其中确定多个存储的部件以用于 显现/渲染所述组件的步骤进一步包括选择第一部件和第二部件中的至多一 个以用于显现/渲染所述组件。

通过使多个部件表示组件的公共部分,在给定的情况仅部分隐藏的部件 仍可以被优化。这将导致更加有效的优化,并使得将组件划分为部件的工作 更简单。

本发明的不同方面可以以不同方式实现,包括上述以及在下面描述的计 算机实现的方法、一种数据处理系统和玩具计算机程序和进一步的产品单元, 每个产生结合上述至少一个方面描述的一个或多个益处和优点,每个具有对 应于结合上述至少一个方面描述和/或在从属权利要求中公开的优选实施例 的一个或多个优选实施例。此外,将理解,结合此处描述的方面之一描述的 实施例可以同样地应用到其他方面。

在一个实施例中,部件是预定义的。

在一个实施例中,每个部件包括多个面,其中面被定义为由三个顶点给 定的平面。

在一个实施例中,遮挡剔除与所公开的方法结合使用。

在一个实施例中,组件表示复合产品的物理组件,诸如不能以更小的组 件无破坏地进一步分解的复合产品的物理组件,例如,飞机中的螺丝钉,或 由玩具构造系统的玩具构造元件建造的玩具模型中的玩具构造元件。

附图说明

参考附图,通过本发明实施例的以下示例性并且非限制的详细描述,将 进一步阐述本发明的上面和/或另外的目的、特征和优点,其中:

图1a-图1c示出现有技术的优化的形式的示例。

图2a示出包括多个组件的计算机模型的示例。

图2b示出包括多个部件的计算机模型的组件的示例。

图2c示出根据本发明实施例的计算机模型的组件的多个部件的示例。

图3示出根据本发明实施例的计算机模型的组件的多个部件的示例。

图4a示出优化之前的包括多个组件的计算机模型。

图4b示出优化之后的包括多个组件的计算机模型。

图5a示出优化之前的包括多个组件的计算机模型。

图5b示出优化之后的包括多个组件的计算机模型。

图6a示出优化之前的包括多个组件的计算机模型。

图6b示出优化之后的包括多个组件的计算机模型。

图7a示出关于组件定义的连接区域。

图7b示出了连接区域的兼容性。

图8a示出关于组件定义的连接区域。

图8b示出关于组件定义的连接区域的兼容性。

图9a示出包括多个组件的计算机模型的示例。

图9b示出根据本发明实施例的计算机模型的组件的多个部件的示例。

图9c示出根据本发明实施例的计算机模型的组件的多个部件的示例。

图10a示出优化之前的包括多个组件的计算机模型。

图10b示出优化之后的包括多个组件的计算机模型。

图11a示出优化之前的包括多个组件的计算机模型。

图11b示出优化之后的包括多个组件的计算机模型。

图12示出根据本发明实施例的显现/渲染计算机模型的方法的流程图。

图13示出根据本发明实施例的计算机模型的组件的多个部件的示例。

图14示出根据本发明实施例的计算机模型的组件的多个部件的示例。

图15a-图15f示出根据本发明实施例的组件、部件和遮挡区域的例子。

图16示出根据本发明实施例的计算机模型优化的示例。

图17示出根据本发明实施例的计算机模型优化的示例。

图18示出根据本发明实施例的计算机模型的组件的多个部件的示例。

图19示出根据本发明实施例的计算机模型优化的示例。

图20示出根据本发明实施例的显现/渲染计算机模型的方法的流程图。

图21示出根据本发明实施例的数据结构的示例。

图22示出计算机系统的示例的示意性视图。

图23a-图23b示出根据本发明实施例的部件和遮挡区域的示例。

图23c示出根据本发明实施例的计算机模型优化的示例。

图24示出根据本发明实施例的计算机实现的构造工具的图形用户界面。

具体实施方式

在下面的描述中将参考附图,所述附图通过示例示出了如何实践本发明。

图1a-图1c示出了现有技术形式的优化、遮挡剔除的示例。遮挡剔除的 基本思想是检查照相机和景象之间的空间关系以找到在渲染/显现处理中可 以省去的隐藏的表面。图1a示出了包含两个虚拟照相机102、103,大盒子 104、105、106、107和小盒子108、109、110、111的3D景象的俯视图(top view)。图1b示出了由虚拟照相机102生成的图像。只能看到大盒子的两个 表面104、106,所有其他的表面都隐藏。使用光线追踪方法,遮挡剔除算法 可以找到这些隐藏的面并移除它们。但是,这是对计算要求较高的处理。图 1c示出了从照相机103生成的图像。由于透视的改变,先前被大盒子遮住的 小盒子现在可以看见。这图示说明了遮挡剔除方法的限制。它们高度依赖于 视点。这使得遮挡剔除对于其中观看透视经常改变的应用不太适用。

图2a示出了根据本发明的实施例的计算机模型201的示例。在该示例中, 计算机模型201代表由玩具构造系统的构造元件建造的玩具模型。该计算机 模型由六个类似的组件202来建造;然而,在其他实施例中,组件的数目和 类型可以不同。这六个组件位于彼此的顶部,创建了三角形的模型。图2b示 出了根据本发明的实施例的计算机模型201的组件202的示例。组件202代 表玩具构造元件。玩具构造元件202包括六个长方形面215、216、217、218、 219、220以及从顶部突出的八个圆柱207、208、209、210、211、212、213、 214。图2c示出了根据本发明实施例的组件的多个部件的示例。示出了八个 圆柱207、208、209、210、211、212、213、214和六个长方形215、216、 217、218、219、220。表1示出了对于不同的部件可能的面的计数。

表1

图3示出了根据一个实施例的组件的多个部件。在该示例中,组件是图 2b中所示的玩具构造元件。示出了圆柱301和三个长方形302、303、304。 在该示例中,仅保留独特的部件。

图7a示出了根据本发明的实施例的、与组件相关联的连接区域的示例。 连接区域确定该组件可以如何被连接到其他组件。在该示例中,六个连接区 域与组件相关联;但是可以定义任意数目的连接区域。类型A的连接区域与 组件的正面和背面相关联,类型B的连接区域与组件的左侧和右侧相关联, 类型C的连接区域与组件的顶部相关联,类型D的连接区域与组件的底部相 关联。不同类型的连接区域可选择地与其他类型的连接区域兼容。图7b示出 了图7a中定义的连接区域的兼容性表的示例。连接区域A与连接区域A、B 和D兼容,连接区域B与连接区域A、B和D兼容,连接区域C与连接区域 D兼容,连接区域D与连接区域A、B、C和D兼容。连接区域可以用来确 定不同组件之前的空间关系。

图8示出了根据本发明实施例的组件的连接区域的另一个示例。在该示 例中,仅在由组件表示的玩具构造元件可以通过摩擦配合或其他物理连接相 互连接的位置定义连接区域。图8b示出了连接区域的兼容性。图8c示出了 与组件相关联的连接区域的示例。在该示例中,多个连接区域在组件的顶部 和底部并排放置。图8d示出了圆形连接区域的示例。该图示出了表示轮圈 801的组件。轮圈801具有相关联的单个圆形连接区域802。图8e示出了包 含两个组件、即轮圈801和连接到该轮圈801的轮胎803的计算机模型804。

图4示出了用于优化玩具模型的计算机模型的本发明的实施例。图4a示 出了优化之前的玩具模型,图4b示出了优化之后的玩具模型。玩具模型由并 排放置的三个玩具建造砖401、402、403建造。在该实施例中,每个玩具砖 表示模型的一个物理组件;但是,在其他实施例中,组件可以以其他方式定 义,例如,第一组件可以被定义为两个玩具建造砖401、402,并且第二组件 可以被定义为玩具建造砖403,或者第一组件可以被定义为玩具建造砖401 的第一组面并且第二组件可以被定义为玩具建造砖401的第二组面。在该示 例中,每个组件401、402、403包括图1c中所示的部件,并具有表1中所示 的面的数目。对于组件401、402、403中的每一个,关联六个连接区域的组, 如图7a-图b所示。在优化步骤之前,组件401、402、403中的每一个包括 1546个面,导致整个模型有4644个面。为了优化模型,确定组件401、402、 403之间的空间关系。这可以通过使用组件的连接区域来实现。第一步可以 是确定是否有任何连接区域在其他连接区域的预定附近和/或是否有任何连 接区域在相对方向的预定范围内。在该示例中,组件401和402的两个类型 B连接区域与组件402和403的两个类型B连接区域接触。从图7b的表中可 以看出,类型B的连接区域与其自身兼容。接着确定连接区域之间的连接的 类型。使用所确定的组件401、402、403之间的空间关系,选择每个组件的 多个部件。在该示例中,当表示组件401时可以省去部件218,当表示组件 402时可以省去部件216和218,当表示组件403时可以省去部件216。因此, 与优化之前的4644个面相比,优化之后整个模型可以用4636个面表示。表 2示出了优化之前和优化之后模型的面。

  参考编号   411   401   402   403   优化之后面的数目   4636   1536   1544   1546   优化之前面的数目   4644   1548   1548   1548

表2

图5示出了用于在结构改变之后再次优化模型的本发明的实施例。模型 510是图4中示出的模型411添加了与组件501、502、503相同类型的两个 组件504、505的模型。所述两个组件504、505位于三个底层组件50、502、 503的顶部。为了确定组件之间的空间关系,检查连接区域之间的空间关系。 三个原始组件501、502、503之间的空间关系的检查可以被跳过,因为组件 501、502、503已经被优化了。组件504具有:类型D的连接区域,其与组 件501、502的两个类型C的连接区域接触;和类型B的连接区域,其与组 件505的类型B的连接区域接触。从图7b中的表可以看出,类型D的连接 区域与类型C的连接区域兼容,类型B的连接区域与类型B的连接区域兼容。 在该示例中,在组件504、501以及504、502之间存在部分连接,在组件504、 505之间存在完全连接。组件505具有:类型D的连接区域,其与组件502、 503的两个类型C的连接区域接触;和类型B的连接区域,其与组件504的 类型B的连接区域接触。从图7b中的表可以看出,类型D的连接区域与类 型C的连接区域兼容。同样,在组件505、502以及505、503之间均存在部 分连接。使用所确定的组件之间的空间关系,可以选择每个组件的多个部件 来代表该组件。对于组件501,使用部件207、208、211、212、215、216、 217、219、220;对于组件502,使用部件215、219、220;对于组件503, 使用部件209、210、213、214、215、218、219、220;对于组件504,使用 部件207、208、209、210、211、212、213、214、215、216、217、219;对 于组件505,使用部件207、208、209、210、211、212、213、214、215、217、 218、219。应当注意,部件209仍用来表示组件503,即使该部件在图5b中 是不可见的。这是因为,该部件不是作为模型的组件的空间关系的结果而隐 藏,而是作为模型和虚拟相机之间的空间关系的结果而隐藏。与优化之前的 7740个面相比,整个模型可以使用4650个面表示,对应于面的数目的39.9% 的减少。表3示出了优化之前和优化之后模型的面的计数。

  参考编号   511   501   502   503   504   505   优化之后的面的数目   4650   778   6   778   1544   1544   部分优化之后的面的数目   7732   1546   1544   1546   1548   1548   未优化的面的数目   7740   1548   1548   1548   1548   1548

表3

图6示出了根据本发明实施例的、已经发生了结构改变的模型的再次优 化的示例。模型611是图5的模型511添加了与组件601、602、603、604、 605相同类型的另一组件的模型。组件606位于组件604、605的顶部。为了 确定组件之间的空间关系,检查连接区域之间的空间关系。五个原始组件601、 602、603、604、605的连接区域之间的关系的检查可以被跳过,因为组件601、 602、603、604、605已经被优化了。组件606具有:类型D的连接区域,其 与组件604、605的两个类型C的连接区域接触。从图7b中的表可以看出, 类型D的连接区域与类型C的连接区域兼容。在组件606、604以及606、605 之间均存在部分连接。使用所确定的组件之间的空间关系,可以选择每个组 件的多个部件来代表该组件。对于组件601,使用部件207、208、211、212、 215、216、217、219、220;对于组件602,使用部件215、219、220;对于 组件603,使用部件209、210、213、214、215、218、219、220;对于组件 604,使用部件207、208、211、212、215、216、217、219;对于组件605, 使用部件209、210、213、214、215、217、218、219;对于组件606,使用 部件207、208、209、210、211、212、213、214、215、216、217、218、219。 与上一个示例中的情形一样,应当注意,部件209仍用来表示组件603和605 两者,即使该部件在图6b中是不可见的。与优化之前的9288个面相比,整 个模型可以使用4660个面表示,对应于面的数目的49.8%的减少。表4示出 了优化之前和优化之后模型的面的计数。

  参考编号   611   601   602   603   604   605   606   优化之后的面的数目   4660   778   6   778   776   776   1546   部分优化之后的面的数目   6198   778   6   778   1544   1544   1548   未优化的面的数目   9288   1548   1548   1548   1548   1548   1548

表4

从示例可以看出,对于复杂模型所述方法变得更加有效。这是所述方法 非常有用的效果,因为对于复杂模型,优化尤其重要。

图9a示出了根据本发明实施例的计算机模型1001的另一个示例。计算 机模型1001表示记号笔(marker)。计算机模型1001包括两个组件:对应于 记号笔的盖子的901,和对应于记号笔的主体的902。图9b示出了将记号笔 主体902划分为部件的可能的方式。记号笔主体的尖部被划分为5个部件: 903、904、905、906、907,记号笔主体的握持部分908使用单个部件908来 表示。图9c示出了记号笔的盖子901可以如何被划分为部件的示例。盖子的 外部由部件909表示,盖子的内部由部件910表示。

图10示出了本发明的方法的实施例可以如何被用于优化图9中所示的计 算机模型的示例。通过检查两个组件1002和1003之间的空间关系,该方法 能够确定部件903、904、905、906、907、910在所有透视中都隐藏。这可以 通过检查组件1002和1003的遮挡区域和/或连接区域来实现。因此所述部件 可以被省去,如示出优化之后的计算机模型的图10b中所示。

图11示出了本发明的方法的实施例可以如何被用于优化关于图9描述的 计算机模型的另一个示例。通过检查两个组件1002和1003之间的空间关系, 该方法能够确定没有任何部件在所有透视中被隐藏。结果,没有任何部件因 此被省去,并且图11b中所示的优化之后的计算机模型与图11a中所示的优 化之前的计算机模型相同。

图12示出了根据本发明实施例的显现/渲染计算机模型的方法的流程图。 计算机模型被定义为包括多个组件,并且每个组件被定义为包括多个部件。 对于每个组件,本发明的方法的实施例选择性地选择多个部件以用于显现/渲 染模型。在方法1201的第一步,存储组件的多个部件。这意味着通过组件如 何被划分为部件,确定了该组件可以被优化的方式。在下一步骤1202,存储 组件的位置和方向。可以按照任何坐标系来存储位置。接着,在步骤1203, 所存储的组件的位置被用于确定组件之间的空间关系。空间关系可以通过检 查组件的连接区域来确定,其中确定空间关系可以包括例如通过确定一个组 件的连接至另一组件的兼容连接区域的连接区域来确定组件的连接性属性。 WO2004034333公开了用于确定组件之间的连接关系的方法。然后,在步骤 1204,所确定的组件的空间关系被用来对于每个组件选择多个部件,以用于 显现/渲染组件,并且在步骤1205,使用所确定的部件来显现/渲染模型。

图13和14示出了根据本发明实施例的用于表示组件的多个部件。在该 示例中,组件是玩具建造砖。八个部件1302、1303、1304、1305用于表示玩 具建造砖的把手,一个部件用于表示砖的外壳1306,两个部件用于表示砖的 内壳1307、1308,并且三个部件用于表示砖下面的圆柱1309、1310、1311。

图15a示出了根据本发明实施例的组件1501。组件1501表示正方形玩具 构造元件。图15b示出了根据本发明实施例的组件1502。组件1502表示圆 柱形玩具构造元件。图15c示出了组件1501的部件1503、1504、1505、1506、 1507、1515。图15d示出了组件1502的部件1508、1509、1510。图15e示出 了与组件1501相关的特定类型的两个遮挡区域1511、1512。遮挡区域1511、 1512优选地位于组件上该组件可以连接到其他组件的部分处。在该示例中, 遮挡区域1511、1512位于组件1501的顶部和底部。这些位置对应于组件1501 表示的玩具构造元件的、可以连接到其他玩具构造元件的部分。遮挡区域的 类型可以依赖于其形状和/或尺寸。在该示例中,遮挡区域1511、1512是正 方形遮挡区域。遮挡区域可以链接到其组件的一个或多个部件。在该示例中, 遮挡区域1512链接到部件1503,并且遮挡区域1511链接到部件1515。图 15f示出了与组件1502相关的特定类型的两个遮挡区域1513、1514。在该示 例中,遮挡区域1513、1514位于组件1502的顶部和底部。这些位置对应于 组件1502表示的玩具构造元件的、可以连接到其他玩具构造元件的部分。在 该示例中,遮挡区域1513、1514是圆形的。在该示例中,遮挡区域1513链 接到部件1510,并且遮挡区域1514链接到部件1509。

图16示出了根据本发明实施例的模型优化的示例。计算机模型1601表 示由两个正方形玩具构造元件1603、1604建造的玩具模型。在该示例中,每 个玩具构造元件1603、1604对应于一个组件,并且每个组件包括图15c中所 示的部件1503、1504、1505、1506、1507、1515。每个组件还包括如图15c 所示的两个相关联的遮挡区域1511、1512。为了优化计算机模型1601,检查 两个组件1603、1604的遮挡区域之间的空间关系。通过检查组件1603的遮 挡区域1511和组件1604的遮挡区域1512之间的距离以及它们相对于彼此的 方向,所述方法能够确定这两个遮挡区域相接触。当两个遮挡区域相接触时, 可以使用逻辑规则来确定一个遮挡区域是否遮挡另一个,以及是否可以省去 链接到任何遮挡区域的任何部件以用于显现/渲染组件。在该示例中,可能的 逻辑规则可以是:

1.尺寸为X的正方形遮挡区域遮挡尺寸小于或等于X的圆形和正方形遮 挡区域。

2.尺寸为Y的圆形遮挡区域遮挡尺寸小于或等于Y的圆形遮挡区域。

3.当显现/渲染组件时,链接到被遮挡的遮挡区域的部件可以被省去。

使用逻辑规则1,所述方法能够确定部件1603的遮挡区域1511遮挡部 件1604的遮挡区域1512,并且部件1604的遮挡区域1512遮挡部件1603的 遮挡区域1511。由此,可以表示优化的模型1602而不使用部件1515来表示 组件1603以及不使用部件1503来表示部件1604。

图17示出了根据本发明实施例的模型优化的示例。计算机模型1701表 示由正方形玩具构造元件1704和圆形玩具构造元件1703建造的玩具模型。 在该示例中,每个玩具构造元件1703、1704对应于一个组件。正方形玩具构 造元件包括图15c中所示的部件1503、1504、1505、1506、1507、1515,且 圆形玩具构造元件包括图15d中所示的部件1508、1509、1510。正方形玩具 构造元件1704具有如图15e所示的两个相关联的遮挡区域1511、1512,且圆 形玩具构造元件1703具有如图15f所示的两个相关联的遮挡区域1513、1514。 为了优化计算机模型1601,检查两个组件1703、1704的遮挡区域之间的空 间关系。在该示例中,发现组件1703的遮挡区域1514和组件1704的遮挡区 域1512相接触。使用三个前述的逻辑规则,所述方法确定组件1704的正方 形遮挡区域1512遮挡组件1703的圆形遮挡区域1514,然而组件1703的圆 形遮挡区域1514不遮挡组件1704的正方形遮挡区域1512。由此,可以表示 优化的计算机模型1702而不使用部件1509来表示组件1703,但是仍需要全 部数目的部件用于表示组件1704。

图23a示出了组件可以如何被划分为部件的根据本发明实施例的示例。 多个部件表示的组件是图15a中所示的正方形玩具构造元件1501。在该示例 中,使用部件来表示圆柱形2305和盒子2306。图23b示出遮挡区域可以如 何与组件相关联的根据本发明实施例的示例。在该示例中,遮挡区域与组件 1501相关联。遮挡区域2311和2312用于找到其他组件被组件1501遮挡的 部件,且遮挡区域2313用于找到组件1501被其他组件遮挡的部件。遮挡区 域2311和2312不链接到任何部件,且遮挡区域2313链接到部件2305。

图23c示出了根据本发明实施例的模型优化的示例。计算机模型2301表 示由正方形玩具构造元件2304和圆形玩具构造元件2303建造的玩具模型。 在该示例中,每个玩具构造元件2303、2304对应于一个组件。正方形玩具构 造元件包括图23a中所示的部件2305、2306,且圆形玩具构造元件包括图15d 中所示的部件1508、1509、1510。正方形玩具构造元件2304具有如图23b 所示的三个相关联的遮挡区域2311、2312、2313,且圆形玩具构造元件2303 具有如图15f所示的两个相关联的遮挡区域1513、1514。为了优化计算机模 型2301,检查两个组件2303、2304的遮挡区域之间的空间关系。在该示例 中,发现组件2303的遮挡区域1514和组件2304的遮挡区域2312相接触, 并且发现组件2304的遮挡区域2313和组件2303的遮挡区域1513相接触。 使用三个前述的逻辑规则,所述方法确定组件2304的正方形遮挡区域2312 遮挡组件2303的圆形遮挡区域1514,并且组件2303的圆形遮挡区域1514 遮挡组件2304的圆形遮挡区域2313。由此,可以表示优化的计算机模型2301 而不使用部件1509来表示组件2303以及不使用部件2305来表示组件2304。 在本发明的实施例中,一个或多个遮挡区域的第一和第二集合可以与组件相 关联。一个或多个遮挡区域的第一集合可以用于找到其他组件被该组件遮挡 的部件,且一个或多个遮挡区域的第二集合可以用于找到该组件被其他组件 遮挡的部件。

图18示出了根据本发明实施例的、组件可以如何被划分为部件的示例。 多个部件表示的组件是图15a所示的正方形玩具构造元件1501。在该示例中, 两个部件1802,1803表示组件1501的公共部件。第一部件1802对应于在顶 部具有圆柱形的正方形,且第二部件1803对应于正方形。第一部件具有比第 二部件更高级别的细节。因此,显现/渲染第二部件1803所需的计算资源比 显现/渲染第一部件1802所需的计算资源要少。优选的,在那时,第一部件 1802和第二部件1803中的至多一个被用于表示玩具构造元件1501。剩余部 件1804、1805、1806、1807、1808对应于图15c中所示的部件。

图19c示出了根据本发明实施例的模型优化的示例。计算机模型1901表 示由正方形玩具构造元件1904和圆形玩具构造元件1903建造的玩具模型。 在该示例中,每个玩具构造元件1903、1904对应于一个组件。正方形玩具构 造元件1904使用图18中所示的部件1802、1803、1804、1805、1806、1807、 1808表示,且圆形玩具构造元件使用图15d中所示的部件1508、1509、1510 表示。组件1904具有如图15e所示的两个相关联的遮挡区域1511、1512,区 别在于遮挡区域1511链接到部件1803且遮挡区域1512链接到部件1802和 1803两者。组件1903具有如图15f所示的两个相关联的遮挡区域1513、1514。 为了优化计算机模型1901,检查两个组件1903、1904的遮挡区域之间的空 间关系。在该示例中,发现组件1903的遮挡区域1514和组件1904的遮挡区 域1512相接触。当发现两个遮挡区域相接触时,可以使用逻辑规则来确定一 个遮挡区域是否遮挡另一个,以及是否可以省去链接到任何遮挡区域的任何 部件以用于显现/渲染组件。在该示例中,可能的逻辑规则可以是:

1.尺寸为X的正方形遮挡区域遮挡尺寸小于或等于X的圆形和正方形遮 挡区域。

2.尺寸为Y的圆形遮挡区域遮挡尺寸小于或等于Y的圆形遮挡区域。

3.尺寸为Y的圆形遮挡区域部分遮挡尺寸小于或等于Y的正方形遮挡区 域。

4.当显现/渲染组件时,链接到被遮挡的遮挡区域的部件可以被省去。

5.如果两个部件表示组件的公共部件并且被链接到遮挡区域,如果遮挡 区域被部分地遮挡则使用具有最低级别的细节的部件。

6.如果两个部件表示组件的公共部件并且被链接到遮挡区域,如果遮挡 区域未被遮挡则使用具有最高级别的细节的部件。

使用逻辑规则1和4,当显现/渲染组件1903时可以省去部件1509,并 且可以使用部件1803代替部件1802来用于显现/渲染组件1904。由此组件 1903和1904都可以被优化,进一步降低显现/渲染计算机模型1901所需的计 算资源。在该示例中,使用部件1803代替部件1802来显现/渲染组件1904 不存在可视损失,然而在其他实施例中可能发生各种视觉损失。

图20示出了根据本发明实施例的用于显现/渲染计算机模型的方法的流 程图。在步骤2001,该方法确定是否已经评价了模型的所有组件。如果答案 为否,则方法继续到步骤2002选择下一个组件。在步骤2003,方法确定是 否已经检查了所选组件的所有部件。如果答案为否,则方法在步骤2004选择 下一个部件。在步骤2005,方法确定是否已经检查了链接到部件的所有遮挡 区域。如果答案为否,则方法在步骤2006选择下一个遮挡区域。接着,在步 骤2007,方法检查所选择的遮挡区域。该方法可以通过确定所选择的遮挡区 域和其他组件的任何其他遮挡区域之间的空间关系来检查遮挡区域。空间关 系可以通过检查所选择的遮挡区域和其他遮挡区域之间的距离来确定。如果 两个遮挡区域之间的距离在预定范围内,则遮挡区域可以被确定为接触。另 外,遮挡区域的相对方向可以用来确定它们是否接触。两个遮挡区域不需要 物理接触以被分类为接触,它们可以仅仅是相互接近。当发现两个遮挡区域 接触时,可以应用逻辑规则来确定它们是否以及如何相互遮挡。如关于图19 所述,遮挡区域可以被完全遮挡或部分遮挡。在所述方法已经在步骤2007完 成检查所选择的遮挡区域之后,该方法返回步骤2005以检查是否已经检查了 链接到部件的所有遮挡区域。如果答案为是,则方法转到步骤2008,在该步 骤2008中方法确定所选择的部件是否被完全遮挡。如果答案为否,则方法转 到步骤2009,在该步骤2009中,方法确定所述部件是否被部分遮挡。如果 答案再次为否,则方法返回到步骤2003。在步骤2009中,如果答案为是, 则方法在步骤2011确定所述部件是否具有更低级别的细节版本。更低级别的 细节版本可以是具有更少细节的部件的版本,例如,如果部件表示由在顶部 具有突出的圆柱形的正方形构成的玩具构造元件的顶部,则部件的更低级别 的细节版本可以简单地是没有圆柱形的正方形。如果答案为否,则方法返回 到步骤2003。如果答案为是,则方法在渲染处理中替换为具有更低级别的细 节版本的部件,并返回步骤2003。在步骤2008,如果方法确定所选择的部件 被完全遮挡,则其在步骤2013移除所选择的部件并返回步骤2003。如果方 法在步骤2003确定所选择的组件的所有部件已经被评价了,则其返回步骤 2001。在步骤2001,如果方法确定模型的所有组件已经被评价了,则方法在 步骤2014开始显现/渲染处理并生成模型的表示。所述表示可以是模型的2 维透视视图。模型的2维透视视图可以被直接显示在屏幕上和/或被保存到数 字文件。

在图20的示例中,处理直接基于遮挡区域来确定两个组件之间的空间关 系。在可替换实施例中,处理可以至少部分基于如此处描述的连接区域来确 定空间关系。具体的,在一个实施例中,组件的每个部件可以具有与其相关 联的一个或多个连接区域以及一个或多个遮挡区域。例如,第一部件可以具 有与其相关联的一个或多个连接区域,并且每个连接区域可以具有与其相关 联的遮挡区域。如果链接到第一部件的至少第一连接区域被链接到另一个组 件的兼容连接区域,则处理确定该部件是否由于连接而被遮挡(和/或遮挡到 什么程度)。为此,例如如上所述,处理确定链接到另一个组件的连接区域的 遮挡区域是否遮挡链接到第一连接区域的遮挡区域。

因此,在一些实施例中,如果该部件具有与其相关联的第一连接区域并 且该第一连接区域连接到另一个组件的第二连接区域,如果第二连接区域具 有与其相关联的第二遮挡区域并且该第二遮挡区域遮挡与第一连接区域相关 联的第一遮挡区域,则处理确定部件不被用于显现/渲染组件。

图21示出了根据本发明实施例的计算机模型的数据结构。计算机模型 2101的数据结构可以包括模型参数2102和多个组件,以及可选的连接区域 兼容表2121和多个遮挡规则2122。模型参数2102可以包括与模型在适当的 坐标系中的位置和方向相关联的信息。模型参数2102还可以是随时间而存在 动画的。连接区域兼容表2121可以包括与不同类型的连接区域的兼容性有关 的信息,例如,图7b中所示的表。遮挡规则可以定义不同类型的遮挡区域如 何相互遮挡,例如先前所述的逻辑规则。组件2104的数据结构可以包括组件 参数2105、多个连接区域2106、多个遮挡区域2107和多个部件2108。组件 参数2105可以包括与组件的位置和方向相关的信息。连接区域2109的数据 结构可以包括连接区域参数2110和与其他组件的连接区域的连接的可选信 息2111。连接区域参数2110可以包括与连接区域的位置、方向、形状和类型 相关的信息。遮挡区域2112的数据结构可以包括遮挡区域参数2113、指示链 接到遮挡区域的部件的可选信息2114以及遮挡区域与其他组件的其他遮挡 区域的连接2115。遮挡区域参数2113可以包括有关遮挡区域的位置、方向、 形状和类型的信息。部件2116的数据结构可以包括部件参数2117、可选的多 个更低级别的细节的部件2118和指示链接到部件的遮挡区域的信息2118。部 件参数2117可以包括与部件的位置、方向和形状相关的信息。更低级别的细 节的部件的数据结构可以包括参数2120,其可以包括与更低LOD部件的位 置、方向和形状有关的信息。

总的来说,在一些实施例中,可以按规则的结构来布置提供到其他组件 的连接的复合产品的组件的连接区域,例如,其中每个栅格位置代表连接区 域的规则2D栅格。每个连接区域具有与其相关联的类型,并且通过给定的 一对连接区域类型来确定它们是否相互作用以便提供连接,所述类型例如如 在适当的数据结构中所定义的。在一个实施例中,当执行遮挡测试时,优化 处理仅考虑模型中与另一连接区域相互作用以便形成连接的那些连接区域。 除了具有类型,连接区域还具有与其相关联的遮挡区域。通过将连接的两侧 的遮挡区域相比较,处理确定可以如何移除组件的部件,或者可以如何通过 连接的两侧的可选部件来代替。可选部件可以具有比被该可选部件代替的部 件的细节级别要低的细节级别。

每当模型内的组件为了渲染的目的而优化时,处理可以遍历每个组件的 所有部件进行迭代并且检查每个部件是依赖和形成与其他连接区域的连接的 连接。依赖于与形成相应连接的连接区域相关联的遮挡区域的各个类型,结 果确定部件是否可以被移除、由其他可选部件代替或以完全质量显示。

例如,在模型的数字表示中,在优化期间可能移除的组件的每个部件可 以例如通过将一个或多个适当的属性(诸如识别规则栅格和连接区域在所述 栅格内的位置的属性)链接到该部件而链接到连接区域。在一个实施例中, 如果部件不依赖于任何连接区域,则该部件总是显示。

在一个实施例中,每当组件的部件依赖于多于一个连接区域时,优化处 理基于连接区域的连接属性和所连接的连接区域的对应的遮挡区域来确定每 个连接区域的遮挡属性。例如,每个连接区域的结果可以是“隐藏”、“可选” 和“显示”之一。依赖于多于一个连接区域的部件的总体结果则可以被确定 为导致最少优化的连接区域的结果:例如,对于依赖于8个连接区域的部件, 7个“隐藏”和1个“可选”结果产生“可选”;类似的,1个“隐藏”6个 “可选”和1个“显示”产生“显示”。如果结果是“可选”并且可选部件 不可用于当前组件,则结果转换为“显示”。如果任何单个连接区域导致“显 示”,则关于当前组件不再需要测试连接区域。只要没有连接区域导致“显示”, 则处理保持测试剩余的连接区域,以便确定“隐藏”/“可选”结果。

图22示出了计算机系统的示例的示意图。计算机系统总体指定为2200, 其包括例如个人计算机、工作站等适当编程的计算机2201,该计算机包括显 示器2220、键盘2221和计算机鼠标2222和/或另一指示设备,诸如触摸垫、 跟踪球、光笔、触摸屏等。计算机系统还包括数据库2202,用于存储有关所 有可访问的计算机模型、组件和部件的信息。数据库2202可以是任何适当的 数据库系统,例如诸如Oracle或MySQL数据库的关系型数据库等。计算机 系统还包括文件存储设备2203。该文件存储设备可以是任何适当类型的可远 程访问的存储器,例如SMB或NFS-共享等,并且几何学定义可以以任何适 当的目录结构存储。

计算机2201可经由适当的计算机网络2204(例如局域网、广域网、因 特网等)访问数据库2202和文件存储器2203。将会理解,计算机2201可以 直接或经由诸如文件服务器、数据库服务器和/或等等的另一计算机来访问数 据库2202和/或文件存储器2203。还将会理解,数据库2202和/或文件存储 器2203可以被集成到计算机2201中。还将会理解,有关计算机模型、组件 和部件的信息可以以不同方式存储。

计算机系统2200被适配为便利于计算机模型的显现/渲染。计算机系统 可以用作独立系统,或与其他计算机有关。因此,在一些实施例中,计算机 系统2200还包括一个或多个接口,用于将计算机经由例如因特网的计算机网 络与其他计算机连接。

图24示出了计算机实现的构造工具的图形用户接口。用户接口包括显示 区域2401,其显示具有底板2402和包括多个互联的组件2404的计算机模型 2403的3D景象的视图。所述景象是从预定的视点显示的。在下文中,该视 点也将被称为(虚拟)照相机位置,因为其对应于照相机将从其记录对应于 在显示区域中显示的图形图片的实际结构的图片的位置。

每个组件对应于图形用户接口的一个活动的元件,其可以通过例如用计 算机鼠标在其上点击而被激活以便选择组件。在一个实施例中,所选择的组 件改变外观显示。例如,所选择的组件可以改变颜色、纹理等;其可以通过 在所选择的建造块周围显示边界框等来加亮。用户可以操纵所选择的组件, 例如改变其性质(例如其颜色)、将其删除、执行复制和粘贴操作、将其拖拽 到不同位置、旋转其等等。

用户接口还包括调色板面板,其包括可以由用户选择的多个不同组件 2406。例如,用户可以用鼠标在组件2406之一上点击,由此选择该组件,并 将所选择的组件拖拽到显示区域2401中以将其连接到结构2403或底板2402。 用户接口还包括菜单条2407,其包括多个菜单按钮2408,用于激活各种功能 或工具。例如,工具条可以包括旋转工具,用于改变虚拟相机位置,由此允 许用户从不同的角度观看建造区域。菜单条还可以包括缩放工具,用于向/从 3D景象放大和缩小。工具的其他示例包括:调色板工具,用于选择不同的调 色板2405,每个调色板包括不同的组件集合;着色工具,用于对结构的部件 着色;橡皮擦工具,用于擦除建造块,等等。

菜单条2407还可以提供标准功能,例如用于保存模型、打开先前保存的 模型、打印模型的图像的功能,帮助功能等。

尽管已经详细描述和示出了一些实施例,但是本发明不限于此,而是可 以以在随后的权利要求限定的主题范围内以其他方式具体化。具体的,应当 理解,可以利用其他实施例并且可以做出结构和功能修改,而不背离本发明 的范围。

在枚举若干部件的装置权利要求中,这些部件中的若干部件可以通过一 个且相同的硬件项来具体化。某些措施仅仅在相互不同的从属权利要求中引 用或在不同的实施例中描述的事实不指示这些措施的组合不能有利地使用。

应当强调,当在说明书中使用术语“包括”时,其用来指明所述特征、 整数、步骤或组件的存在,但是不排除存在或添加一个或多个其他特征、整 数、步骤、组件或它们的组。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号