通过导引曲线定义的曲面的设计的计算机实现的方法

文档序号:6578988阅读:216来源:国知局
专利名称:通过导引曲线定义的曲面的设计的计算机实现的方法
技术领域
本发明涉及计算机程序和系统领域,更具体地,本发明涉及计算机辅助设计(CAD)、制造(CAM)、和工程(CAE)系统领域。
技术背景市场上提供有许多系统和程序用于零件的设计、零件的组件以及其产 品,例如由达索系统公司(DassaultSys化mes)提供的在商标为CATIA(计算机 辅助三维交互应用)的产品。CATIA是一个多平台CAD/CAM/CAE软件套 组,通常被称为3D产品生命周期管理软件(PLM)套组。它支持产品开发 (CAx)的多个阶段,涵盖从概念化,通过设计(CAD)和制造(CAM), 一直延 伸到分析(CAE)。该软件套组是可经由应用程序接口(API)为用户定制。在 专用的API下, 一些版本可适用于各种程序语言。这些所谓的CAD系统尤其允许用户构建和操作复杂的三维(3D)物体模 型或物体组件。因而,在具有多面的特定情形中,CAD系统使用缘或线来 提供模型化的物体的表示。这些CAD系统将零件或零件的组件管理为模型 化的物体,所述模型化的物体大体上是规范的几何结构。特别地,CAD文 件包含根据其生成几何结构的规范。根据几何结构生成表示。可以将规范、 几何结构和表示存储在单个或多个CAD文件中。CAD系统包括图形工具, 其用以将模型化的物体表示给设计者;这些工具专门用于复杂物体的显示 一对于零件,在CAD系统中表示物体的文件的通常大小至多为兆字节级, 并且组件可以包括数千个零件。CAD系统管理物体模型,这些物体模型存 储在电子文件中。使用已知CAD系统来设计机械零件可以视为定义所述零件的几何形状 和维数,以便符合功能和制造的需要。大体上,得到的形状是由设计者创 建的诸如衬垫、空腔、凹槽和轴之类的基本特征的组合。通过复杂的几何 和拓扑计算,CAD系统将固体(机械零件)的边界表示产生为例如闭合的和定向的曲面(surface)。其他基本单元可以形成零件或产品的形状,在这些基本单元之间是直 纹曲面(ruledsmface)。直纹曲面设计可以是计算机辅助的几何设计系统的一 部分。严格地说,在几何结构中,如果经由曲面S的每个点,存在一条直 线位于S上,则S是直纹曲面。知名的示例是平面以及锥体或柱体曲面。 因此可以将直纹曲面设想为通过在空间中移动线段(即"直"线)而形成的曲 面。例如,锥体是通过保持线的一个端点固定,而按照圆形移动另一个端 点而形成的。线段的运动是由例如由用户定义的两条导引曲线(guiding curve) 来支配的,这样,线段的端点沿着每条导引曲线来移动。通常将直纹曲面应用在加工设计(例如,铸造、锻模的闪蒸段、锻造零 件的切削工具),以及形状设计(例如,机械零件设计中的斜面、架构中的倾 斜曲面)中。可展曲面被认为是直纹曲面的特殊情形,其可以展开为平面而没有变 形,除上面的直纹曲面的特征之外,其还包括额外的可展性约束(constraint)。将可展曲面使用在物体的设计中,其必须用(类似)不可伸展的材料的平 板制造,这样,只将材料折叠为适合的形状。许多人造的物体,诸如皮革 制成的奢华手袋、特定建筑物、以及船体的个别金属板等,都是以这种方 式设计的。与直纹曲面设计有关的若干计算方法和算法在现有技术中是已知的。 一个主要的问题在于如何便利地耦合两个导引曲线。有许多种方式来通过 移动线段连接两个输入导引曲线。因而,耦合策略是直纹曲面设计的关键 特征。将使用两种耦合技术。第一种是"隐式耦合(implicit coupling)",其中,概括地说,由CAD系 统来掌管耦合策略。CAD系统运行嵌入"成本函数"的算法,以便将直纹 曲面计算为优化问题的解,并且特别是成本最低化问题的解。成本函数可 以捕捉物理属性,例如,最小曲面面积、最大可展性、最小弯曲能量、最 小平均曲率变化或者最小正规变分(normal variation)。而且,成本函数可以 线性地组合若干这样的准则。此外,专用的"耦合函数",或者等同的对应 "耦合曲线(coupling curve)",捕捉如何将第一导引曲线的每个点连接到其 它导引曲线的点上。在成本函数中涉及耦合函数和导引曲线的几何定义。耦合函数的基本属性是单调。另外,得到的曲面是单一的浙叠的或收縮的), 这使得曲面不能使用在任何进一步的几何处理中。关于隐式耦合的通常参考文献是"Optimal boundary triangulations of an interpolating ruled surface", C.C丄Wang,. K. Tang, Journal of Computing and Information Science in Engineering, Vol.5, 2005 。此外,可能发生"局部修补"。对应的技术在下面描述。用户让CAD 系统通过其自身的隐含策略来计算直纹曲面。通常,得到的曲面不是令人 满意的。所以,有益地通过交互式工具箱,用户手工来移除曲面的"坏" 部分并且使用填充曲面来填充缺口 。注意填充曲面是由边界和相切条件定 义的,它不是直纹曲面。已知的第二个技术是"显式耦合"。此处,由CAD系统用户来掌管耦 合策略。CAD系统要求用户在导引曲线上选择点,以及在其他导引曲线上 选择对应的点。所连接的点的数量由用户选择。这导致由线段连接的耦合 的点的有限集。随后CAD系统使用已知的插值策略来填充在连续的耦合段 之间的空白空间。隐式耦合的已知方法还可以利用数值优化算法。科学文献提供了大量 的这种算法。上面的方法不是没有错误的。例如,隐式耦合方法涉及通过物理属性来驱动或激发的成本函数。如 图IA-C所示(如同上面引用的Wang和Tang的论文),通过不同物理准则(图 1B-1C)从相同的引导曲线(图1A)获得两个直纹曲面。注意由于线段的局部 集中而造成的曲面的不良品质。因而,必须改善得到的曲面的品质。显式耦合由机械CAD用户负责。该技术的第一个弊端是以人工操作者 不能处理数百个连接两条导引曲线的耦合段。少数打是合理的极限,这就 限制了设计的范围。第二个弊端是在修改导引曲线的每个时刻必须重新定 义或者更新耦合。即使CAD系统是基于历史的(意思是对曲线初始定义的 点是对经修改的曲线自动重新定义的),也不能保证对更新的导引曲线插入 的更新的耦合可以提供正确的直纹曲面。因此,用户不得不检査经修改的 曲面,并且在许多情况下不得不重新进行耦合的工作。显式耦合的最后一 个弊端是它从不工作在第一机会(shot)处。用户通过乏味的尝试和反复的错误过程对其进行改善。而且,在导引曲线修改的每个时刻均可能需要这种 尝试和错误过程。最后,涉及局部修补的方法本质上是人工过程。它依赖于用户的能力 来查看直纹曲面在哪是不正确的。可能会错过非常小的奇点。显然,初始 的直纹曲面的局部修补是不适合经修改的直纹曲面的。再一次,在修改导 引曲线的每个时刻必须重新进行局部修补处理。简而言之,现有的技术所提供的解决方案会导致不良品质的输出或者 耗费时间的设计过程。此外,隐式耦合的内在算法往往会失败,特别是在涉及导引曲线的情 况下。因而,其稳健性受到了质疑。因此,本发明旨在改善直纹曲面的设计的计算机实施的方法的稳健性。 优选地,该解决方案应该改善曲面输出的品质,并且如果可以,归纳到经 由耦合两个导引曲线定义的任何曲面上。发明内容为了实现这些,本发明提出 一种通过导引曲线尸(")和2(v)以及耦合曲线^4(^),4》来定义的曲面的设计的计算机实现的方法,用以改善通过这种曲面进行建模的产品的制造,所述方法包括画访问定义导引曲线尸(")和以及成本函数/( )的数据;-定义目标函数类型 / = /(/," W),所述目标函数类型 / = /(/," W)涉及所述成本函数/(f, W)和所述耦合曲线S 4 (々),(S》的坐标"W;-优化所述目标函数J,来获得参数S的耦合曲线SB("厶W(S));以及 -根据所述导引曲线尸(《")和2(w(s))来提供曲面,所述导引曲线尸(《力)和0(W(J))分别通过使用所获得的耦合曲线的坐标f, W来构成,其中,在定义和优化所述目标函数的步骤中,对所述目标函数 进行约束,从而通过调节函数//来调节所述成本函数/(^^的自变量f,W。在给定的实施例中,根据本发明的过程可以包括下面的特征中的一个 或多个-本发明的方法是通过所述导引曲线P(")和g(v)以及所述耦合曲线S4(^),4y》来定义的直纹曲面的设计的计算机实现的方法,其中在提供 所述曲面的步骤中,所提供的曲面是直纹曲面类型 A)=义^(> ;(")+(1 一;-在定义所述目标函数的步骤中,对所述目标函数进行定义,使得所述目标函数独立于所述成本函数的参数化;-在定义所述目标函数的步骤中,接下来要优化的目标函数的类型为1々,w)= J"/W4wW)〃(々),4s))^ ,从而通过所述调节函数//来调节所述成o本函数;-在定义所述目标函数的步骤中,所定义的目标函数的类型为々,w)= j/W4w(4"Ws),w'W>fe ,其中所述耦合曲线^',V)涉及所述成o本函数的自变量的第一导数;-在定义所述目标函数的步骤中,所述调节函数/z是标量、正齐次函数; -在优化所述目标函数的步骤中,对所述目标函数进行约束,使得在所 述调节函数中涉及的所述导数均是正的,由此实现渐增的耦合曲线;-在优化所述目标函数的步骤中,对所述优化进行约束,使得,;y,"、"和j'、") ^,其中,邊正阈值;-在定义所述目标函数的步骤中,实现所述调节函数//,以便定义二维度量;-在优化所述目标函数的步骤中,将所述优化形成为下面的最小化问题: min/(y,w).fV7^,w')^f;以及-在定义所述目标函数的步骤中,将所述调节函数实现为非欧几里得度量函数,例如实现为函数类型〃(",V)叫"I + M;-优化所述目标函数的步骤利用粒子群优化(PSO)算法;9-将在优化所述目标函数的步骤中使用的所述PSO算法的搜索空间限 定为一组严格渐增的耦合曲线;-实现在优化所述目标函数的步骤中使用的所述PSO算法,来捕捉对应 于耦合曲线的曲线,以作为"二2""个变量x,.e
的层次结构,其中,所述 变量x,为层次结构坐标x,,所述层次结构坐标x,.表示要捕捉的所述耦合曲 线;以及-在优化所述目标函数的步骤中,将所述层次结构坐标、转变为笛卡尔 坐标fc,w,〕。本发明还涉及计算机化的系统或者计算机程序产品,其包括用于实施 本发明的方法的模块和程序代码模块。


引用附图,现在论述本发明的各个实施例,在附图中图1A-C示出基于隐式耦合的现有方法的弊端;图2是根据优选实施例的整体过程的流程图;图3A示出与参数值^0和40相关联的耦合曲线;图3B例示出了得到的直纹曲面;图4A-B示出振荡耦合曲线;图5A-B示出单调渐增但并非严格渐增的耦合曲线;图6示出非平面三角形直纹曲面;图7A-B描绘局部水平和局部垂直渐增(但并非严格渐增)的耦合曲线; 图8A-B示出成本函数/(f,w)的离散化的自变量fc,w,.)以估算调节函数 P(Af,,Aw,),其中,点fc,w,)约束于平行线上并垂直于对角线(对于图8A中的 两个连续的点((,,)和("^+1),和图8B中的一连串的点); 图9A-12B以图示的方式示出了图13的流程图的实现; 图13是例示来自层次结构坐标x,的耦合曲线的笛卡尔点fc,^)的计算 的流程图;图14是例示(关于图13的计算的)逆向计算的流程图。
具体实施方式
其优选实施例。随后, 一步接一步地对整个过程进行描述。最后,探讨优选实施例的细节。简而言之,本发明涉及基于隐式耦合的方案的(直纹)曲面的设计的方 法。根据本发明,对目标函数J-J(/Aw)进行约束,从而由调节函数^来 调节成本函数/(^v)的自变量(argument)f,iv。因而,此处除了涉及成本函数 以外,还涉及调节函数^。调节函数作用于成本函数/(f,w)的自变量n 更准确的说,在优化期间函数^调节所述自变量,正如防抱死制动控制器 (anti-lockbrake controller)调节车轮的转动速度一样。类似地,函数^调节所 述自变量,因为它一般作用于其"速度"(即第一导数(first derivative))上。 因此,根据非几何准则来对目标函数进行进一步约束。因此,内在算法的稳健性得到改善,这将在下面的各个示例中示出。 更加地,所获得的结果对用户更有意义,并且改善了由设计系统返回的曲 面的品质。相反地,只由几何结构支配的常规的隐式耦合算法可能得到较 差意义的结果。值得注意的是,可以将本发明的方法归纳到通过耦合两个 导引曲线来定义的任何曲面上。事实上,本发明人认识到隐式耦合的现有 方法的弊端归因于优化算法的缺点。特别地,发明人认识到进行优化的目 标函数的约束程度不足以确保稳健的优化和有意义的结果。此外,发明人 了解到在成本函数中涉及的类似物理的准则不足以保证优化算法。当使用 一些准则来不可避免地处理无穷的耦合解时,发明人认识到所需要的准则 应该扩展到常规的物理准则之外。这与许多现有技术的方法形成对照,在 现有技术的方法中,通过系统地开发物理准则,来改善最终的曲面或隐式 耦合算法的稳健性。替代地依赖于调节函数来进一步约束优化过程证明是更加适宜的,因 为物理属性对机械设计者来说并不是特别重要(如下面所述的,还有可展 性)。设计者真正的期望是容易使用,性能和稳健性。类似物理的属性无法 捕捉这些准则,而视情况而定的调节函数保证了内在的优化算法。正如所述的,也许真正处理直纹属性的唯一物理属性是"可展性"。然 而,给定两个任意的导引曲线,通常不存在可展的曲面来连接它们。并且 即使局部地存在 的曲面 ii根据所述,现在概括地描述优选实施例。首先,可以由上面的调节函数来增大成本函数,因而产生有效的成本 函数,所述成本函数能够调整以适合一个或多个下面的目的用户的期望、 数值估算的性能、可并行的算法、稳健性。与背景技术相对,得到的高效 成本函数并不只由物理属性驱动,很可能没有任何物理属性。例如,按照下面的意义,来设计提供平滑曲面。 一方面,得到的曲面 的线段都是根据这种方式来协调地布置的。这可以通过有效的成本函数自 身(或者调节函数)来捕捉。现在,本发明的主旨是利用由上面的"协调布置 的"线段的规范来提供灵活性。在这个自由的范围之内,还可以设计有效 的成本函数,来在数值求解步骤期间高效地进行。这提供稳健的求解算法, 以很好地适合于导引曲线的任意的复杂度。另 一方面,可以通过估算一阶偏导数(first order partial derivative)来在任 何地方定义切平面。这还可以通过施加严格渐增(increasing)的耦合曲线来捕 捉。此外,并且如描述的细节,可以将有效的成本函数用作并行处理。例 如,"粒子群优化"(PSO)算法证明是特别适合于所陈述的问题。它能够克 服局部解的陷阱并且朝着远处和更好的解的方向收敛。PSO算法对并行化 来说也是微不足道的,因为它执行成本函数的大量的同时和独立的估算。 读者例如可以参考如下文献"Swarm Intelligence, Focus on Ant and Particle Swarm Optimization", edited by Felix T.S. Chan and Manoj Kumar Tiwari, Publisher: I-Tech Education and Publishing, Vienna, Austria, December 2007。 在转到优选实施例的细节之前,参照图2来简短的描述整个过程。 本发明的方法包括步骤SllO, S120,其对定义导引曲线户(")和"v)(步 骤S110)以及成本函数/(/,w)(步骤120)的数据进行访问。给定用户选择的导引曲线P(")和"V),未知的耦合是参数化的曲线SH("S),li^》,所述耦合还可以定义为函数而不是曲线。已知成本函数/("w)定义对直纹曲面的 品质进行建模的相关特性。该特性与导引曲线的几何结构紧密关联。方法还包括定义(步骤S200)目标函数类型 / = /(/," w),作为已知的, 其涉及成本函数/(f, w)和耦合曲线s 4 Ms),(s》的坐标f, W;随后,根据陈述的优化问题(参见例如,在S300处陈述的问题),在步骤S310处对目标函数J进行优化,来在步骤400处可以获得目标耦合曲线 S4("S),M^》。正如所述的,可以考虑不同的优化算法。对PSO算法的选 择的细节将会在下文描述。最后,根据导引曲线户(《")和g(w(力),在步骤500处提供了直纹曲面^s,;i)=;^W^)+(1-A)尸("")。注意用之前获得的耦合曲线的坐标f, w来实际地构成导引曲线)和g(v)。刚刚所描述的只是隐式耦合方案。现在,如同上面提及的并且根据本发明,对目标函数J-JOV,w)进行进一步约束(S200-S400),从而通过调节 函数A来调节成本函数/("w)的自变量f,w。显然,由于涉及两个自变量,因而每个自变量均可能由调节函数独立地调节。举例来说,通过在例如, 与S110、S120 —起或并行的步骤130处的相关数据来访问所述调节函数//。与成本函数/(/,w)形成对照,只要将//专用于在成本函数中涉及的自 变量的调节,p就独立于导引曲线。实现这个的简单和实用的方式是使调 节函数A取决于自变量A w的导数。因此,/^',w')独立于导引曲线。类似 地,并且如上文所提及的,防抱死制动控制器测量和调节车轮的转动速度; 它并不直接取决于道路的构造。其他的示例可以帮助理解本发明。例如, 我们可以以某种方式将本文的情况与溜冰者的情况作个比较,所述溜冰者 愿意进行双轨结构的溜冰,其中他/她的每个冰鞋均与结构中的各自的导轨 相啮合(每个于此可比作导引曲线)。可以容易的领会练习中的潜在的困难, 特别是涉及导轨的情况。然而,溜冰者了解到可以通过调节(例如,通过暂 时地增加或减少)他/她的每个冰鞋的速度,来部分地克服困难。同样地,可 以由调节函数来调节成本函数的自变量。然而,例如可以通过在给定的间隔局部地限制自变量A w来考虑调节 自变量f,w的不同方式。然而使//取决于导数对用户来说是更有意义的,并 且附带地,在计算方面是非常高效的。注意可以在特定应用中涉及更高阶 导数。接下来,/^',w')的实施是优选地,以便目标函数独立于成本函数的参 数化。这有效地确保了目标函数的不变属性,以及对改善内在算法的稳健 性做出了贡献。在这点上,可以考虑约束目标函数J-J(/,"w)的各种可能性。然而,13替代将约束实施为外部约束,隐含地实施约束是有利的,gP,内在地对于 目标函数J进行约束是有利的。因此,针对现有技术的隐式耦合,没有实 质的影响内在算法(以及对应的计算成本)。 一个适宜的示例是目标函数/类 型现在,由于调节函数;/优选取决于自变量f,w的导数,因此合适的选择是将目标函数实施为J= J/("W)/Z(f',M/)^ ,其实际上相当于考虑有效的 成本函数/t"W)/^',M/),该有效的成本函数涉及常规的成本函数和函数// 。在步骤S300处陈述优化问题。特别地,在调节函数中涉及的导数优选均为正,由此实现了渐增的耦 合曲线。这将在下文进一步论述。接下来的步骤(S310)是根据陈述的问题来优化(例如,最小化)之前定义 的目标函数。合适的优化算法可以提供最佳的耦合曲线,其随即定义了输 出直纹曲面。考虑到整个过程,我们现在转到优选实施例的细节上。 第一点涉及耦合曲线,特别地,下面段落旨在证明如果耦合曲线没有严格渐增,则往往出现了奇点。在这方面,如现有技术所知,输入导引曲线是户("),"e[O,l]和Q(v),ve[O,l]。它们通常是平滑的,这意味着对于所有"e[O,l]和所有ve[O,l〗,尸'(")-0以及2'(v)-0 。未知的耦合曲线sH(f(s),H^)), se[O,l]是在 [O,l]x[O,l]空间中的平面曲线,这样《0)=0, "1)=1, w(0)=0以及h<1)=1。如图3A所示,对于参数se[O,l]的每个值,耦合曲线关联参数值40和 w(》,其定义了线段连接点P(/(力)和Q(w(》)。换句话说,通过如下方式对 要获得的未知的直纹曲面(图3B)进行参数化 S:
x
4及3,S(y,义)=;L0(w(s》+ (1 — A)尸("s》。图3B示出了这样的直纹曲面,其中点尸(《》)和2(w(s))由线段连接。 重要的是了解耦合曲线的变化如何支配直纹曲面的调节。如)=f/(K如(辆(44))^ 。在第一示例中,如果耦合曲线振荡,则折叠曲面生成。事实上,此处直纹曲面并不是单射的(injective),意思是存在fc,;O和,使得fe,Aj^^2,^)和4^,^i—Sfc,;0。如图4A所示,事实上,由于耦合曲 线振荡,存在^, ^2和^,使得屯)=^2) = 453) = 7和特征>^)=^。随后,如所期望的,对于/ = 1,2,3, 4^八)"2(w,)+(i-;i)尸。,所以外,,0一尸(F)。 如图4B所示,相同的验证适用=40=40=w和4)=a 。耦合曲线的变化可以对直纹曲面的调节产生其他影响。作为第二示例, 如果耦合曲线是单调渐增,但并非严格渐增的,则产生收縮的曲面。如图5A所示,单调渐增(但并非严格渐增)的耦合曲线表示存在孤立参数值fe[o,i],使得v("-o。随后,当Ca—fr,i)时,一阶偏导数的向量积成 为零,即&( ,i)A^(f,i)-o。然而,当;i4i时,可以示出定义良好的限定的标准向量^I^4H4140因此,可以了解所实施的耦合曲线为什么是优选严格渐增函数。类似地,参见图5B,可以认识到如果耦合曲线是单调渐增但并非严格渐增的,则存在孤立参数值"[o,i],使得/'(勻=0,随后,当(s,;i)-(^))时, 一阶偏导数的向量积成为零,艮卩,^0,0)A&^,o o。然而,当;t — o时,可以示出良好定义的限定的标准向量l^^41 。如图6所示,第三个示例涉及非平面三角形直纹曲面,设户("),"e[O,l] 为参数化的3D曲线并且0为不在曲线P上的点。通过 S(m,v)-vQ + (l-v)尸(")来定义三角曲面。贝ij,没有通过一阶偏导数来在点^ 处定义平面S的切面,B卩,对于所有"e[O,l], ^(w,1)a&(",1)-0。此外, 这可以示出,除非曲线P完全地包含在包括有点Q的平面中,否则不存在 切面。这导致了奇点。分别如图7A或者7B所示,当耦合曲线是局部水平或者局部垂直的时 候,出现这样的奇点(注意相比图5A或者图5B,情形稍有不同)。如果耦合 曲线是局部水平或者局部垂直的,则沿着导引曲线移动,在很短的时间内, 线段的一端"停止",而另一端继续移动。可以从上面的三个调査中了解到耦合曲线优选严格渐增,它可以改善 直纹曲面输出的品质。特别地,它按照下面的意义严格渐增f'>0和在调节函 数中涉及的导数均为正,由此实施(严格)渐增的耦合曲线。其结果是,这 有效地防止获得折叠的、收縮的、或者非平面三角形的曲面。接下来,论述关于调节函数"。的额外细节。关联图2的流程图来更好 的理解下面的一些方面。我们已经看到只要/z保持专用于在成本函数中涉及的自变量的调节, 就独立于导引曲线。此外,该函数是重要的,因为可以实施它来产生(关于 成本函数的重新参数化的)不变属性,其将会在下文描述。特别地,对于自 然地施加不变性的变量的选择帮助了实际的实施(它不取决于导引曲线)。因 此,选择合适的/z(.,)简化了数值问题并且加速了求解。例如,将函数",。选择为正齐次的标量函数。这个属性有益地使得当目1标函数定义为々,)=jy(^),w"))/i( ),v(^fc时,目标函数独立于耦合曲o线的参数化,由此可将问题很好地陈述。否则,算法可能会失效。此外,优选地选择函数/4.),从而/h),I^Tl"fe-X2,3;,-h)定义二维、W度量(two-dimensional metric)。这有效地表示,对于所有实数",v,;i ,满足度 量公理,即;U(M,V)2 0 ;U(M,V) = 〃(V,W) 〃(M, W) S 〃(M,V)+//(V,W) V) = 0 => M = V = 0加之//(义M,义V) = l义l^/(W, V)。接下来,对成本函数进行详细阐述。成本函数,或者/ = /^,),可以 捕捉重要的几何数量。根据在本发明开发期间进行的试验,将对于直纹曲面非常适宜的函数/在实践中定义为/(z,w)H尸(/)-e(wi。注意输入导引曲 线起着对称的作用以便得到的直纹曲面不取决于用户的选择顺序(如果有的 话)。真实地,反向曲线p和Q以及耦合曲线的反向坐标产生ie )-尸wi, 即,与i尸(0-"wi为相同的值。这使得更容易地从用户的视点来创建直纹曲 面。在这方面,参考回至图2的流程图,可以理解的是,输入导引曲线的(用户)选择(如果有的话)先于步骤S110和步骤S120发生。接下来,在一个实施例中,如果需要,成本函数还可以捕捉(例如,与 可展曲面有关的)"可展"准则。在这方面,必须记住当设计者明确地需要 时,这个准则只涉及在成本函数中,并且由于可展曲面一般不存在,因此 必须将这个准则与另一个平滑准则相结合。具有了定义的成本函数和调节函数之后,我们转到目标函数上如上文论述的,将目标函数定义为函数f和/z的乘积的积分。"积分"表示了通过所述乘积而接近于地区界限的数字,可以理解的是显然要考虑 所述积分的离散化。依然如所提及的,函数/=/("^捕捉现有技术已知的几何结构。函数//(-,-)优选涉及耦合曲线的导数^',w'),以提供不变属性(如下文所描述)。因而,将目标函数定义为 1々,w)= J/(似4s)旨(如'(s))^ 。0如同可以从这样的定义中认识到的,得到的直纹曲面的形状取决于耦 合曲线的形状,但不取决于如何参数化耦合曲线。由于这个原因,目标函数在耦合曲线的重新参数化下是不变的。形式上,这表示对于将间隔
映射到自身上的任何严格渐增函数p, J"p,w呷)-J(f,w)。例如,这个目的的实现归因于正齐次函数(positively homogeneous fiinction)//。然而,可 以示出,在没有关于函数/z的任何更多假设下,对重新参数化的不变性进行 捕捉。我们现在简单地还原成"严格渐增"约束的概念。严格渐增的耦合曲 线的直接翻译是导数均严格地为正的,即对于所有"[O,l], ,' >0和w'C0>o。然而,可以认识到,严格不等式不能在优化问题中定义正确的约 束。与此形成对比,相关的约束是"大于等于"。因此,某些阈值^o对于 如何操纵耦合曲线接近水平(或垂直)方向是有益的。此外,可以介绍规范化,其一至于所考虑的方向的实际情况。在这方 面,特别有利的选择是重新使用之前介绍的函数//,艮P-因此,在优化目标函数的步骤中,优选根据上面约束来对优化进行约 束,其中邊正阈值。此外,优选将调节函数实施为非欧几里得度量函数(non Euclidian metric function),例如为//(^) = |"| +卜|,并且,其理由将会在下文出现。从数学和计算的角度来看,将非欧几里得距离替换为传统的欧几里得V^f^7 ,其中因为度量是等同的,所以没有影响问题的本质。显然,这影响了得到 的直纹曲面的形状。然而,该改变与用户无关,因为得到的直纹曲面的品 质是等同的。为了完整性,应该注意的是,从理论的角度来看,可以通过函数 s^Ca(")而非使用参数化的曲线s4("44s)),来定义所需要的耦合。 然而,可以理解的是,这对于本发明的实施来说是等同的。真实地说,使 用约束/'(》>0并且归因于变量变更,s-r'(")以及在:jy(fW4)Mf'Ww'W)^中的A-^;^^",获得后,使用齐次函数//。f/(似40旨(如'(s麵=f/(",4-'(")旨H")X乂")))2—I, 、w"=j/(","r'(")^1, / ,, 、Y c/w1=jy(",&(w)xw(")v",0其中,bw。r1并且归因于一)=2!^|。规范化约束£^_^^丄使18得耦合函数严格渐增。目标函数变为jW-f/0aV/(w)^。然而,替代参o数化的耦合而对函数耦合进行的处理没有改变问题的数值公式。因此,从 耦合函数开始或是从参数化的曲线开始是等同的。然而,此处优选参数化的耦合并且在下面使用,因为它提供问题的某些更加对称的公式(t和w起 着同样的作用)。因此,更容易地进行实际的实施。接下来,论述最小化问题,并且特别是连续最小化问题的问题。 对未知目标的耦合曲线s 4 (/(》,w(s》进行指定,来最小化目标函数并 且满足约束。根据优选实施例,可以公式化为如下f7/z(f',M/)2 f;禾口 i其中々,w)= jy(f,w);/(r',w')^0现在出现的问题是数值最小化问题。在这方面,在给定由步长;^l/n定义的w + l点A"、 0,…,"(包括端点) 的间隔[O,l]的均匀网格(uniform meshing)下,通过离散公式,可以对如上文 引起的积分进行近似,艮P:1J7 (" w旨,TV')* C, w )//(", w;),0 '其中系数《,.的出现归因于数值积分方法(例如,勒让德-高斯求积(Legendre-Gaussquadrature)的权重)并且不需要详述,f,.代表4)等等。随后可以将导数/;和 ;分别近似为"*竿和咖,,其中,Ad+,-t和现在,选择齐次函数;/来有效地简化公式和接写来的计算。即,离散化 的积分变为最后,得到的离散化的目标函数7为<formula>formula see original document page 20</formula>现在使用 '<formula>formula see original document page 20</formula>相关的离散约束为<formula>formula see original document page 20</formula>接下来,将会阐述更多关于函数p的选择。传统的选择是欧几里得函数然而,此处,非欧几里得的选择 //(w,v)= |w| + |v| 更有优势,因为它是齐次函数。通过设置(关于上面离散约束的);/(",Avv,^A,这个选择全部变得更加有益,由此实现了优化问题的高效规范化。数值问题的结果是△fi 、这种设置确实有意义,因为在与对角线正交的"-l条平行线上的"-l个点fc,iO是约束的,所述平行线通过VV^分开,这由图8A(对于两个连续的点 fc,w,)和(",,+,))和图8B(示意性的一系列点)来示出。因此,额外稳健性的出现归因于事实未知的点沿着等距的平行线移 动,由此防止了重叠或干扰。这使算法能够操纵复杂的导引曲线,并且甚 至是发明人所知的任意复杂曲线。例如,与现有技术的已知方法形成对照, 可以安全地操纵以诸如局部转弯和环绕之类的许多小细节为特征的超长的 曲线。现在直接论述优化算法的实施。如上面提及的,本发明人发现了使用 粒子群优化(PSO)算法的特别优势。与传统优化算法相对,PSO算法在同一 时刻进行十到三十次最优搜索。为了受益于"好的搜索方向",每个搜索处 理使用"邻近处理"来进行通信,然而,充分自治地来调査未探测的地区。如本领域技术人员所知,现有的PSO算法用来定义和实施这些概念。试验 示出例如使用三十个同时搜索来获得好的结果。通过外部调用,PSO算法与应用进行通信。它需要在搜索过程期间周期性的估算目标函数。当将本发明和严格渐增的耦合曲线一起进行实施时,实施PSO算法的挑战是保证在一组严格渐增的耦合曲线之内进行搜索。可以考虑不同的方 法。一个可能的实施是捕捉耦合曲线以作为"=2"个变量;c,e[O,l] / = l, ,2m的层次结构(hierarchy)。给定这些变量,并且参照图9A-12B,可 以将对应的耦合曲线例如递推地定义为如下。首先,A是位于第二对角线的耦合曲线上的点的横坐标,所述第二对 角线从左上角开始(图9A)。该点定义两个矩形,左下角B丄0O和右上角 ZR(:O(图9B)。在每个矩形中,平行于第二对角线的分割线段将矩形分为 两个相等的地区。随后,^是位于矩形^:0O的分割线上的耦合曲线的点的横坐标,并且、是位于矩形772(;0的分割线上的耦合曲线的点的横坐标。这些新的点定 义两个左下矩形,^丄fe), 54c3),以及两个右上矩形772(:0, 7T fc)(图 IOA),这些矩形具备有它们各自的分割线(图IOB)。随后,如图11所示,x,是位于矩形B丄(^)的分割线上的耦合曲线的点 的横坐标,X5是位于矩形77^0的分割线上的耦合曲线的点的横坐标,、是位于矩形^:fe)的分割线上的耦合曲线的点的横坐标,并且—是位于矩形 r及fc)的分割线上的耦合曲线的点的横坐标。如图12A(精密标度)和图12B(上面示例中的收敛极限曲线)所示,可以 理解的是,通过递推的应用,该处理唯一地定义严格渐增的曲线。图13的流程图示出如何根据层次结构坐标A计算耦合曲线的笛卡尔点 fe,^的示例。如图14所示,明确地,逆向处理通过将曲线与矩形的分割线交叉,来 根据严格渐增曲线的笛卡尔坐标fc,w,.)计算层次结构坐标x,.。随后,PSO算法处理耦合曲线的层次结构坐标x,。在需要估算目标函 数的时,通过外部调用,将层次结构坐标、转变为笛卡尔坐标fc,MO。试验示出使用三十个同时搜索以及使用从32 点到128个点的耦合曲线抽样来获得良好的结果。此外,当PSO算法接近最优时,可以使用传统 非线性最优方法(一般是BFGS)来加速收敛。尽管本文上面描述的方法和程 序以平实的方式描述,但为了实用的缘由,显然可以考虑算法效率来设想 进行改善。例如,指出了本发明归纳到通过(例如,基于耦合曲线)耦合两个 导引曲线来定义的任何曲面。真实地,存在耦合导引曲线的多种方法,以 得到非必须直纹曲面的曲面。因此,本发明扩展到单独的直纹曲面之外。
权利要求
1、一种通过导引曲线P(u)和Q(v)以及耦合曲线 id="icf0001" file="A2009101518780002C1.tif" wi="18" he="6" top= "28" left = "139" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>w(s))来定义的曲面的设计的计算机实现的方法,用以改善通过这种曲面进行建模的产品的制造,所述方法包括-访问(S110,S120)用于定义导引曲线P(u)和Q(v)以及成本函数f(t,w)的数据;-定义(S200)目标函数类型J=J(f,t,w),所述目标函数类型J=J(f,t,w)涉及所述成本函数f(t,w)和所述耦合曲线 id="icf0002" file="A2009101518780002C2.tif" wi="18" he="6" top= "77" left = "144" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>w(s))的坐标t,w;-优化(S300,S310)所述目标函数J,来获得(S400)参数s的耦合曲线 id="icf0003" file="A2009101518780002C3.tif" wi="18" he="6" top= "102" left = "23" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>w(s));以及-根据所述导引曲线P(t(s))和Q(w(s))来提供(S500)曲面,所述导引曲线P(t())和Q(w(s))是分别通过使用所获得的耦合曲线的坐标t,w来构成的,其中,在定义和优化所述目标函数的步骤中,对所述目标函数J=J(f,t,w)进行约束(S200-S400),从而通过调节函数μ来调节所述成本函数f(t,w)的自变量t,w。
2、 如权利要求1所述的方法,所述方法是通过所述导引曲线户(")和 ^W以及所述耦合曲线s^(^),(s》来定义的直纹曲面的设计的计算机实现的方法,其中-在提供(ssoo)所述曲面的步骤中,所提供的曲面是直纹曲面类型
3、 如权利要求1或2所述的方法,其中,在定义所述目标函数的步骤 中,对所述目标函数进行定义,使得所述目标函数独立于所述成本函数的 参数化。
4、 如权利要求1、 2或3所述的方法,其中,在定义所述目标函数的 步骤中,接下来要优化的目标函数的类型为J("w)= jyw440)M^),wW)^ ,从而通过所述调节函数〃来调节所述成0本函数。
5、 如权利要求4所述的方法,其中,在定义所述目标函数的步骤中, 所定义(5200)的目标函数的类型为4^)=》/(/(4m^))/zM4m^))^,其中0所述耦合曲线/^',w')涉及所述成本函数的自变量的第一导数。
6、 如权利要求5所述的方法,其中,在定义所述目标函数的步骤中, 所述调节函数/i是标量、正齐次函数。
7、 如权利要求5或6所述的方法,其中,在优化所述目标函数的步骤 中,对所述目标函数进行约束,使得在所述调节函数中涉及的所述导数均 是正的,由此实现渐增的耦合曲线。
8、 如权利要求5至7中的任何一项所述的方法,其中,在优化所述目 标函数的歩骤中,对所述优化进行约束,使得 )二c和~~~~h,其中,s是正阈值。
9、 如权利要求8所述的方法,其中,在定义所述目标函数的步骤中, 实现所述调节函数//,以便定义二维度量。
10、 如权利要求9所述的方法,其中,在优化所述目标函数的步骤中,将所述优化陈述为下面的最小化问题 min/(f, w).f7/^',wO》、以及
11、 如权利要求1至9中的任何一项所述的方法,其中,在定义所述 目标函数的步骤中,将所述调节函数实现为非欧几里得度量函数,例如实 现为函数类型//("^) = |"|+卜|。
12、 如权利要求l至ll中的任何一项所述的方法,其中,优化所述目 标函数的步骤利用粒子群优化(PSO)算法。
13、 如权利要求12所述的方法,其中,权利要求12从属于权利要求6 至ll中的任何一项,并且其中,将在优化所述目标函数的步骤中使用的所 述PSO算法的搜索空间限定为一组严格渐增的耦合曲线。
14、 如权利要求13所述的方法,其中,实现在优化所述目标函数的步 骤中使用的所述PSO算法,来捕捉对应于耦合曲线的曲线,以作为"=2"个 变量;c,.e
的层次结构,其中,所述变量A为层次结构坐标A,所述层次 结构坐标、表示要捕捉的所述耦合曲线。
15、 如权利要求14所述的方法,其中,在优化所述目标函数的步骤中, 将所述层次结构坐标、转变为笛卡尔坐标fc,w,)。
16、 一种计算机程序产品,其包括用于实施如权利要求1至15之一所 述的方法的程序代码模块。
17、 一种计算机化的系统,其包括用于实施如权利要求1至15之一所 述的方法的模块。
全文摘要
本发明涉及通过导引曲线定义的曲面的设计的计算机实现的方法,包括步骤访问定义导引曲线P(u)和Q(v)(S110)以及成本函数f(t,w)(120)的数据。给定P(u)和Q(v),未知的耦合是参数化的曲线s(t(s),w(s))。该方法还包括定义(S200)目标函数类型J=J(f,t,w),其涉及f(t,w)和耦合曲线的坐标t,w。随后,对目标函数J进行优化,以获得目标耦合曲线s(t(s),w(s))(S400)。最后,根据导引曲线P(t(s))和Q(w(s)),提供(S500)直纹曲面S(s,λ)=λQ(w(s))+(1-λ)P(t(s)),该导引曲线P(t(s))和Q(w(s))由之前获得的耦合曲线的坐标t,w构成。此外,在优化步骤(S200-S400)处,对该目标函数进行进一步约束,从而通过调节函数μ来调节该成本函数f(t,w)的自变量t,w。本发明归纳到由导引曲线定义的任何曲面上,并且还涉及计算机化的系统和计算机程序产品,所述系统和产品包括用于实施本发明方法的模块。
文档编号G06T17/40GK101620747SQ200910151878
公开日2010年1月6日 申请日期2009年7月3日 优先权日2008年7月4日
发明者D·邦纳, J·萨卢, J-F·拉莫, M·弗赖, P·塞巴 申请人:达索系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1