CN104658021B - 虚拟环境中的对象的图形模拟 - Google Patents
虚拟环境中的对象的图形模拟 Download PDFInfo
- Publication number
- CN104658021B CN104658021B CN201510119695.XA CN201510119695A CN104658021B CN 104658021 B CN104658021 B CN 104658021B CN 201510119695 A CN201510119695 A CN 201510119695A CN 104658021 B CN104658021 B CN 104658021B
- Authority
- CN
- China
- Prior art keywords
- particle
- power
- group
- drawing object
- interaction
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种用于模拟图形对象的方法。该方法包括监测第一图形对象与第二图形对象之间的近似距离,第一图形对象具有至少第一粒子并且第二图形对象具有至少第二粒子;检测第一与第二粒子之间的碰撞(P220);计算由于碰撞所引起的与第一和第二粒子相关联的第一组力(P230),其中在第一情境中计算第一组力,在该第一情境中,考虑了与第一和第二粒子相关联的X种粒子属性;计算由于碰撞所引起的与第一和第二粒子相关联的第二组力(P240),其中在第二情境中计算第二组力,在该第二情境中,考虑了与第一和第二粒子相关联的Y种粒子属性,其中X<Y。
Description
本申请是PCT国际申请号为PCT/RU2009/000726、国际公布号为WO2011/078724、中国国家申请号为CN 200980163108.X、题为“虚拟环境中的对象的图形模拟”的申请的分案申请。
本专利文件的公开的部分内容包括受到版权保护的材料。其所有者对于任何人对其专利文件或专利公开内容(如专利和商标局专利文件或记录所呈现)的传真复制没有任何异议,但保留其他一切权利。
本文中所引用的一些标记可能是普通法或是附属于或非附属于申请人或受让人的第三方注册商标。这些标记的使用是为了通过示例的方式提供可实施性披露,而不应被理解为将本发明的范围限制于与此类标记相关联的材料。
技术领域
本发明一般涉及模拟引擎,更具体地涉及对虚拟环境中的物理对象进行图形模拟。
背景技术
图形模拟引擎涉及可被用于对虚拟环境中的物理模型或对象进行图形模拟的软件应用。模拟引擎可模拟并预测图形渲染对象在不同条件下的物理变化,以对该对象作为真实对象受到现实世界力和物理规律作用时的事件和影响进行近似。
现有的模拟引擎可将物理对象表示为简单或复杂粒子的集合。简单粒子缺乏空间扩展,因为简单粒子是图形粒子的表示,其中对该粒子的尺寸、形状和结构的改变在给定表示情境中不相关。因此,简单粒子一般限于支持不可变形的对象在三个空间方向上(即,三个自由度)的运动。不可变形的对象指的是如下对象:在该对象内的任何两个给定粒子之间的距离随时间保持恒定,且与施加于对象上的外力无关。
与此相反,复杂粒子可用于表示有限大小的可变形的或不可变形的对象。可变形的对象指的是如下对象:在该对象内的任何两个给定粒子之间的距离可相对于施加于该对象上的外力而随时间变化。复杂粒子占据空间,且一般实现为除了支持在三个空间方向上运动之外还支持在三个空间方向上旋转(即,六个自由度)。
由于复杂粒子和简单粒子之间的区别,与简单粒子模拟的计算相比,涉及复杂粒子模拟的碰撞相关的计算要复杂得多。而且,在复杂粒子模拟中,碰撞检测或其他参数的精度可能会随着复杂粒子数量的增加而降低。
发明内容
根据本申请的一个方面,提出了一种用于在多维虚拟空间中模拟图形对象的计算机实现方法,所述方法包括:监测第一图形对象与第二图形对象之间的近似距离,所述第一图形对象具有至少第一粒子,且所述第二图形对象具有至少第二粒子;检测所述第一粒子与所述第二粒子之间的碰撞;计算由于碰撞所引起的与所述第一粒子和第二粒子相关联的第一组力,其中在第一情境中计算所述第一组力,在所述第一情境中考虑了与所述第一粒子和第二粒子相关联的X种粒子属性;计算由于碰撞所引起的与所述第一粒子和第二粒子相关联的第二组力,其中在第二情境中计算所述第二组力,在所述第二情境中考虑了与所述第一粒子和第二粒子相关联的Y种粒子属性,其中X<Y;以及基于所述第一组力和第二组力的计算结果,计算在碰撞之后所述第一图形对象和第二图形对象中的粒子的位置和取向。
根据本申请的再一个方面,提出了一种用于在多维虚拟空间中模拟图形对象的系统,所述系统包括:用于监测第一图形对象与第二图形对象之间的近似距离的逻辑单元,所述第一图形对象具有至少第一粒子,且所述第二图形对象具有至少第二粒子;用于检测所述第一粒子与所述第二粒子之间的碰撞的逻辑单元;用于计算由于碰撞所引起的与所述第一粒子和第二粒子相关联的第一组力的逻辑单元,其中在第一情境中计算所述第一组力,在所述第一情境中考虑了与所述第一粒子和第二粒子相关联的X种粒子属性;用于计算由于碰撞所引起的与所述第一粒子和第二粒子相关联的第二组力的逻辑单元,其中在第二情境中计算所述第二组力,在所述第二情境中考虑了与所述第一粒子和第二粒子相关联的Y种粒子属性,其中X<Y;以及基于所述第一组力和第二组力的计算结果计算在碰撞之后所述第一图形对象和第二图形对象中的粒子的位置和取向的逻辑单元。
根据本申请的还有一个方面,提出了一种用于在多维虚拟空间中模拟图形对象的设备,包括:用于监测第一图形对象与第二图形对象之间的近似距离的装置,所述第一图形对象具有至少第一粒子,且所述第二图形对象具有至少第二粒子;用于检测所述第一粒子与第二粒子之间的碰撞的装置;用于计算由于碰撞所引起的与所述第一粒子和第二粒子相关联的第一组力的装置,其中在第一情境中计算所述第一组力,在所述第一情境中考虑了与所述第一粒子和第二粒子相关联的X种粒子属性;用于计算由于碰撞所引起的与所述第一粒子和第二粒子相关联的第二组力的装置,其中在第二情境中计算所述第二组力,在所述第二情境中考虑了与所述第一粒子和第二粒子相关联的Y种粒子属性,其中X<Y;以及用于基于所述第一组力和第二组力的计算结果,计算在碰撞之后所述第一图形对象和第二图形对象中的粒子的位置和取向的装置。
附图简述
通过参照以下所提供的附图来理解要求保护主题的实施例。
图1A是计算系统的示例性框图,在该计算系统中可以利用模拟引擎对物理对象进行图形化渲染。
图1B是根据一个实施例的基于图形粒子的集合进行图形化模拟的示例性对象。
图2是根据一个实施例的用于图形对象模拟的示例性方法的流程图。
图3示出了根据一个实施例的用于两个碰撞粒子的诸个力的计算。
图4A到4D示出了根据一个或多个实施例的计算环境中的用于物理对象模拟的示例性伪代码。
图5示出了根据一个实施例的使用矢量处理器对一组简单粒子的速度进行更新的示例性机制的框图。
在不同的图中通过相同标号引用的本发明的特征、元件和方面表示根据本发明的一个或多个实施例的相同、等价或类似的特征、元件或方面。
具体实施方式
为了总结的目的,本文描述了要求保护主题的一些方面、优点和新颖特征。应当理解,不是所有这些优点都可根据本发明的任一特定实施例实现。因此,本发明以实现或优化一个或一组优点而非实现本文所教示或提出的所有优点的方式具体化或实现。
提供了一种用于在多维虚拟空间对图形对象进行模拟的方法。该方法包括监测第一图形对象和第二图形对象之间的近似距离。第一图形对象可具有至少第一粒子,且第二图形对象可具有至少第二粒子。该方法可进一步包括检测第一粒子和第二粒子之间的碰撞,并计算由于碰撞所引起的与第一和第二粒子相关联的第一组力。在第一情境中计算第一组力,在该第一情境中考虑了与第一和第二粒子相关联X种粒子属性。还计算了由于碰撞所引起的与第一和第二粒子相关联的第二组力。在第二情境中计算所述第二组力,在该第二情境中考虑了与第一和第二粒子相关联的Y种粒子属性,其中X<Y。基于第一和第二组力的计算结果来计算在碰撞后第一和第二图形对象中的粒子的位置和取向。
根据另一实施例,提供包括一个或多个逻辑单元的系统。所述一个或多个逻辑单元被配置为实现与上述所公开的方法相关联的功能和操作。根据本发明的又一实施例,提供了包括计算机可用介质的计算机程序产品,该计算机可用介质具有计算机可读程序。当在计算机上执行该计算机可读程序时,使得计算机执行与上述所公开的方法相关联的功能和操作。
下文参照附图更详细地提供了一个或多个上述公开的实施例以及某些替代方案。然而,所要求保护的主题不限于所公开的任何特定实施例。
参照图1A,根据一个实施例,示例性计算系统100包括处理器102和显示器104.处理器102可以是中央处理单元(CPU)、图形处理单元(GPU)或能够执行模拟引擎106的其他类型的微控制器。显示器104可以是阴极射线管(CRT)显示器、液晶显示器(LCD)或能够在多维虚拟环境中对一个或多个图形对象108进行图形渲染的其他类型的设备。
参照图1B,图形对象108可被近似为复杂粒子,所述复杂粒子包括如图所示的一组简单粒子,可选地,这些简单粒子是相同的。简单粒子的相对位置可以是固定的,以保持各种形状的图形对象108的原始物理性质。例如,如果图形对象108是块状的,则简单粒子的位置根据特定形状可以是固定的。根据实现的不同,简单粒子的数量和相对位置可基于图形对象108的形状、大小或其他物理性质来确定。
图形对象108可被用于表示可变形的或不可变形的对象。即,图形对象108可以是对象的表示,该对象在与另一对象碰撞时可能出现凹痕、毁坏或损坏。在一些实施例中,图形对象可表示有弹性的对象,该弹性对象由于碰撞可能发生形变,然后变回近似原始形状。
参照图1A、1B和2,根据一个实施例,模拟引擎106可由处理器102来执行以使得在显示器104上渲染图形对象108。取决于实现方式,例如,模拟引擎106可例如从简单或复杂粒子(P200)构建出一个或多个图形对象。互相合作的粒子按需以均匀的方式对图形对象108的图形表示进行近似。同样,模拟引擎106可用于在显示器104上渲染一个或多个所构建的图形对象108(P210)。
在一个实施例中,模拟引擎106可响应于诸如碰撞之类的某些事件而周期性地或部分地重新渲染图形对象108。碰撞指的是两个图形对象之间的相互作用,该相互作用可导致至少一个图形对象的外观或运动方向发生改变。在示例性实施例中,可在基于组成图形对象的多个三维粒子的定位所定义的碰撞检测几何体的情境中,在显示器104上渲染图形对象108。此外,可利用渲染几何体来定义组成图形对象108的三维粒子的集合的三角形表面。
组成图形对象108的三维粒子可具有任何三维形状(例如,立方体、球形等)。在一个实现中,实现碰撞网格以允许模拟引擎106检测组成即将发生碰撞的图形对象的粒子之间的碰撞或潜在碰撞。碰撞网格可实现为表格、阵列、矢量或其他数据结构。如果在不同图形对象内的至少两个粒子在碰撞网格中位于彼此的预定接近距离内,则可检测到碰撞。
在一个实施例中,模拟引擎106使用碰撞网格来检测简单粒子情境中的碰撞(P220)。即,模拟引擎106可使用碰撞网格,基于粒子属性来确定至少第一对象中的第一粒子和第二对象中的第二粒子之间是否存在任何潜在碰撞,所述粒子属性定义了碰撞粒子的三个自由度。一旦检测到潜在碰撞,模拟引擎106就执行距离计算(例如,简单的欧几里德计算)以确定碰撞是否即将发生(即,实际碰撞)。
参照图3,响应于确定了潜在碰撞是实际碰撞,模拟引擎106基于与该碰撞所涉及的粒子相关联的各种因素(例如,速度、压力、摩擦等)来计算施加于这些粒子上的力。在一个实现中,模拟引擎106计算在简单粒子情境中作用在所涉及粒子上的压力或摩擦力,该简单粒子情境将在下文中详细描述(P230)。
根据一个实现,在该简单粒子情境中,通过例如忽略不适用于简单粒子的复杂粒子的空间特性(例如,旋转属性),而将图形对象中的复杂粒子视为或简化为简单粒子。由于与简单粒子相关联的属性的计算比复杂粒子的属性的计算要更为简单,当在简单粒子情境中(即,基于与三个自由度相关联的属性,而不是六个自由度)计算施加于复杂粒子的力时,可保持更有效的处理环境。
换言之,由于简单粒子具有三个自由度,因此与复杂粒子的六个自由度相比,可更有效地计算简单粒子情境中的碰撞结果。在一个实施例中,模拟引擎106也可在复杂粒子情境计算施加于碰撞对象的力(P240)。例如,可通过计算施加于复杂粒子的扭矩和线性力来执行对施加于复杂粒子的力的计算。即,与图形对象中的复杂粒子相关联的扭矩和线性力可被用于计算该图形对象的线性速度和角速度的变化。
在一个实施例中,模拟引擎106基于复杂粒子的相应线性速度和角速度(即,积分速度)的变化来计算包括有这些复杂粒子的图形对象的新的位置和方向(P250)。在一个实现中,如果复杂粒子或图形对象在运动,则模拟引擎106还可更新碰撞网格(P260)。如果复杂粒子或图形对象在网格单元之间运动,则模拟引擎106也可更新碰撞网格。
参照图4A至图4D,根据一个实施例,上述所公开的计算可按照如下文进一步详述的示例性伪代码的形式来实现。复杂粒子可具有一个或多个属性,所述属性包括但不限于:位置、速度、加速度、角位置、角速度和角加速度。可定义其他的粒子属性和参数以指示图形对象中的例如粒子数量、粒子形状(例如,球形)或半径。
例如,如图4B中所示的,简单粒子也可与位置、速度、加速度以及复杂粒子(例如,包括该简单粒子的物主(owner)粒子)相关联。例如,如图4C所示的,可使用连续循环来实现碰撞检测、力计算、粒子积分和网格更新。例如,如图4D所示的,可通过计算定义复杂粒子的简单粒子的转动惯量和加速度并更新其速度来实现对粒子的积分。
值得注意的是,在一个实施例中,上述提供的处理可由能够多任务处理的一个或多个处理器(例如,拉拉比(Larrabee)或英特尔多核处理器)来执行。在此实施例中,可与其它简单粒子无关地对一简单粒子进行碰撞分析,从而实现关于简单粒子的线程级并行性。同样,可与其他复杂粒子无关地执行对一复杂粒子的累计或积分,以实现关于复杂粒子的线程级并行性。
在一个实施例中,计算系统100可包括矢量处理器。矢量处理器涉及能够执行单指令多数据(SIMD)指令的处理器。矢量处理器可以是多处理器,所述多处理器支持加载到多个矢量寄存器中的数据的并行处理。在此实施例中,模拟引擎106可与其他简单粒子无关地计算一简单粒子的力、速度或位置,以实现数据级并行性。
参照图5,矢量处理器可被用于例如在碰撞后更新粒子的速度。为了说明的目的,假设有16个粒子。在简单粒子情境中,在碰撞之前的一个或多个粒子的速度可被分别加载到矢量寄存器Ai+0、Ai+2、...Ai+15中,并且一个或多个粒子的速度的变化可被分别加载到矢量寄存器Bi+0、Bi+2、...Bi+15中。一旦先前的速度和速度的变化被加载,就可执行计算操作(例如,宽SIMD操作)以计算碰撞后的简单粒子的速度。例如,碰撞后的简单粒子的速度可被分别储存在矢量寄存器Si+0、Si+2、...Si+15中。
如上所述,使用复杂粒子的图形对象模拟提供了在包括可变形对象和相撞对象的对象之间的快速物理交互,至少部分地由于应用于简单和复杂粒子的多级计算,该模拟具有较低成本和较高可扩展性。理想地,在小范围的一组图形对象上(例如,在简单粒子情境下)预先执行计算以根据碰撞网格来确定碰撞接近距离。在此计算中,以相对低计算开销来对诸个力进行计算。
例如,当两个潜在碰撞的图形对象是对称的且在碰撞网格的预定距离或预定数量的粒子内,则施加于这些图形对象的力可通过计算施加于组成对象的粒子上的力而导出。取决于实现方式,复杂粒子的积分包括单次迭代以解析碰撞。此外,除了其他力之外,对摩擦力的考虑阻止图形对象的跳动或扩展。
取决于实现方式,本发明可能采取完全硬件实施例、完全软件实施例或同时包含硬件和软件的实施例的形式。软件实施例可包括但不限于固件、驻留软件、微代码,等等。
此外,本发明可采取可从计算机可用或计算机可读介质所获得的计算机程序产品的形式,该计算机可用或计算机可读介质提供了由计算机或任何指令执行系统所使用的或结合计算机或任何指令执行系统一起使用的程序代码。为了本说明书的目的,计算机可用或计算机可读介质可以是包含、存储、通信、传播、或传输由指令执行系统、装置或设备所使用的或结合指令执行系统、装置或设备一起使用的程序的任何装置。
适用于存储和/或执行程序代码的数据处理系统将包括通过系统总线与存储器元件直接或间接耦合的至少一个处理器。该存储器元件可包括在程序代码的实际执行期间所采用的本地存储器、大容量存储器、以及提供至少某些程序代码的临时存储以减少在执行期间从大容量存储器取回代码的次数的高速缓存存储器。
其他部件可耦合至该系统。输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可直接或通过介入的I/O控制器耦合至该系统。网络适配器(例如,调制解调器、有线调制解调器、以太网卡)也可耦合至该系统,以允许数据处理系统通过介入的专用或公共网络而耦合至其它数据处理系统或远程打印机或存储设备。
应当理解,执行每种方法的相应部分的逻辑代码、程序、模块、处理、方法和顺序仅仅是示例性的。取决于实现方式,它们可按照任何顺序或并行执行,除非本公开内容中另有说明。此外,逻辑代码不与任何特定编程语言相关或不限于任何特定编程语言,并且可包括在分布式、非分布式或多处理器环境中执行一个或多个处理器的一个或多个模块。
上述方法可被用于集成电路芯片的制造。制造商可按照原始晶片形式(即具有多个未封装芯片的单个晶片)、按照裸片形式或按照封装形式来分发所得到的集成电路芯片。在后一种情况下,将芯片安装在单芯片封装中(诸如塑料载体,其引线固定至母板或其它高级载体)或多芯片封装中(诸如具有单面或双面互连或掩埋互连的陶瓷载体)。
在任一情况下,该芯片随后被与其它芯片、分立的电路元件、和/或其它信号处理设备相集成,以作为(a)中间产品(诸如母板)或(b)最终产品的一部分。最终产品可以是包括集成电路芯片的任何产品,其范围从玩具和其它低端应用到具有显示器、键盘或其它输入设备以及中央处理器的高级计算机产品。
因此,应当理解,本发明可由在所附权利要求的精神和范围内的修改和变化实现。说明书不旨在穷举或将本发明限制为所公开的精确形式。所公开的实施例的这些和各种其他改变和组合都在本发明的范围内并进一步由权利要求和其全部等效范围所限定。
Claims (26)
1.一种用于在多维虚拟空间中模拟图形对象的运动的计算机实现方法,所述方法包括:
检测所述图形对象与另一对象的交互,所述图形对象是从简单和复杂粒子构建出的;
计算由于交互所引起的与所述图形对象的简单粒子相关联的第一组力;
计算由于交互所引起的与所述图形对象的复杂粒子相关联的第二组力;以及
基于所述第一组力和第二组力的计算结果,计算在交互之后所述图形对象中的粒子的位置和取向。
2.如权利要求1所述的方法,其特征在于,所述图形对象是第一图形对象,并且所述另一对象是第二图形对象,并且其中基于所计算的在交互之后所述第一图形对象和所述第二图形对象中的粒子的位置和取向,确定在交互之后所述第一图形对象和所述第二图形对象的相对位置。
3.如权利要求1所述的方法,其特征在于,碰撞网格被用于:当简单粒子位于碰撞网格上的另一粒子的预定接近距离内时,确定存在交互。
4.如权利要求1所述的方法,其特征在于,所述第一组力是基于与所述简单粒子相关联的压力和摩擦力属性而计算出的。
5.如权利要求1所述的方法,其特征在于,所述第二组力是基于与所述复杂粒子相关联的扭矩和线性力属性而计算出的。
6.如权利要求5所述的方法,其特征在于,所述第二组力被用于计算由于交互所引起的所述简单粒子的线速度和角速度的变化。
7.如权利要求6所述的方法,其特征在于,所述简单粒子的线速度和角速度的变化被用于计算在所述交互之后所述图形对象的位置和取向。
8.如权利要求1所述的方法,其特征在于,互不相关地处理所述简单粒子。
9.如权利要求1所述的方法,其特征在于,当计算所述第一组力或第二组力中的至少一组力时,通过多处理器实现线程级并行性。
10.如权利要求1所述的方法,其特征在于,当计算所述第一组力或第二组力中的至少一组力时,通过矢量处理器实现数据级并行性。
11.一种用于在多维虚拟空间中模拟图形对象的系统,所述系统包括:
用于检测所述图形对象与另一对象的交互的逻辑单元,所述图形对象是从简单和复杂粒子构建出的;
用于计算由于交互所引起的与所述图形对象的简单粒子相关联的第一组力的逻辑单元;
用于计算由于交互所引起的与所述图形对象的复杂粒子相关联的第二组力的逻辑单元;以及
基于所述第一组力和第二组力的计算结果计算在交互之后所述图形对象中的粒子的位置和取向的逻辑单元。
12.如权利要求11所述的系统,其特征在于,所述图形对象是第一图形对象,并且所述另一对象是第二图形对象,并且其中在交互之后所述第一图形对象和所述第二图形对象的相对位置是基于所计算出的在交互之后所述第一图形对象和所述第二图形对象中的粒子的位置和取向而确定的。
13.如权利要求11所述的系统,其特征在于,碰撞网格被用于:当简单粒子位于所述碰撞网格上的另一粒子的预定接近距离内时,确定存在交互。
14.如权利要求11所述的系统,其特征在于,所述第一组力是基于与所述简单粒子相关联的压力和摩擦力属性而计算出的。
15.如权利要求11所述的系统,其特征在于,所述第二组力是基于与所述复杂粒子相关联的扭矩和线性力属性而计算出的。
16.一种用于在多维虚拟空间中模拟图形对象的设备,包括:
用于检测所述图形对象与另一对象的交互的装置,所述图形对象是从简单和复杂粒子构建出的;
用于计算由于交互所引起的与所述图形对象的简单粒子相关联的第一组力的装置;
用于计算由于交互所引起的与所述图形对象的复杂粒子相关联的第二组力的装置;以及
用于基于所述第一组力和第二组力的计算结果,计算在交互之后所述图形对象中的粒子的位置和取向的装置。
17.如权利要求16所述的设备,其特征在于,所述图形对象是第一图形对象,并且所述另一对象是第二图形对象,并且其中在交互之后所述第一图形对象和所述第二图形对象的相对位置是基于所计算出的在交互之后所述第一图形对象和所述第二图形对象中的粒子的位置和取向而确定的。
18.如权利要求16所述的设备,其特征在于,碰撞网格被用于:当简单粒子位于所述碰撞网格上的另一粒子的预定接近距离内时,确定存在交互。
19.如权利要求16所述的设备,其特征在于,所述第一组力是基于与所述简单粒子相关联的压力和摩擦力属性而计算出的。
20.如权利要求16所述的设备,其特征在于,所述第二组力是基于与所述复杂粒子相关联的扭矩和线性力属性而计算出的。
21.如权利要求20所述的设备,其特征在于,所述第二组力被用于计算由于交互所引起的所述简单粒子的线速度和角速度的变化。
22.如权利要求21所述的设备,其特征在于,所述简单粒子的线速度和角速度的变化被用于计算在所述交互之后所述图形对象的位置和取向。
23.如权利要求16所述的设备,其特征在于,互不相关地处理所述简单粒子。
24.如权利要求16所述的设备,其特征在于,当计算所述第一组力或第二组力中的至少一组力时,通过多处理器实现线程级并行性。
25.如权利要求16所述的设备,其特征在于,当计算所述第一组力或第二组力中的至少一组力时,通过矢量处理器实现数据级并行性。
26.一种机器可读介质,包括存储在所述机器可读介质上的多条指令,所述多条指令当被执行时使计算设备执行如权利要求1-10中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119695.XA CN104658021B (zh) | 2009-12-25 | 2009-12-25 | 虚拟环境中的对象的图形模拟 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200980163108.XA CN102665836B (zh) | 2009-12-25 | 2009-12-25 | 虚拟环境中的对象的图形模拟 |
CN201510119695.XA CN104658021B (zh) | 2009-12-25 | 2009-12-25 | 虚拟环境中的对象的图形模拟 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980163108.XA Division CN102665836B (zh) | 2009-12-25 | 2009-12-25 | 虚拟环境中的对象的图形模拟 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104658021A CN104658021A (zh) | 2015-05-27 |
CN104658021B true CN104658021B (zh) | 2018-02-16 |
Family
ID=53249097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510119695.XA Expired - Fee Related CN104658021B (zh) | 2009-12-25 | 2009-12-25 | 虚拟环境中的对象的图形模拟 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104658021B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389855B (zh) * | 2014-08-26 | 2019-11-01 | 三星电子株式会社 | 对对象进行建模的方法和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653487A (zh) * | 2002-05-10 | 2005-08-10 | 比特波伊斯有限责任公司 | 具有边绘制单元的图形引擎以及合并有该图形引擎的电子装置及存储器 |
CN1761974A (zh) * | 2003-03-18 | 2006-04-19 | 皇家飞利浦电子股份有限公司 | 用于最佳匹配数据集的方法和装置 |
CN101329772A (zh) * | 2008-07-21 | 2008-12-24 | 北京理工大学 | 一种基于sph的运动物体与水交互的仿真建模方法 |
CN101542487A (zh) * | 2006-07-24 | 2009-09-23 | Ati科技公司 | 图形处理器上的物理仿真 |
-
2009
- 2009-12-25 CN CN201510119695.XA patent/CN104658021B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653487A (zh) * | 2002-05-10 | 2005-08-10 | 比特波伊斯有限责任公司 | 具有边绘制单元的图形引擎以及合并有该图形引擎的电子装置及存储器 |
CN1761974A (zh) * | 2003-03-18 | 2006-04-19 | 皇家飞利浦电子股份有限公司 | 用于最佳匹配数据集的方法和装置 |
CN101542487A (zh) * | 2006-07-24 | 2009-09-23 | Ati科技公司 | 图形处理器上的物理仿真 |
CN101329772A (zh) * | 2008-07-21 | 2008-12-24 | 北京理工大学 | 一种基于sph的运动物体与水交互的仿真建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104658021A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kipfer et al. | Uberflow: a gpu-based particle engine | |
US7739479B2 (en) | Method for providing physics simulation data | |
US7895411B2 (en) | Physics processing unit | |
US20050086040A1 (en) | System incorporating physics processing unit | |
US10037391B2 (en) | Semiconductor device | |
CN103309786A (zh) | 用于在非可抢占式图形处理单元上交互调试的方法和装置 | |
WO2008011391A2 (en) | Ray tracing a three-dimensional scene using a hierarchical data structure | |
Xie et al. | Pim-vr: Erasing motion anomalies in highly-interactive virtual reality world with customized memory cube | |
US8548776B2 (en) | Parallel physics solver | |
CN104658021B (zh) | 虚拟环境中的对象的图形模拟 | |
CN102665836B (zh) | 虚拟环境中的对象的图形模拟 | |
Etheredge | A parallel mass-spring model for soft tissue simulation with haptic rendering in CUDA | |
US20090326888A1 (en) | Vectorized parallel collision detection pipeline | |
Woulfe et al. | Hardware accelerated broad phase collision detection for realtime simulations | |
Salazar et al. | Cloth simulation using AABB hierarchies and GPU parallelism | |
Hawick et al. | Hard-sphere collision simulations with multiple gpus, pcie extension buses and gpu-gpu communications | |
TWI708167B (zh) | 電子裝置及選取目標物件之預測方法 | |
US20100073383A1 (en) | Cloth simulation pipeline | |
Hromnik | A GPGPU implementation of the discrete element method applied to modeling the dynamic particulate environment inside a tumbling mill | |
Sabou et al. | Particle based modelling and processing of high resolution and large textile surfaces | |
Hsieh et al. | GPU-based Collision Detection and Response for Particles on 3D Models. | |
Bayer et al. | Impulse-based dynamic simulation on the GPU | |
Negrut et al. | Simulation of Multibody Dynamics Leveraging New Numerical Methods and Multiprocessor Capabilities | |
Chardonnet et al. | Interactive dynamic simulator for humanoid with haptic feedback | |
Fossum | Real-Time Rigid Body Interactions |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180216 Termination date: 20211225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |