最短路径确定方法和信息处理装置与流程

文档序号:13472618阅读:168来源:国知局
最短路径确定方法和信息处理装置与流程

本文所论述的实施方式涉及最短路径确定方法和信息处理装置。



背景技术:

计算机辅助工程(cae)是通过利用计算机技术来支持产品设计、制造、以及工艺设计的前期检查的技术示例。在cae领域中,通过基于作为要被设计的目标的产品(例如机动车)的三维形状的模型数据来执行仿真,可以从目标产品的设计阶段对组装工艺等进行验证。

专利文献1:日本特开专利公布第2006-277672号。

然而,在常规技术中,存在下述情况:当根据三维形状的模型数据来计算两点之间的、穿过作为要被设计的目标的产品的自由空间的最短路径时,处理负荷增大。

例如,在机动车等的制造场所中,诸如电缆的产品可能外包给其他公司,使得电缆要穿过产品的自由空间。在产品外包给其他公司的这种情况下,根据产品的三维形状的模型数据来指定自由空间,并计算指定的自由空间中的、电缆沿着其而穿过的最短路径。然而,在诸如机动车的产品中,指示产品的三维形状的表面元素均是微细的,从而导致元素的数量增大。这导致用于计算最短路径的处理负荷增大。

因此,本发明的实施方式的一个方面的目的是提供一种计算机可读记录介质、一种最短路径确定方法以及一种信息处理装置,其能够根据三维形状模型数据而容易地计算两点之间的穿过自由空间的最短路径。



技术实现要素:

根据实施方式一方面,一种最短路径确定方法包括:对三维模型进行体素化以生成体素模型;对包括所生成的体素模型的三维空间中的区域执行反转处理,以使设定为体素的区域和未设定为体素的区域反转;从在反转处理之后被设定为体素的区域中提取包括特定两点的区域,要被提取的区域使得具有预定尺寸的特定球体的中心能够穿过其中的任何位置;确定特定两点之间的、在所提取的区域内的最短路径;以及输出最短路径。

附图说明

图1是示出根据实施方式的信息处理装置的功能配置的示例的框图;

图2是示出根据实施方式的信息处理装置的操作的示例的流程图;

图3是用于说明如何对初始三维模型进行体素化的说明图;

图4是用于说明反转的说明图;

图5是用于说明如何提取下述区域的说明图:该区域包括起点和终点,并且球体的中心穿过该区域;

图6是用于说明如何确定最短路径的说明图;

图7a是用于说明显示画面的说明图;

图7b是用于说明显示画面的说明图;

图7c是用于说明显示画面的说明图;以及

图8是示出根据实施方式的信息处理装置的硬件配置的示例的框图。

具体实施方式

将参照附图对本发明的优选实施方式进行说明。

在实施方式中,具有相同功能的部件分配有相同的附图标记,并且省略冗余的说明。以下实施方式中说明的计算机可读记录介质、最短路径确定方法和信息处理装置仅仅是一些示例,并不限于这些实施方式。此外,在不矛盾的范围内,以下实施方式彼此可以适当地组合。

图1是示出根据实施方式的信息处理装置的功能配置的示例的框图。作为图1中示出的信息处理装置1,例如可以采用个人计算机(pc)。信息处理装置1接受由计算机上的三维计算机辅助设计(cad)创建的产品的三维模型(形状)数据。信息处理装置1基于所接受的三维模型数据来执行对产品的处理(例如,外型提取),并将处理结果输出至显示器等。

此处,三维模型数据是指示构成产品的部件的形状的数据,并且可以采用边界表示(brep)和分面(facet)等。brep通过相位信息(本体、面、环、共边缘(coedge)、边缘、顶点等)和几何形状信息(基础表面、基础曲线、基点等)来表示产品的三维形状。分面通过微三角形(本体、面、三角形等)的集合来表示产品的三维形状。

如图1中所示,信息处理装置1包括体素化单元10、反转单元20、区域提取单元30、路径确定单元40、输出单元50以及设定单元60。

体素化单元10对由产品的三维模型数据指示的该产品的初始三维模型进行体素化,以生成与初始三维模型对应的体素模型。

体素模型通过xyz空间中的微立方体(网格)的集合来表示三维形状。通过这种方式,由于体素模型可以简单地通过xyz空间中的微立方体的存在与否来表示三维形状,因此与诸如brep和分面的三维模型数据相比,可以抑制施加至各种计算的处理负荷。

反转单元20对包括由体素化单元10生成的体素模型的三维空间的区域(例如,立方体或长方体)执行逆体素化(inversevoxelization)。就是说,反转单元20执行用于使设定为体素的区域和未设定为体素的区域反转的反转处理。通过逆体素化,使除了与三维形状对应的区域之外的自由空间(区域)体素化(设定为体素)。

区域提取单元30在逆体素化之后被设定为体素的区域中提取下述区域:该区域包括用于获得最短路径的起点和终点,并且具有预设尺寸的球体的中心可以穿过该区域。换句话说,要被提取的区域使得具有预设尺寸的球体的中心能够穿过其中的任何位置。路径确定单元40确定在由区域提取单元30所提取的区域内的、穿过起点和终点这两点的最短路径。

输出单元50输出路径确定单元40的处理结果,即由路径确定单元40确定的、在三维空间的自由空间(自由区域)内的穿过起点和终点这两点的最短路径。作为示例,输出单元50输出用于显示最短路径的显示数据。因此,用户可以检查在三维形状的自由空间内的、穿过起点和终点这两点的最短路径。

设定单元60是接受来自用户的各种设定的用户接口。例如,设定单元60通过在显示器上显示图形用户界面(gui)并且通过gui接受来自用户的操作而执行各种设定。作为示例,设定单元60接受用于在体素化单元10、反转单元20、区域提取单元30和路径确定单元40中确定最短路径的条件设定。设定单元60还接受显示设定,例如要在输出单元50中输出的显示数据的设定。

接下来将说明信息处理装置1中的处理的细节。图2是示出根据实施方式的信息处理装置1的操作的示例的流程图。

如图2所示,在处理开始时,设定单元60基于用户在设定画面上的操作而接受用于确定最短路径的条件设定(s1)。

具体地,设定单元60接受体素化单元10中的体素化条件(例如,体素间距)的设定值。此外,设定单元60接受下述设定值:诸如用于确定最短路径的起点和终点,以及相对于最短路径上的中心位置的余量(margin),例如沿着最短路径安装的管材(管)的直径参数。

在s1之后,体素化单元10在于s1处设定的条件下,对由产品的初始三维模型(形状)数据指示的该产品的三维模型进行体素化(s2)。

图3是用于说明如何对三维模型进行体素化的说明图。如图3所示,体素化单元10对由三维模型(形状)数据指示的初始三维模型300进行体素化,并且生成与三维模型300对应的体素模型301。这种体素化通过使用例如已知算法、比如将包括在三维模型数据中的每个三角形分面所穿过的区域设定为“1(存在体素)”来执行。

随后,反转单元20对包括由体素化单元10生成的体素模型301的预定三维空间中的区域上、即围绕体素模型301的(例如立方体或长方体)区域上的体素进行反转处理(逆体素化)(s3)。

图4是用于说明反转(逆体素化)的说明图。反转单元20使包括由体素化单元10生成的体素模型301的立方体301a中的设定为体素模型301的区域和未设定为体素模型301的区域反转。通过该反转,除了与初始三维模型对应的体素模型301之外的自由空间被提取为体素模型302。

然后,区域提取单元30在于s3处进行反转之后被设定为体素模型302的区域中的、包括于s1处设定的起点和终点的区域中识别(提取)下述区域:具有在s1等处预设的尺寸的球体穿过该区域(s4)。随后,区域提取单元30在所识别的、球体穿过的区域中提取该球体的中心穿过的区域(s5)。

图5是用于说明如何提取下述区域的说明图:该区域包括起点和终点,并且球体的中心穿过该区域。具体地,图5示出图4中的体素模型302在a-a方向上的横截面。

如图5所示,假设起点310和终点311预先设定在与除了体素模型301之外的自由空间对应的体素模型302中,其中,体素模型301与三维形状对应。区域提取单元30在包括起点310和终点311的区域中识别(提取)具有在s1等处预设的尺寸的球体320穿过的区域330。具体地,区域提取单元30使球体320在体素模型302内连续移动,并且区域提取单元30识别球体320可以在不从体素模型302突出的情况下连续穿过的区域330。

随后,区域提取单元30基于移动穿过区域330的球体320的轨迹,来提取球体320的中心穿过的区域340。由于所提取的区域340是球体320的中心穿过的区域,因此所提取的区域340与体素模型302的边缘分隔开球体320的半径的距离(具有余量)。此外,没有提取体素模型302中的球体320未穿过的空间,即与球体320的直径对应的管材(管)未穿过的区域。因此,通过确定区域340中的最短路径,在管材沿着该最短路径安装的情况下,管材不会干涉三维模型300。

在s5之后,路径确定单元40确定由区域提取单元30所提取的区域340内的、穿过起点310和终点311这两点的最短路径(s6)。

图6是用于说明如何确定最短路径的说明图。如图6所示,路径确定单元40通过组合八叉树和dijkstra方法的已知方法等来确定区域340内的从起点310至终点311的最短路径312。具体地,路径确定单元40找到区域340的八叉树结构,并创建以八叉树结构的端部作为顶点的图形结构。然后,路径确定单元40通过将作为一种获得图形结构的两个节点之间的最短路径的算法的dijkstra方法应用到所创建的图形结构,来确定最短路径312。

通过在区域340内进行确定最短路径312,最短路径312距离体素模型302的边缘具有与球体320的半径对应的余量。因此,根据图6中的三维模型300、体素模型301、最短路径312以及沿着最短路径312的管材313的布置明显可以看出,管材313不会干涉体素模型301(三维模型300)。

在s6之后,输出单元50输出路径确定单元40的处理结果,即,在不干涉三维模型300的情况下穿过起点310和终点311这两点的最短路径312(s7)。具体地,输出单元50将最短路径312输出至显示画面等。

图7a至图7c是用于说明显示画面的说明图。如图7a至图7c所示,显示画面400包括操作区域401、树型显示区域402和三维模型显示区域403。

操作区域401是具有各种操作按钮的区域,并且操作区域401接受来自用户的操作指令。树型显示区域402是用于以树的形式来显示在三维模型显示区域403中显示的显示构件的区域。对于在三维模型显示区域403中显示的每个显示构件,在树型显示区域402的树402a中设定分支402b。通过勾选/不勾选分支402b中的复选框,用户可以指示是否在三维模型显示区域403中显示该显示构件。

如图7a所示,首先,用户通过对显示画面400中的操作区域401执行操作来设定体素化,其中,三维模型300显示在三维模型显示区域403中。具体地,用户调用设定画面201,设定体素化条件,并对三维模型300执行体素化。

因此,对三维模型300执行体素化,并且如图7b所示,对应于三维模型300的体素模型301显示在三维模型显示区域403中。因此,用户可以确认对应于三维模型300的体素模型301的状态。用户然后弹出设定画面202,并设定用于确定最短路径312(通过最短路径312安装的管材313的路径)的条件,以便执行用于确定最短路径的处理。

因此,确定了通过最短路径312安装的管材313的路径,并且如图7c中所示,在三维模型显示区域403中,通过所确定的路径来显示管材313。因此,用户可以容易地确认通过最短路径312安装的管材313的路径。

如上所述,信息处理装置1对三维模型300进行体素化,生成与三维模型300对应的体素模型301,并且对包括体素模型301的立方体301a进行逆体素化。然后,信息处理装置1在逆体素化之后被设定为体素模型302的区域中提取下述区域340:该区域340包括起点310和终点311这两点,并且具有预定尺寸的球体320的中心可以穿过该区域340。随后,信息处理装置1确定所提取的区域340内的、穿过起点310和终点311这两点的最短路径312,并将所确定的最短路径312输出至显示器等。通过这种方式,由于信息处理装置1使用能够容易地表示三维形状的体素模型301和302从除了三维形状之外的自由空间中确定最短路径312,因此与三维模型数据(例如brep或分面)相比,可以抑制施加到各种计算的处理负荷。

另外,示出的装置的各个部件在物理上不一定如图所示地那样配置。换句话说,装置的具体分布和集成模式不限于所示出的装置,并且全部或部分装置可以根据各种负荷和使用条件而配置成在功能上或在物理上以任意单位分布或集成。

由信息处理装置1执行的各种处理功能中的全部或任意部分可以在中央处理单元(cpu)(或者在微计算机,例如微处理单元(mpu)或微控制单元(mcu)上)上执行。另外,不言而喻的是,各种处理功能中的全部或任意部分可以在由cpu(或者微计算机,例如mpu或mcu)分析且执行的程序上执行或者通过有线逻辑在硬件上执行。可以通过云计算与多台计算机协同执行由信息处理装置1执行的各种处理功能。

附带地,在实施方式中说明的各种类型的处理可以通过计算机执行所准备的程序来实施。因此,下面将说明执行具有与实施方式的功能相同的功能的程序的计算机(硬件)的示例。图8是示出根据实施方式的信息处理装置1的硬件配置的示例的框图。

如图8所示,信息处理装置1包括执行各种算法处理的cpu101、接受数据输入的输入装置102、监视器103和扬声器104。信息处理装置1还包括从记录介质读取程序等的介质读取器105、用于连接至各种装置的接口装置106、以及用于通过有线或无线连接与外部装置进行通信的通信装置107。信息处理装置1还包括临时存储各条信息的随机存取存储器(ram)108和硬盘驱动器109。信息处理装置1的各个单元(101至109)连接至总线110。

硬盘驱动器109存储用于执行在实施方式中说明的体素化单元10、反转单元20、区域提取单元30、路径确定单元40、输出单元50和设定单元60中的各种处理的程序111。此外,硬盘驱动器109存储由程序111引用的各种数据112(例如,三维模型数据)。输入装置102接受例如来自信息处理装置1的操作者的操作信息的输入。监视器103显示例如由操作者操作的各种画面(例如,设定画面201和202以及显示画面400)。接口装置106例如与打印装置连接。通信装置107连接至通信网络(例如局域网(lan)),并且经由通信网络与外部装置交换各种信息。

cpu101通过读取存储在硬盘驱动器109中的程序111、将程序111加载到ram108中并且执行该程序来执行各种处理。程序111不必存储在硬盘驱动器109中。例如,可以读取并执行存储在可由信息处理装置1读取的存储介质中的程序111。可由信息处理装置1读取的存储介质例如对应于可移动记录介质(例如,只读光盘存储器(cd-rom)、数字通用光盘(dvd)和通用串行总线(usb)存储器)、半导体存储器(例如闪速存储器)以及硬盘驱动器。可以如下配置:将程序111存储在连接至公共线路、因特网或lan等的装置中,并且信息处理装置1从任何这样的装置中读取程序111并执行该程序。

根据本发明的一个方面,可以根据三维形状容易地计算两点之间的、穿过自由空间的最短路径。

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