CN104239601A - 织物片组合的仿真 - Google Patents
织物片组合的仿真 Download PDFInfo
- Publication number
- CN104239601A CN104239601A CN201410327970.2A CN201410327970A CN104239601A CN 104239601 A CN104239601 A CN 104239601A CN 201410327970 A CN201410327970 A CN 201410327970A CN 104239601 A CN104239601 A CN 104239601A
- Authority
- CN
- China
- Prior art keywords
- solver
- cloth
- piece
- data
- public boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/12—Cloth
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
提出了一种用于仿真织物片组合的计算机实现的方法。该方法包括提供多个并行的求解器,第一求解器仿真至少一个第一织物片,而且第二求解器仿真至少一个第二织物片,并且通过由第一和第二求解器计算公共边界,维持第一和第二织物片严丝合缝。
Description
技术领域
本发明涉及计算机程序和***的领域,更具体地涉及用于仿真织物片组合的计算机实现的方法、计算机程序和***,涉及用所述方法获得的3D建模的对象,涉及存储所述3D建模对象的数据文件。
背景技术
在市场上提供若干***和程序,用于对象的设计、建造(engineering)、以及制造。CAD是计算机辅助设计的首字母缩写,例如,它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写,例如,它涉及用于仿真未来产品物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这样的计算机辅助设计***中,图形用户界面对于技术的效率起到了重要的作用。可以在产品生命周期管理(PLM)***内嵌入这些技术。PLM是指帮助公司进行以下活动的经营策略:跨扩展的企业的概念共享产品数据、应用共同的过程、以及将共同的知识利用于从构想到产品生命结束的产品开发。
由达索***公司提供的PLM解决方案(旗下商标为CATIA、ENOVIA、以及DELMIA)提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心、以及能使企业整合和连接进入工程和制造中心的企业中心。***一并提供一个开放的对象模型,该对象模型链接产品、过程、资源以实现动态的、基于知识的产品创造,以及驱动优化的产品定义、制造准备、生产和服务的决策支持。
针对CAD工具时尚产业兴趣惊人的增长。首先关注的是服装制造的优化,例如,为了减少织物碎料、最小化周期时间…。其次关注的是服装方面的仿真。事实上,有必要在创造过程中以高细节水平的纹理和光线的形式帮助设计师获取最现实的服装渲染的方面。
而且,现实中视觉精度的需求可能没有如此苛求,但是虚拟体验必须给出与服装将在现实生活中生产的,尤其在涉及运动时相同的视觉感觉。这样的实时体验包括虚拟试穿、虚拟时装秀、以及艺术表演中的舞蹈编排…其中,真实性是需要仿真来保证的最终完成。
然而,很快遇到限制:对于实时,服装可能太复杂,或者将要仿真的对象的数量太巨大。
这个问题的第一个解决方案是将服装分割成更小的并行求解的域。这在有限元法(FEM)的结构分析领域中是很经典的方法。将结构分解成几个称之为域的子结构;此分解是基于网格几何属性,且不具有任何附加的约束。对不同的域进行并行求解,要么求解器架构是多线程的(但这不是充分可扩展的),要么几个服务器并行运行。然而,这无法应用于实时仿真:实际上,域边界的精确性和一致性的需要要求耦合的过程,其中求解器一致地迭代收敛,并且通常花费几个小时来仿真几秒钟的真实现象。
大型多人在线游戏(MMOG)借助称为分区的方法成功处理了量大的问题。将虚拟世界分割成并行运行的所谓的区。但是两个区之间的边界将该两个区彼此隔离。由于该原因,对象可从一个区瞬移到第二个区最多具有最小的状态连续性,但是不可能有区与区之间的交互。假定一片织物如此分区,产生的效果将是不真实的。
因此,无法用可扩展的方式来管理具有复杂服装和大量约束的在线体验,因为传统的可扩展的方法(如FEM)距离实时太远,或者在物理行为上是不现实的(如分区)。
在这种情况下,仍需要织物片组合的改善的仿真。
发明内容
根据一个方面,本发明因此提供了一种用于仿真织物片组合的计算机实现的方法。该方法包括:
-提供多个并行的求解器,第一求解器仿真至少一个第一织物片,第二求解器仿真至少一个第二织物片;以及
-通过由第一和第二求解器计算公共边界来保持第一和第二织物片严丝合缝。
该方法可以包括下列中的一个或多个:
-通过将第一织物片的数据和第二织物片的数据组合来执行公共边界的计算;
-通过在第一求解器和第二求解器之间相互交换数据来执行第一织物片与第二织物片的数据的组合;
-第一求解器和第二求解器间的相互数据交换包括:
--第一求解器根据当前公共边界数据计算公共边界数据的第一局部预测,并将计算的结果发送至第二求解器;
--第二求解器根据当前公共边界数据计算公共边界数据的第二局部预测,并将计算的结果发送至第一求解器;
--第一求解器接收由第二求解器发送的第二局部预测;
--第二求解器接收由第一求解器发送的第一局部预测;
--第一求解器将公共边界数据的第一局部预测与接收到的公共边界数据的第二局部预测相组合,组合的结果是全局公共边界预测数据;
--第二求解器将公共边界数据的第二局部预测与接收到的公共边界数据的第一局部预测相组合,组合的结果是全局公共边界预测数据;
--第一求解器计算第一矫正力以应用在公共边界上,第一矫正力是从当前局部公共边界数据和全局公共边界预测数据计算出的;以及
--第二求解器计算第二矫正力以应用在公共边界的上,第二矫正力是从当前局部公共边界数据和全局公共边界预测数据计算出的;
-第一求解器将计算出的第一矫正力输入给公共边界,并获得新的当前公共边界数据,第二求解器将计算出的第二矫正力输入给公共边界,并获得新的公共边界数据;
-通过对代表局部预测的值和代表所接收到的局部预测的值求平均值,来执行公共边界数据的局部预测与所接收到的公共边界数据的局部预测的组合;
-由包含节点的表面网格建模至少一个第一和第二织物片;
-公共边界数据与作为至少一个第一和第二织物片之间的公共边界的一部分的第一和第二织物片的节点的位置和/或速度相关;
-第一求解器专用于第一类型的织物片,而且第二求解器专用于第二类型的织物片。
本发明还提出含有用于由计算机执行的指令的计算机程序,所述指令包含用于执行上述方法的手段。
本发明还提出其上记录了上述计算机程序的计算机可读存储介质。
本发明还提出一种用于仿真织物片组合的计算机***,包括与存储器耦合的处理器、用于显示织物片组合的仿真的图形用户界面,所述存储器上记录有上述计算机程序。
本发明还提出用上述方法可获得的三维建模对象。
本发明还提出存储了上述三维建模对象的数据文件。
附图说明
现在将要通过非限制性的示例并参考附图来描述本发明的实施例,其中:
-图1至3显示了织物片组合的示例;
-图4至7显示了对织物片组合进行建模的表面网格的示例;
-图8至10显示了对服装进行建模的分割的表面网格的示例;
-图11显示了在求解器之间交换的示例,每个求解器至少仿真一个织物片;
-图12至14显示了公共边界计算的示例,其用于再创造织物片组合的缝纫模式的实际接缝的效果;
-图15显示了该方法的示例的流程图;以及
-图16显示了用于仿真织物片组合的计算机***的示例。
具体实施方式
提出了用于仿真织物片组合的计算机实现的方法。术语“仿真”是指从组合的当前状态获得组合的新状态。实际上,仿真从组合在时间T的状态计算出组合在时间T+Δt的状态。组合的状态是指:在仿真的给定时间,定义组合的参数的一组值。该方法包括提供多个并行的求解器。求解器是专用于特定计算的模块。例如,求解器可以是独立的计算机程序或者软件库。第一求解器仿真至少一个第一织物片,第二求解器仿真至少一个第二织物片。第一和第二织物片属于通常建模服装的织物片组合。该方法还包括通过由第一和第二求解器计算公共边界,来维持第一和第二织物片严丝合缝。由第一和第二求解器来执行该计算。维持严丝合缝是指两个织物片相连接。公共边界包括第一织物片的一部分和第二织物片的一部分。例如,公共边界可以是属于仿真的服装的两个织物片之间的接缝。
这样的方法能改善由织物片组合制作的服装的实时仿真。事实上,所提的解决方案利用了以下事实:服装由几个织物片所组成,其形状根据织物片之间的公共边界来确定,例如缝纫模式给定了服装的自然分割。因此,本发明允许获得服装的实际的可视化呈现,并且该呈现遵照服装实际中是什么样子,且考虑褶皱、皱褶、接缝、复杂的织物纹理等方面。另外,由涉及属于公共边界的织物片的每个求解器来执行公共边界的计算,因此,为计算公共边界,每个求解器可以并行执行计算。结果是,织物片组合的仿真可以实时执行,因为可以并行利用每个求解器的计算资源。因此,本方法改善了织物片组合的仿真的可扩展性,因为当复杂的衣物不能被正确仿真时,要么因为其代表了数据量太大不能处理,要么是因为其不能被实时解决,本方法使其成为可能是通过:在求解器的团(clique)内借助充分的和直接的分割服装,连同由求解器负责的公共边界的计算。仿真结果的现实性因此得到提升。另外,本发明有利地允许仿真由不同材料组成的织物片组合所组成的服装,因为,适用于仿真特定材料的专用求解器可以仿真每个织物片。而且,由涉及属于公共边界的织物片的每个求解器对公共边界的计算还允许仿真具有适当机械行为的接缝,例如,绑定公共边界的拉链。另外,本发明允许使用利用求解器的负载均衡机制,来动态最优化CPU工作负载;例如,可以轻松跨多个计算机平衡求解器的工作负载。
本方法由计算机实现。这意味着该方法的步骤(或者基本上所有步骤)由至少一台计算机执行。在示例中,该方法的至少一些步骤的触发可以通过用户计算机交互来执行。所需的用户计算机交互的水平可以取决于自动预见的水平,并且与实现用户希望的需要平衡。在示例中,该水平可以是用户定义的和/或预定义的。
该方法的计算机实现的典型示例是采用包括适合于该目的的图形用户界面(GUI)的***来执行该方法。该GUI与存储器和处理器耦合。存储数据库的存储器仅是适合于这样存储的任何硬件。这样的***改善了对织物片组合组成的服装进行实时仿真的现实性和可扩展性。
所谓“数据库”,指的是为了查找和取回而组织的任何数据(即信息)的集合。当存储在存储器时,数据库允许由计算机快速搜索和取回。数据库实际上被构建以结合各种数据处理操作来促进数据的存储、取回、修改、以及删除。数据库可以由能够划分为记录的文件或文件集组成,每一个记录由一个或多个字段构成。字段是数据存储的基本单元。用户可以主要通过查询来取回数据。使用关键字和排序命令,用户能够根据正在使用的数据库管理***的规则,快速地搜索、重新排列、分组、以及选择许多记录中的字段,以取回或创建关于数据的特定集合的报告。
在该方法的情况下,织物片和织物片组合可以存储在数据库中。
该方法通常操控织物片。织物片是建模对象,典型地为3D建模的对象。建模对象是由存储在数据文件(即具有特定格式的一条计算机数据)中和/或在计算机***的存储器中的结构化的数据所定义/描述的任何对象。引申开来,表述“建模对象”表示数据本身。根据***的类型,建模的对象可以由不同种类的数据来定义。该***可以实际上是CAD***、CAE***、CAM***、和/或PLM***的任何组合。在这些不同的***中,建模对象由相应的数据来定义。人们会相应地提及CAD对象、PLM对象、CAE对象、CAM对象、CAD数据、PLM数据、CAM数据、CAE数据。然而,这些***并不是相互排斥的,因为建模对象可以由与这些***的任意组合相对应的数据来定义。因此***可以是CAD和PLM***,这从以下提供的这样的***的定义将是明显的。
该方法可以是设计3D建模对象的方法的一部分,例如构成这样的设计方法的结束步骤的方法。“设计3D建模的对象”是指:阐释3D建模对象的至少部分过程的任何操作或系列操作。因此,该方法可以包括从头开始创建3D建模的对象。可替代地,该方法可以包括提供先前创建的3D建模的对象,然后修改该3D建模的对象。
该3D建模的对象可以是CAD建模的对象或者是CAD建模的对象的一部分。不管怎样,该方法所仿真的织物片组合可以代表CAD建模的对象或者至少是其一部分。CAD建模的对象是由存储在CAD***的存储器中的数据所定义的任何对象。根据***的类型,建模的对象可以由不同类型的数据来定义。
所谓CAD***,指的是至少适合于基于建模的对象的图形表示来设计建模的对象的任何***,例如CATIA。在该情况中,定义建模的对象的数据包括允许表示建模的对象的数据。例如,CAD***可以使用边或线,在某些情况中采用面或表面来提供CAD建模的对象的表示。线、边、或表面可以采用各种方式来表示,例如非均匀有理B样条(NURBS)。具体来说,CAD文件可以包含据其可以产生几何结构的规范,该几何结构反过来允许表示的产生。建模的对象的规范可以存储在单个CAD文件中或多个CAD文件中。表示CAD***中的建模的对象的文件的通常大小在每部分一兆字节的范围内。并且建模的对象通常可以是数千部分的组合。
在CAD的情况下,建模的对象通常可以是3D建模的对象,例如表示产品,例如产品的一部分、或部分的组合、或可能的组合。所谓“3D建模的对象”,指的是由允许其3D表示的数据建模的任何对象。3D表示允许从所有角度观察部分。例如,当进行3D表示时,可以绕3D建模的对象的任意轴,或者绕显示有该表示的屏幕上的任意轴处理和旋转3D建模的对象。这尤其排除了无法被3D建模的2D图标。3D表示的显示促进了设计(即,增加了设计者在统计学意义上完成他们任务的速度)。这加速了产业中的制造过程,因为产品的设计是制造过程的一部分。
CAD***可以是基于历史的。在该情况中,建模的对象进一步由包括几何特征的历史的数据定义。建模的对象实际上可以由自然人(即设计者/用户)使用标准的建模特征(例如,挤压、后旋、裁剪、和/或环绕等)和/或标准的表面化特征(例如,扫、弯曲、放样、填充、变形、和/或平滑等)来进行设计。很多支持这样建模功能的CAD***是基于历史的***。这意味着设计特征的创建历史通常通过非循环数据流来保存,所述非循环数据流通过输入以及输出链路一起链接所述几何特征。基于历史的建模范例从80年代初就众所周知。建模的对象由两个持久性数据表述来描述:历史和B-rep(即边界表示)。B-rep是历史中定义的计算结果。在表示建模的对象时显示在计算机的屏幕上的部分的形状是(棋盘形布置的)B-rep。部分的历史是设计意图。基本上,历史收集了关于建模的对象已经经历的操作的信息。B-rep可以与历史一起保存,以使其更容易显示复杂部分。历史可以与B-rep一起保存,以便根据设计意图允许部分的设计改变。
所谓PLM***,指的是适合于管理表示物理制造的产品的建模的对象的任何***。在PLM***中,因此建模的对象由适合于制造物理对象的数据来定义。这些通常可以是尺寸值和/或容差值。对正确的对象制造来说,的确最好具有这些值。
所谓CAE***,指的是适合于分析建模的对象的物理行为的任何***。在CAE***中,建模的对象因此由适合于分析这样的行为的数据来定义。这通常可以是一组行为化的特征。例如,与门相对应的建模的对象可以由表明该门围绕轴旋转的数据来定义。
图16显示了用于仿真织物片组合的计算机***的示例。计算机***可以是,但不限于,计算机辅助设计***、平板、智能电话…。所描绘的计算机***包括连接到内部通信总线1000的中央处理单元(CPU)1010,和也连接到总线的随机存取存储器(RAM)1070。客户端计算机还设置有与连接到总线的视频随机存取存储器1100相关联的图形处理单元(GPU)1110。视频RAM1100在本领域中也已称作帧缓冲器。大容量存储设备控制器1020管理对诸如硬盘驱动器1030的大容量存储器设备的访问。适合于有形地体现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,例如包括:诸如EPROM、EEPROM、以及闪存的半导体存储器设备;诸如内部硬盘和可移动盘的磁盘;磁光盘;以及CD-ROM光盘1040。前述任何一个可以由专门设计的ASIC(特定应用集成电路)来补充,或并入专门设计的ASIC中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括诸如光标控制设备、键盘等的触觉设备1090。将光标控制设备用在客户端计算机中,以准许用户选择性地将光标定位在显示器1080上的任意期望的位置。实际上,显示器可以显示图形用户界面,以用于显示织物片组合的仿真。显示器可以是,但不限于,屏幕、触摸感应屏幕…。而且,光标控制设备允许用户选择各种命令,并且输入控制信号。光标控制设备包括多个用于将控制信号输入给***的信号产生设备。通常,光标控制设备可以是鼠标,其中鼠标按键用于产生信号,感应触摸屏也可被用于产生信号。
计算机程序可以包括计算机指令,指令包括用于使上述***执行上述方法的手段。例如,本发明可以在数字电子电路中、或在计算机硬件、固件、软件、或它们的组合中实现。本发明的装置可以在计算机程序产品中实现,该计算机程序产品有形地体现在机器可读存储设备中并用于由可编程处理器执行;并且本发明的方法步骤可以由可编程处理器来执行,该可编程处理器通过操作输入数据和产生输出来执行指令程序,以实现本发明的功能。
本发明可以有利地在可编程***上执行的一个或多个计算机程序中实现,该可编程***包括:至少一个可编程处理器,其被耦合以从以下接收数据和指令并向其传送数据和指令:数据存储***、至少一个输入设备、以及至少一个输出设备。应用程序可以以高级程序或面向对象编程语言实现,或如果需要可以以汇编或机器语言实现;并且在任何情况下,该语言可以是编译的或解释语言。
该方法输出仿真的织物片组合,其中该织物片保持由至少两个求解器维持。值得注意的是,该仿真包括由至少两个求解器计算的公共边界,其中该公共边界通常可以是两个织物片之间的接缝。因此,该仿真利用待仿真的组合的结构(例如接缝),并且依赖求解器之间的合作,这提高了仿真速度和可扩展性。这样的织物片组合仿真允许实时现实仿真。
现在参考图1至3,示出了织物片组合的示例。
在图1上,服装(女装10)是几个织物片的组合,如织物片12。
图2显示了在图1上示出的根据缝纫模式进行裁剪和确定形状的服装的织物片,图2是所有其构成部分的平面布局14。因此缝纫模式是模板,服装的部分(或织物片)在剪出和组合之前从该模板跟踪到织物片上。
图3描绘了接缝16,其维持图1和图2的组合的两个织物片160和162严丝合缝。通过缝纫令两个曲线164和166一致而使两个织物片相连,所述曲线中的每个都画在织物片上。两个织物片沿着共同的边界相连,通过将织物片162放置在织物片160旁边来获取该公共边界,同时维持两个曲线164和166一致。这样公共边界包括第一织物片160的一部分和第二织物片162的一部分。
现在参考图4至7,显示了表面网格的示例,用于对织物片组合的织物片进行建模。
图4显示了表面网格的示例,求解器利用该表面网格建模织物片并计算织物片的运动。
图5显示了图4的表面网格的细节。网格包括许多节点50,其通过边52彼此相连。实际上,两个节点被机械连接,以便对织物片的机械属性进行仿真。正如图5所示,节点连接可以形成凸四边形网络。需要理解的是,可以使用诸如三角形结构的其它结构。更通常地,多边形网格是顶点、边、以及面的集合,其定义对象的形状,此处为织物片。
现在参考图15,显示了根据本发明的方法的示例。在该示例中,提供了两个并行的求解器,即求解器1和求解器2。提供求解器是指求解器对执行本发明的计算机***是可用的,例如可以由计算机***来执行该求解器。
该求解器可以求解应用于网格节点的力学方程,网格节点被认为是精确的质量。求解器因此判定节点的移动为解决方案,因此织物片的形状与时间相对。用于建模织物片的网格的若干功能可以由织物片的求解器通过该求解器的应用程序接口(API)来控制。特定地,求解器可以控制建模织物片的网格的动态输入和动态输出。动态输入意在施加力到所有节点(例如用于仿真重力)或节点子集(例如用于仿真风、与固体相接触…),和/或强加位置约束(例如在墙上钉住,例如在挂衣钩上悬挂…)。在图5上利用箭头54来表示动态输入。
动态输出包括网格每个节点的位置和速度。位置和速度对动画展示建模的织物片至关紧要。附加的动态输出包括由求解器后置处理的法向量和纹理数据,其大多数旨在用以在可视化过程中的纹理渲染。动态输出由图5上的箭头56表示。
织物片模型以质量和弹簧参数为特性。这在图6和7上示出,其中顶点布置行为状的链路在节点之间强加约束相对移动性,并且产生局部修剪和网格中的弯曲力。通过修剪,由于图6上所示的对角线弹簧,织物片会缩小/扩大其相切平面,同时由于图7上所示的铰链弹簧,弯曲织物片使其内弯。
两个提供的求解器可以是一样的或者它们可以不同。在任何情况下,所提供的多个求解器中的每个求解器能够将另一求解器的输出作为输入。
第一求解器可专用于第一类型的织物片,并且第二求解器可专用于第二类型的织物片。织物片的类型被理解为织物片物质,例如像天然的(例如羊毛、亚麻、棉)或人工纤维,织物片的纤维如何形成的(例如纺织、编织、钩编、打结、或将纤维压在一起)。这有利地允许对不同类型组成的织物片组合执行仿真。
多个并行求解器的每个求解器负责仿真至少一个织物片。由求解器仿真的织物片数量将基于织物片组合的特性,现在参考图8到9进行讨论。
在图8中,对建模服装的网格80进行分割,分割成必要多的织物片82、84,它们的每个被专用求解器处理,该求解器运行于它自身的计算资源上,没有大小和时间问题。建模服装的网格具有太多节点以至不能由单个求解器处理,要么由于该数据量无法由求解器管理,要么由于该数据量无法实时计算。
实际上,可以根据缝纫图案86执行服装的网格的分割,如参考图2讨论的。在这种情况下,求解器仿真至少一个织物片。
归于求解器的计算资源可以低于其标称能力运行。在这种情况下,可以将一个或多个补充织物片附加到同一求解器上来获得更公平的负载。因此,一些织物片可由求解器仿真。另外,由求解器仿真的织物片的物理行为可以由求解器使用期望的和可承受的复杂度进行局部管理。人们可以理解能够实现在求解器之间工作负载分配的几个策略。
属于求解器的计算资源可以不处理对其求解器来说过重的织物片。这例如是由大量织物片制成的服装的情况。在这种情况下,在很多求解器上织物片会被分为必要多的子部分,创建必须要在仿真期间具有“无缝”行为的“虚拟接缝”。术语“虚拟接缝”是指不是初始缝纫模式的一部分的接缝,并且术语“无缝行为”是指相比于不划分的织物片的仿真,虚拟接缝不修改仿真的结果。在图10上示出了织物片划分,其中网格100被分成两个子部分102和104,它们沿着公共边界106保持严丝合缝,在本示例中它是一个虚拟接缝。需要理解的是两个织物片之间的公共边界将包括第一和第二织物片的至少一个节点。
并行在其求解器上各自运行的所有子部分的所有织物片的全局仿真,比在理想的求解器上(具有无限制的存储器)仿真整体部分,提供理想的相似结果,不管是真实或虚拟的接缝。通过使用图11上描绘的所谓公共边界计算110,维持第一和第二织物片严丝合缝,其中求解器112和114被管理,以复原仿真的全局行为。两个求解器完成它们自己的计算并彼此交互,以复原仿真的全局行为。公共边界计算有利地再创造缝纫模式的现实接缝的效果,并且当需要负载均衡时,在仿真期间虚拟接缝必须具有无缝行为。因此,公共边界计算意在提供矫正力,其根据两个成对节点间的预定义关系来判定。
例如,图9显示了成对节点,其中分别计算锯开的织物片82和84的成对的节点90的位置和速度的确切一致性--求解器112执行织物片82的计算,求解器114执行织物片84的计算。成对接缝节点90用虚线笔划显示。因此,求解器112和114计算部分82和84之间的公共边界,以保持织物片82和84严丝合缝,并且该公共边界包括织物片82和84的成对节点。
实际上,可以通过组合第一和第二织物片的数据来执行公共边界的计算。该数据与每个成对节点的位置和速度相关。可以通过在第一求解器和第二求解器之间相互交换数据来执行组合。
现在参考图12至14,其显示了两个求解器如何维持两个织物片的严丝合缝,也就是,两个求解器是如何计算两个织物片之间的公共边界。正如图12上示出的,理想的接缝模型实际上是假定织物片82和84是无缝的,在成对的节点120(第一求解器上计算的)与节点122(第二求解器上计算的)之间,只传送力和力矩,并且不允许任何相对移动。在这种情况下,两个求解器上的成对节点120和122在任何时间都确切地具有相同的位置和相同的速度。
实际上,理想的接缝模型是难以获得的,并且两个求解器各自确切地计算出相同的值几乎是不可能的,这有多个原因:数值截断、近似值、不同求解器的迭代周期…。作为公共边界计算的一部分,正如图14所示出的,对每个成对节点120、122来说,每个求解器输出成对节点120、122的当前位置和/或速度数据,并且通过适当的数据交换相互同意来为下一个时间步的仿真达到公共位置目标130。从这个公共位置目标130,可以为每个求解器计算矫正力140、142,作为应用到节点120、122的输入,以到达公共位置目标130。因此,可以通过组合第一织物片的数据和第二织物片的数据来实现公共边界的计算,以便可以获得公共位置目标。
对更加现实和详尽的具有弯曲、修剪和折叠的接缝模型,可以利用诸如格子结构的更加复杂的公共边界来计算矫正力。例如,这在图13中示出,其中格子结构132在链接相同织物片网格上或每个织物片部分网格上的相邻节点的位置和/或速度上体现为弹簧关系130。在该情况下,公共边界包括格子结构132。需要理解的是,可以依据织物片的机械属性、公共边界的期望的机械行为、以及在造成可视化方面,来实现许多模式。
参考回到图15,仍然是提供了两个并行的求解器,并且每一个求解器仿真至少一个织物片。需要理解的是,也可以提供由求解器仿真的至少一个织物片,也就是说,其对于执行本发明的计算机***是可用的。表述“并行求解器”是指两个求解器执行并行计算,也就是说,每个求解器的计算同时进行,或至少在预定的时间段内进行。这涉及并行求解器是同步的,例如借助仿真时钟同步。需要理解的是,两个求解器不能对同一织物片进行仿真。
一旦提供步骤被执行,就可以通过计算织物片之间的公共边界来实现维持第一和第二织物片严丝合缝的步骤。正是实时的主要约束保证了为仿真按时输送动画快照,所述实时的主要约束是包含维持步骤的计算周期被严格地进行时间限制。因此,公共边界的计算是基于求解器间的一个拍摄数据交换(one shot data exchange),而没有任何迭代。
在步骤S10处,每个求解器计算当前的公共边界数据。术语“当前公共边界数据”是指在给定时间点定义公共边界的状态的信息。实际上,每个求解器评估属于公共边界的织物片的每个节点的位置和/或速度。需要理解的是,求解器只为它所管理的织物片的节点执行该评估。通常步骤10在仿真时钟时间T执行。
接下来,在步骤S20处,每个求解器计算公共边界数据的局部预测。通常从在步骤S10处所获得的当前公共边界数据来执行该预测。实际上,公共边界数据是表示属于该公共边界的织物片的每个节点的位置和/或速度的值,并且局部预测是表示属于该公共边界的织物片的每个节点的预测位置和/或速度的预测值。如本领域所公知的执行该预测。例如,该预测可以是线性预测,其是未来值被评估为值的线性函数的操作。作为另一个示例,该预测可以是导航中的航位推测,其是通过利用预先判定的位置并且基于在已经过的时间和路线上的已知的或估算的速度来使位置前进而计算一个的当前位置的过程。推断公共边界的节点位置和/或速度。当前时钟时间为T时,为下一个时钟时间T←T+Δt执行该预测或推断。
然后,在步骤S30处,每个求解器发送计算的预测的结果给其它求解器。这相当于第一求解器接收由第二求解器发送来的第二局部预测,并且第二求解器接收由第一求解器的第一局部预测。位置和/或速度数据传送发生在每个求解器所附属的计算资源之间。依据计算资源的物理架构,可以由共享存储器机制或消息传递机制来支持数据传送。
然后,在步骤S40处,每个求解器将接收的预测与其自身的公共边界数据的局部预测进行组合,以获得全局协商的公共边界预测数据。以本领域所公知的执行所述组合,例如,从局部和接收的预测位置来计算节点的平均位置。需要理解的是,对第一和第二求解器来说,该全局协商的公共边界预测数据是相同的。
然后,在步骤S50处,每个求解器计算应用于形成公共边界的每个节点之上的矫正力:获取用于仿真下一时间步T←T+Δt的将达到的公共边界。从当前局部公共边界数据和全局协商的公共边界预测数据来计算该矫正力。
然后,在步骤S60处,每个求解器将其计算出的矫正力输入至公共边界,并获得新的当前公共边界数据。因此,该矫正力施加到公共边界节点上。这可以通过使用适应的求解器API来执行。
然后,在步骤S70处,时钟仿真被增量,并且新的仿真周期可以在步骤S10处开始。
已描述了本发明的优选的实施例。需要理解的是可以做各种修改而不偏离本发明的精神和范围。因此,其它的实现也在随后的权利要求的范围之内。通过由求解器计算公共边界,维持步骤可以包括维持三个或更多的织物片严丝合缝,其中所述求解器对该三个或多个织物片进行仿真。因此,三个或更多的织物片是接缝的一部分。
Claims (14)
1.一种用于仿真织物片组合的计算机实现的方法,包括步骤:
-提供多个并行求解器,第一求解器仿真至少一个第一织物片,而且第二求解器仿真至少一个第二织物片;以及
-通过由第一和第二求解器计算公共边界,维持第一和第二织物片严丝合缝。
2.根据权利要求1所述的计算机实现的方法,其中通过将所述第一织物片的数据和所述第二织物片的数据组合来执行所述公共边界的计算。
3.根据权利要求2所述的计算机实现的方法,其中通过在所述第一求解器和所述第二求解器之间互相交换数据,来执行所述第一织物片和所述第二织物片的数据的组合。
4.根据权利要求3所述的计算机实现的方法,其中在所述第一求解器和所述第二求解器之间互相交换数据包括:
-所述第一求解器根据当前公共边界数据计算公共边界数据的第一局部预测,并且将计算的结果发送给所述第二求解器;
-所述第二求解器根据当前公共边界数据计算公共边界数据的第二局部预测,并且将计算的结果发送给所述第一求解器;
-所述第一求解器接收由所述第二求解器发送的所述第二局部预测;
-所述第二求解器接收由所述第一求解器发送的所述第一局部预测;
-所述第一求解器将所述公共边界数据的所述第一局部预测与接收到的所述公共边界数据的所述第二局部预测相组合,所述组合的结果是全局公共边界预测数据;
-所述第二求解器将所述公共边界数据的所述第二局部预测与接收到的所述公共边界数据的所述第一局部预测相组合,所述组合的结果是全局公共边界预测数据;
-所述第一求解器计算第一矫正力以应用在公共边界上,所述第一矫正力是从当前局部公共边界数据和所述全局公共边界预测数据计算出的;以及
-所述第二求解器计算第二矫正力以应用在公共边界上,所述第二矫正力是从当前局部公共边界数据和所述全局公共边界预测数据计算出的。
5.根据权利要求4所述的计算机实现的方法,还包括:
-所述第一求解器将计算出的第一矫正力输入给所述公共边界,并且获得新的当前公共边界数据;
-所述第二求解器将计算出的第二矫正力输入给所述公共边界,并且获得新的当前公共边界数据。
6.根据权利要求4到5之一所述的计算机实现的方法,其中将所述公共边界数据的局部预测与接收到的所述公共边界数据的局部预测相组合的步骤是通过将代表所述局部预测的值与代表接收到的局部预测的值取平均值来执行的。
7.根据权利要求4到6之一所述的计算机实现的方法,其中所述至少一个第一和第二织物片通过包括节点的表面网格来建模。
8.根据权利要求7所述的计算机实现的方法,其中所述公共边界数据与作为所述至少一个第一和第二织物片之间的所述公共边界一部分的所述第一和第二织物片的节点的位置和/或速度相关。
9.根据权利要求1到8之一所述的计算机实现的方法,其中所述第一求解器专用于第一类型的织物片,而且所述第二求解器专用于第二类型的织物片。
10.一种计算机程序,包括用于由计算机执行的指令,所述指令包括用于执行权利要求1-9中任一项所述的方法的手段。
11.一种计算机可读存储介质,其上记录有根据权利要求10所述的计算机程序。
12.一种用于仿真织物片组合的计算机***,包括:
-耦合到存储器的处理器;
-图形用户界面,用于显示织物片组合的仿真;
所述存储器上记录有根据权利要求10所述的计算机程序。
13.一种三维建模的对象,其通过根据权利要求1-9中任一项所述的方法获得。
14.一种数据文件,存储了根据权利要求13所述的三维建模的对象。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13305711.7A EP2808811B1 (en) | 2013-05-30 | 2013-05-30 | Simulation of an assembly of fabric pieces |
EP13305711.7 | 2013-05-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239601A true CN104239601A (zh) | 2014-12-24 |
CN104239601B CN104239601B (zh) | 2020-03-03 |
Family
ID=48692402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410327970.2A Active CN104239601B (zh) | 2013-05-30 | 2014-05-29 | 织物片组合的仿真 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10229228B2 (zh) |
EP (1) | EP2808811B1 (zh) |
JP (1) | JP6469971B2 (zh) |
KR (1) | KR20140141499A (zh) |
CN (1) | CN104239601B (zh) |
CA (1) | CA2853030A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111028320A (zh) * | 2019-12-11 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 布料动画的生成方法、装置、计算机可读存储介质 |
CN111062126A (zh) * | 2019-12-10 | 2020-04-24 | 湖北民族大学 | 基于图案实例的土家织锦设计与外观模拟方法 |
CN112581599A (zh) * | 2020-12-09 | 2021-03-30 | 北京维盛视通科技有限公司 | 一种服装拉链的动态模拟方法、装置,电子设备及存储介质 |
CN113591166A (zh) * | 2020-04-30 | 2021-11-02 | 服装技术有限责任公司 | 利用3d cad工具改进服装设计过程 |
CN113593002A (zh) * | 2020-04-30 | 2021-11-02 | 服装技术有限责任公司 | 生成3d服装模型的计算机实现方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6180675B1 (ja) * | 2017-03-16 | 2017-08-16 | 株式会社Jsol | 縫製解析システムおよびプログラム |
US11069116B2 (en) * | 2018-02-21 | 2021-07-20 | Autodesk, Inc. | Hybrid structural-geometric technique for performing draping simulation of woven fabric composites |
WO2021150056A1 (en) * | 2020-01-23 | 2021-07-29 | Clo Virtual Fashion Inc. | Automatic determination of sewing lines for assembling pattern pieces of garment |
US11483404B2 (en) * | 2020-09-09 | 2022-10-25 | Carter Global, LLC | Macramé tile based macramé application and method of using the macramé application |
US20230334772A1 (en) * | 2020-10-13 | 2023-10-19 | Seddi, Inc. | Modeling true seams in virtual garment applications |
US20230057822A1 (en) * | 2021-08-17 | 2023-02-23 | Clo Virtual Fashion Inc. | Generating enhanced exploded view for design object |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101209134A (zh) * | 2006-12-28 | 2008-07-02 | 株式会社岛精机制作所 | 布帛式样的生成装置和生成方法、生成程序 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650266B2 (en) * | 2005-05-09 | 2010-01-19 | Nvidia Corporation | Method of simulating deformable object using geometrically motivated model |
US8560286B2 (en) * | 2011-03-31 | 2013-10-15 | Dem Solutions Limited | Method and apparatus for discrete element modeling involving a bulk material |
-
2013
- 2013-05-30 EP EP13305711.7A patent/EP2808811B1/en active Active
-
2014
- 2014-05-27 US US14/288,329 patent/US10229228B2/en active Active
- 2014-05-29 JP JP2014111425A patent/JP6469971B2/ja active Active
- 2014-05-29 KR KR20140064975A patent/KR20140141499A/ko not_active Application Discontinuation
- 2014-05-29 CN CN201410327970.2A patent/CN104239601B/zh active Active
- 2014-05-30 CA CA2853030A patent/CA2853030A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101209134A (zh) * | 2006-12-28 | 2008-07-02 | 株式会社岛精机制作所 | 布帛式样的生成装置和生成方法、生成程序 |
Non-Patent Citations (4)
Title |
---|
BRIDSON R等: "Robust treatment of collisions, contact and friction for cloth animation", 《ACM SIGGRAPH 2005 COURSES》 * |
THOMASZEWSKI B 等: "physically based simulation of cloth on distributed memory architectures", 《PARALLEL COMPUTING》 * |
ZARA F 等: "Parallel simulation of large dynamic system on a PCs cluster:application to cloth simulation", 《INTERNATIONAL JOURNAL OF COMPUTERS AND APPLICATIONS》 * |
高峰 等: "网上3D试衣***技术研究", 《计算机仿真》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062126A (zh) * | 2019-12-10 | 2020-04-24 | 湖北民族大学 | 基于图案实例的土家织锦设计与外观模拟方法 |
CN111028320A (zh) * | 2019-12-11 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 布料动画的生成方法、装置、计算机可读存储介质 |
CN113591166A (zh) * | 2020-04-30 | 2021-11-02 | 服装技术有限责任公司 | 利用3d cad工具改进服装设计过程 |
CN113593002A (zh) * | 2020-04-30 | 2021-11-02 | 服装技术有限责任公司 | 生成3d服装模型的计算机实现方法 |
CN112581599A (zh) * | 2020-12-09 | 2021-03-30 | 北京维盛视通科技有限公司 | 一种服装拉链的动态模拟方法、装置,电子设备及存储介质 |
CN112581599B (zh) * | 2020-12-09 | 2023-08-01 | 北京维盛视通科技有限公司 | 一种服装拉链的动态模拟方法、装置,电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104239601B (zh) | 2020-03-03 |
US20140358495A1 (en) | 2014-12-04 |
EP2808811B1 (en) | 2019-09-18 |
US10229228B2 (en) | 2019-03-12 |
EP2808811A1 (en) | 2014-12-03 |
CA2853030A1 (en) | 2014-11-30 |
KR20140141499A (ko) | 2014-12-10 |
JP6469971B2 (ja) | 2019-02-13 |
JP2014235748A (ja) | 2014-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239601A (zh) | 织物片组合的仿真 | |
CN109147048B (zh) | 一种利用单张彩色图的三维网格重建方法 | |
CN102779358B (zh) | 用于设计几何三维建模对象的方法及设备 | |
CN103500236B (zh) | 设计3d模型对象 | |
US20090040224A1 (en) | Three-dimensional shape conversion system, three-dimensional shape conversion method, and program for conversion of three-dimensional shape | |
CN104217066A (zh) | 利用2d视图设计3d建模对象 | |
CN103914865A (zh) | 形成几何图案的面的组 | |
CN105718643A (zh) | 一种基于最优化视角的船舶生产设计审图器实现方法 | |
CN102629391A (zh) | 基于数字图形介质的三维空间结构图形切割及切片方法 | |
Lin et al. | Quality guaranteed all-hex mesh generation by a constrained volume iterative fitting algorithm | |
CN102592303A (zh) | 毛发运动合成器***和用于毛发/皮毛流水线的优化技术 | |
Wang et al. | A triangular grid generation and optimization framework for the design of free-form gridshells | |
CN103366402A (zh) | 三维虚拟服饰的快速姿态同步方法 | |
WO2020224144A1 (zh) | 一种基于人体拉普拉斯变形的服装变形方法 | |
CN104463934B (zh) | 一种“质点‑弹簧”***驱动的点集模型动画自动生成方法 | |
CN112184894B (zh) | 三维建模的雕塑方法、装置及设备、存储介质 | |
He et al. | Versatile cutting fracture evolution modeling for deformable object cutting simulation | |
CN109118561B (zh) | 一种基于位置的层次化动态模拟方法 | |
CN106548505B (zh) | 用于三维射线跟踪的场景模型快速三角化方法 | |
Horváth et al. | Vague modeling for conceptual design | |
Ozbay et al. | ANovel APPROACH TO SMOOTHING ON 3D STRUCTURED ADAPTIVE MESH OF THE KINECT-BASED MODELS | |
Wang et al. | An improved CPU–GPU parallel framework for real-time interactive cutting simulation of deformable objects | |
Mauro Espinoza Zamata et al. | Comparative of Techniques: Activation by Sequence, Morph Target Animation and CG/HLSL Programming in Surgery Incision Simulation for Virtual Reality | |
Xiao et al. | Real-time and authentic blood simulation for surgical training | |
CN116070334B (zh) | 一种面向数字孪生应用的多维模型构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |