显露被隐藏对象的显示数字模型化对象的组件的计算机实施的方法与流程

文档序号:11654515阅读:298来源:国知局
显露被隐藏对象的显示数字模型化对象的组件的计算机实施的方法与流程

本发明涉及一种用于显示数字模型化对象的组件的方法,其中,至少一个对象的被选择部分通过透过放置在其之前的对象的透明性而“被显露”,否则所述被选择部分将被隐藏。本发明还涉及用于执行所述方法的计算机程序产品、非易失性计算机可读数据存储介质和计算机辅助设计(cad)系统。



背景技术:

本发明适用于计算机图形领域,并且更特别地涉及计算机辅助设计领域。本发明特别适合于产生技术说明、营销展示、装配说明、培训材料等。

在上述所有应用中,存在表示数字模型化对象的组件、显示通常隐藏在组件内部的部件的需要。例如,可能需要提供其中发动机或者其他机械机构透过车身可见(“显露”)的汽车表示。

为了获得这种图形表示,已知的是使用通常使用cad软件创建的组件和将被显露的被隐藏部分的三维(3d)数字模型来生成其二维(2d)图像,然后在2d计算机图形软件中使用一个或多个蒙版来遮盖这些图像以选择其中显露“被隐藏”部分的感兴趣的区域。该方法是麻烦的,并且需要用户大量的手动干预。此外,如果改变了观看组件的视点,则需要重复整个过程。

一种备选方案是通过以下方式直接在3d中操作,所述方式为设置内部对象的优先级以使得即使当它们位于其他对象之后时它们也是可见的。例如,图1显示了玩具汽车(在左侧)和其传动装置(在右侧)的图形表示。在汽车的“通常”表示中,传动装置大多是隐藏的,因为其位于汽车的车身和左前轮之后。然而,传动装置可以被设定成具有在车身和轮子之上的优先级,并且因此可以在最终的处理后的图像中通过透明性而看到(参见图2)。该方案的问题是不能使传动装置仅仅透过车身的特定区域可见(或者相反地,不能仅仅使传动装置的特定部分可见)。



技术实现要素:

本发明的目的在于克服现有技术的这些缺点。具体而言,本发明的目的在于提供一种用于显露三维模型化对象的组件的“被隐藏”部件的被选择部分的简单有效的方法。根据本发明,所述方法在3d中执行,从而允许容易地改变视点,并且需要最小的人为干预。

根据本发明,该目的通过引入被称为“显露器”的图形工具来实现,所述图形工具允许选择所述组件的特定区域,在所述特定区域中,被隐藏的部件可以通过透过位于其前方的其他对象的透明性来显露。本发明的有利特征在于所述显露器是3d对象,其可以实时地四处移动、活动和调整。

于是,本发明的一个目的是一种在三维场景中显示数字模型化对象的组件的计算机实施的方法,所述方法包括以下步骤:

a)将所述组件的至少一个对象限定为可显露的;

b)从所述对象的三维数字模型生成从一个视点所见的所述组件的图形表示,其中,所述可显露对象至少部分地位于被称为隐藏对象的至少另一个对象之后;以及显示所述图形表示;

c)使用图形工具来选择所述组件的所述图形表示的、被称为显露区的区域;以及

d)渲染(呈现)包括从所述视点所见的所述组件的三维表示的三维场景,其中所述可显露对象的位于所述隐藏对象之后并且包括在所述显露区内的部分通过透过所述隐藏对象的透明性而示出,而所述可显露对象的位于所述隐藏对象之后的(其他)部分不可见。

根据本发明的特定实施例:

-所述步骤c)可以通过以下方式来执行,所述方式为使用图形用户接口创建至少通过位置、取向和角度开口限定的图形工具,所述显露区由所述图形工具的表面在所述隐藏对象的表面上的投影限定。

-更特别地,所述图形工具可以是与所述三维数字模型相交的、被称为显露锥体的锥体,所述显露区由所述隐藏对象的表面和所述显露锥体之间的相交部限定。

-所述步骤b)可以包括生成所述组件的所述图形表示,所述可显露对象的位于所述隐藏对象之后的所有部分于是可以通过透过所述隐藏对象的透明性来示出。

-所述步骤d)可以包括将所述可显露对象的像素与所述隐藏对象的相应像素混合。

-所述组件的对象可以布置在层中,并且属于除了最外层之外的层的对象可以至少部分地被属于外层的对象隐藏。

本发明的另一个目的是一种计算机程序产品,其存储在非易失性计算机可读数据存储介质上,并且包括计算机可执行指令,以使计算机系统执行所述方法。

本发明的另一个目的是一种非易失性计算机可读数据存储介质,其包含计算机可执行指令,以使计算机系统执行所述方法。

本发明的另一个目的是一种计算机辅助设计系统,其包括耦接至存储器和图形用户接口的处理器,所述存储器存储计算机可执行指令,以使计算机辅助设计系统执行所述方法。

附图说明

本发明的附加的特征和优点将从以下结合附图给出的说明中变得显而易见,附图显示了:

-图1是根据本发明的实施例和现有技术限定组件的可显露对象的步骤;

-图2是根据本发明的实施例和现有技术显示对象组件的图形表示的步骤,其中隐藏对象和可显露对象都是可见的;

-图3a-3d是根据本发明的实施例的创建用于选择显露区的图形工具的步骤;

-图4是通过根据本发明的实施例的方法获得的图2的组件的图形表示,其中,在由相应的图形工具限定的两个显露区中,所述可显露对象通过透过所述隐藏对象的透明性而被显露;

-图5和图6是适于执行根据本发明的实施例的方法的相应计算机系统的方框图。

具体实施方式

下文中,“三维”(或“3d”)对象将会是允许三维(3d)表示的对象或其数字模型。3d表示允许从所有角度观察部件。例如,当被3d表示时,3d对象可以被处理以及围绕其任意轴线转动或者围绕所述表示显示于其上的屏幕中的任意轴线转动。

相反,“二维”(或“2d”)对象将会是仅仅允许例如平面上的二维(2d)表示的对象或其数字模型。例如,2d对象仅仅可以在所述表示显示于其上的屏幕的平面中平移或者围绕垂直于所述屏幕的轴线旋转。

对象的“数字模型”是数据结构或数据结构集合,其可以由计算机处理并且包含计算机生成所述对象的2d或3d表示所需的所有信息。所述数字模型还可以包含其他项信息,例如,表示物理参数的数据,但是它们不是本发明所需的信息。

如上所述,图1显示了对象a(在该情况下是玩具汽车)的三维数字模型化组件的图形表示,其包括分开展示的至少两个不同的对象,即:车身ho和传动装置ro(分开表示)。所述对象可以分层次地组织在多个层中:所述传动装置属于内层,车身属于最外层。这意味着,由于所述组件的几何结构,车身“优先于”传动装置,并且当两个对象重叠时,仅仅车身可见。因此车身可以称为“隐藏对象”,因为当从特定的视点观看时,它“隐藏”了所述组件的位于其后的其他对象。然而,即使当几何结构决定了所述传动装置ro应被隐藏时,用户也可以将所述传动装置ro限定为“可显露的”,即可见的。这可以使用图形接口来实现,例如通过将鼠标指针定位到传动装置的表示上、在其上执行右击并从弹出菜单中选择“限定为可显露的”选项来实现。

图2显示了通过将图1的两个分开的表示相组合来获得的组件a的图形表示。在渲染(呈现)该表示的同时,计算机将“几何”优先级和“用户限定”优先级二者考虑在内;因此,属于不同层的两个对象ho、ro根据被称为“透明性设置”的预定(通常是用户可选择的)权重来被混合。该混合可以逐像素地执行;其通常涉及为最终图像的每个像素限定亮度值和色度值,所述亮度值和所述色度值通过将被混合的图像的相应值的线性组合来给出。这不影响3d数字模型,而仅仅影响从所述模型获得的、实际显示在计算机显示器上的2d图像。

结果是“被隐藏”对象ro被显露,即,通过透过所述隐藏对象ho的透明性而可见。

这对应于现有技术,并且如以上所说明,并不完全令人满意。但是,在本发明的框架内,其仅仅构成准备(初步)步骤。

本发明方法的以下步骤在于创建“显露器”,其允许对被限定为“可显露”的被隐藏对象实际上将在其中被显露出来的、所述组件的区域(“显露区”)进行选择。这可以如图3a-3d所示地执行。

首先(图3a),用户例如通过将指针pt定位在合适的用户接口的“显露器创建”按钮b上来启动显露器的创建。

然后(图3b)用户例如使用相同的指针p选择处于组件a的图形表示的表面上的点ap1。有利地,点ap1对应于将由显露器限定的显露区的中心。

随后(图3c),用户选择第二点ap2,从而确定限定显露区的显露器rc的取向。在附图的示例性实施例中,显露器rc是锥体,并且ap2是其顶点,而ap1对应于锥体轴线与组件a的表面的相交部。点ap2可以通过以下方式选择,所述方式为点击或者拖动指针pt远离ap1而同时保持按压鼠标的左侧按钮并且仅仅当指针位于ap2的期望位置处时将其释放。

显露区rz由显露器和组件表面之间的相交部限定或者等同地由显露器外表面在所述表面上的投影限定。

所述锥体以预定的角度开口(例如30°)创建,所述角度开口可以通过移动位于显露区的边界上的第三点ap3来调整;这允许修改所述区的大小(图3d)。

显露器rc是3d对象,其参数(位置、取向、角度开口)可以使用三个“锚定点(定位点)”ap1、ap2、pa3交互式地修改。此外,如果组件a移动或旋转,那么显露器将跟随它移动或旋转。

可以使用多于一个显露器,例如,在图4上表示出了限定相应的显露区(rz1,rz2)的两个显露器(rc1,rc2)。

在已经创建了一个或多个显露器之后,使用计算机图形软件来渲染3d场景从而表示所述组件,其中,仅仅在(多个)显露区内(例如,使用上面参考图2所述的技术)显露出了可显露对象ro。这在图4上示出。所述渲染动态地、即实时地执行。应当注意,所述传动装置ro的某些部件(车轮附近)即使处于显露区之外也是可见的,这只是因为它们没有被任何其他具有更高“几何”优先级的对象所隐藏。

用户可以选择隐藏显露器或保留它们显现。

本发明的有利特征在于,如果用户在场景内移动或旋转组件(或者等同地改变观看场景的视点),则显露区自动地跟随这些改变。

已经参考特定实施例说明了本发明的方法,但是多个备选方案也是可能的。例如:

-在上述实施例中,可显露对象ro最初在各处显露出来,而在创建显露器之后,处于显露区之外的部分被隐藏。还能够从组件的不显示透明性的“常规”视图开始。

-显露器不必是回转锥体(即,不必是具有垂直于其轴线的圆形底部的锥体)。更一般地,它们可以是具有非圆形底部(或者,在数学术语中,具有准线)的锥体;在该情况下,限定它们所需的参数的数量以及因此锚定点的数量可以大于三个(例如,ap3可以由多个锚定点替换,其中一个锚定点对应于多边形准线的一个顶点)。甚至更一般地,显露器可以完全不是锥形的,而是具有例如抛物体的形状。

-锥形显露器可以仅仅由两个参数而非三个参数来限定,即,其高度或其角度开口可以是固定的。然而,这并非优选。

-存在创建显露器的不同方式,例如,通过手动输入其参数的数值。然而,图3a-3d所示的图形方案被认为是最具用户亲和性的。

本发明的方法可以由合适地编程的通用计算机或计算机系统来执行,所述通用计算机或计算机系统可包括计算机网络,并以非易失性形式在计算机可读介质(例如硬盘、固态磁盘或cd-rom)上存储合适的程序,且使用其(多个)微处理器和存储器执行所述程序。

参考图5描述了适合于执行根据本发明的示例性实施例的方法的计算机、更确切地说计算机辅助设计站。在图5中,所述计算机包括执行上述过程的中央处理单元(cpu)p。所述过程可以作为可执行程序、即计算机可读指令集合存储在诸如ramm1或romm2的存储器中,或者存储在硬盘驱动器(hdd)m3、dvd/cd驱动器m4上,或者可以远程存储。形成组件的对象的三维数字模型也在存储器装置m1至m4中的一个或多个上存储或远程存储。

要求保护的本发明不受将本发明的过程的计算机可读指令和/或数字模型存储于其上的计算机可读介质的形式的限制。例如,指令和数据库可以存储在cd、dvd、flash存储器、ram、rom、prom、eprom、eeprom、硬盘或计算机辅助设计站与之通信的任何其他信息处理装置(例如服务器或计算机)上。程序和模型可以存储在同一存储器装置上或存储在不同的存储器装置上。

此外,适合于执行本发明方法的计算机程序可以作为与cpu800和诸如microsoftvista、microsoftwindows7、unix、solaris、linux、applemac-os的操作系统以及本领域技术人员已知的其他系统相结合地执行的实用应用程序、后台守护程序或操作系统的组成部分或其组合来提供。

cpup可以是来自美国intel的xenon处理器或来自美国amd的opteron处理器,或者可以是其他类型的处理器,例如来自美国freescale公司的freescalecoldfire、imx或arm处理器。备选地,如本领域普通技术人员将认识到,cpu可以是诸如来自美国intel公司的core2duo的处理器,或者可以在fpga、asic、pld上实施或者使用离散逻辑电路来实施。此外,cpu可以被实施成协作工作以执行上述本发明的过程的计算机可读指令的多个处理器。

图5中的计算机辅助设计站还包括用于与诸如局域网(lan)、广域网(wan)、因特网等网络相联接的网络接口n1,例如来自美国intel公司的intel以太网pro网络接口卡。计算机辅助设计站还包括用于与显示器dy(例如hewlettpackardhpl2445wlcd显示屏)相联接的显示器控制器dc,例如来自美国nvidia公司的nvidiageforcegtx图形适配器。通用i/o接口if与键盘kb和定点装置pd(例如滚球、鼠标、触摸板等)相联接。显示器、键盘和定点装置与显示器控制器和i/o接口一起形成图形用户接口。

磁盘控制器dkc将hddm3和dvd/cdm4与用于使计算机辅助设计站的所有部件互相连接的通信总线cbs相连接,所述通信总线cbs可以是isa、eisa、vesa、pci等。

因为以下部件的特征是已知的,所以为了简洁起见,本文省略了显示器、键盘、定点装置以及显示器控制器、磁盘控制器、网络接口和i/o接口的一般特征和功能的描述。

图6是适合于执行根据本发明的不同示例性实施例的方法的计算机系统的方框图。

在图6中,可执行程序exp和对象的三维数字模型存储在连接至服务器sc的存储器装置上。除了显示器控制器、显示器、键盘和/或定点装置可能不存在于服务器中之外,存储器装置和服务器的总体架构可以与上面参考图5所论述的相同。

服务器sc于是经由网络nw连接至管理员系统ads和终端用户计算机euc。

除了管理员系统和终端用户计算机的存储器装置不存储可执行程序exp和/或三维数字模型之外,管理员系统和终端用户计算机的总体架构可以与上面参考图5所论述的相同。然而,如以下将论述,终端用户计算机存储被设计用于与服务器的可执行程序协作的客户端程序。

可以理解,网络nw可以是诸如因特网的公共网络,或者诸如lan或wan网络的私有网络或其任意组合,并且还可以包括pstn或isdn子网络。网络nw还可以是诸如以太网的有线网络,或者可以是诸如包括edge、3g和4g无线蜂窝系统的蜂窝网络的无线网络。无线网络还可以是wi-fi、蓝牙或任何其他已知的无线通信形式。因此,网络nw仅仅是示例性的,并且绝不限制本发明的范围。

存储在终端用户计算机的存储器装置中并由终端用户计算机的cpu执行的客户端程序经由网络nw访问由服务器sc存储并包含三维数字模型的数据库mdb。这允许终端用户创建对象组件并且将它们中的一个或多个限定为可显露的。其还允许终端用户(例如通过设置视点)确定组件的图形表示的参数以及创建如上所述的一个或多个显露器。服务器执行如上所述的处理,并再次使用网络nw将对应于组件的期望表示的图像文件传送至终端用户计算机。

尽管仅仅示出了一个管理员系统ads和一个终端用户系统eux,但是系统可以没有限制地支持任意数量的管理员系统和/或终端用户系统。类似地,在不脱离本发明的范围的情况下,还可以在系统中实施多个服务器、模型数据库。

本文所述的任何过程应当被理解成是表示包括用于实施特定逻辑功能或过程中的步骤的一个或多个可执行指令的代码的模块、部段或部分,并且备选实施方式包括在本发明的示例性实施例的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1