CN104040444B - 用于生成和仿真物体的模型的计算机程序产品和方法 - Google Patents
用于生成和仿真物体的模型的计算机程序产品和方法 Download PDFInfo
- Publication number
- CN104040444B CN104040444B CN201280066439.3A CN201280066439A CN104040444B CN 104040444 B CN104040444 B CN 104040444B CN 201280066439 A CN201280066439 A CN 201280066439A CN 104040444 B CN104040444 B CN 104040444B
- Authority
- CN
- China
- Prior art keywords
- unit
- distance
- group
- adf
- distance field
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- 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
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Image Generation (AREA)
Abstract
一种用于根据一组指令处理物体的模型的计算机程序产品包括非瞬时性计算机可读存储器,其存储由混合自适应采样距离场(ADF)表示的物体的模型,其中,模型包括单元的层级,其中,至少一个单元包括形成物体的边界的至少一部分的一组距离函数和距离函数中的至少一些的一组距离采样,从而执行该组指令的处理器对物体的模型进行处理。
Description
技术领域
本发明一般地涉及仿真数控(NC)加工,并且更具体地涉及使用混合自适应采样距离场仿真NC加工。
背景技术
数控加工
仿真数控(NC)加工的过程在计算机辅助设计(CAD)和计算机辅助制造(CAM)中是非常重要的。在仿真期间,利用NC加工工具的计算机展示和一组NC加工工具运动来编辑工件的计算机模型以仿真加工过程。
工件模型和工具展示能够在仿真期间被可视化以检测诸如工件和工具部件的部件之间的潜在冲突,并且在仿真之后验证工件的最终形状。
工件的最终形状受到工具的选择以及工具运动的影响。用于控制这些运动的指令通常根据工件的想要的最终形状的图形表示使用CAM系统来生成。通常使用数字控制编程语言来实施运动,这些编程语言也已知为预备代码或G码,参见下面的标准RS274D和DIN66025/ISO6983。
由CAM系统生成的G码可能没有产生想要的形状的准确副本。另外,NC工具的移动由NC加工机的马达来管理,该NC加工机具有预定的速度、加速度和运动范围,从而实际的工具运动可能不会准确地遵循NC机指令。
工件的实际最终形状与工件的想要形状之间的差异可以非常小。在一些情况下,这些差异能够导致工件的最终形状的表面中的不想要的沟或裂纹,并且深度和宽度的尺寸处于几微米的量级并且长度处于几十微米的量级。
通常,在加工工件之前,通过加工由较软的较便宜的材料制成的测试工件来测试一组NC机指令。如果测试工件的视觉检查在测试工件中定位了不想要的差异,则能够相应地修改NC机指令。
该手动测试是耗时且昂贵的。加工单个测试工件的时间可以是数小时量级的并且在获得可接受的NC机器指令组之前可能需要重复若干次。
因此,想要的是,使用基于计算机的仿真和渲染来对于这些差异进行测试。然而,为了对于工件(器可以具有米的量级的尺度)检测几微米的量级的尺度的差异,要求非常精确的计算机模型。
扫描体积
在加工期间,工具根据这里称为工具路径的规定工具运动相对于工件移动,其中工具路径能够包含关于工具相对于工件的相对位置、取向和其它形状数据的信息。
当工具沿着工具路径移动时,工具雕刻出“扫描体积”。在加工期间,当工具沿着工具路径移动时,移除了由扫描体积交叉的工件的部分。该材料移除能够在计算机中建模为结构实体几何(CSG)差运算,其中,对于扫描体积和工件使用CSG减法运算来从工件移除工件的该部分。
为了提供高精度的加工仿真,需要具有扫描体积的精确展示。因此,本发明的目的在于提供一种空间和时间高效的方法,用于展示和渲染扫描体积的高精度模型。
虽然这里使用NC加工仿真作为示例,但是扫描体积在科学、工程、娱乐和计算机图形的很多领域中具有应用。一些特定应用包括例如计算机辅助设计、自由设计、基于计算的绘制、动画、实体建模、机器人、制造自动化和视觉化。下面的描述应用于其中要求或想要扫描体积的准确展示的所有区域。
虽然NC加工仿真通常在三维坐标系中执行,但是术语“扫描体积”能够更一般地扩展到N维坐标系。特别地,下面的描述还应用于在而为空间中沿着路径移动的一维或二维形状扫描出的区域或者在更高维度空间中在路径或表面上移动的形状扫描出的超体积。
在2006年的InternationalJournalofShapeModeling中Abdel-Malek、Blackmore和Joy的“SweptVolumes:Foundations,Perspectives,andApplications”中示出了扫描体积研究中的重要性和挑战的概述。他们得出了结论,该领域中的研究受到在计算机软件中实施扫描的复杂数学公式的困难的限制并且计算扫描体积的边界仍然是要求更好的可视化工具和更准确的方法的挑战性问题。
沿着简单路径移动的简单形状的扫描体积有时能够被解析地表示,如美国专利No.4833617中所描述的。然而,这些方法没有推广到复杂的形状和复杂的工具路径。
若干方法近似了多边形形状的扫描体积。多边形形状的模型能够经由CSG运算以空间层级编码以用于高效的编辑(例如,参见“InteractiveCSG”Proceedings,TechnicalSketches,SIGGRAPH,1999,Butcher)或者用于高效的冲突检测(参见美国专利No.6099573)。
在“ComputingSweptVolumes”,JournalofVisualizationandAnimation,2000,Abrams和Allen中描述了用于近似多边形物体的扫描体积的方法。
美国专利No.6862560描述了用于对扫描体积的多边形模型使用CSG运算来仿真加工的方法。在该方法中,工件的边界被包在一组单元中,其中,每个单元包含对于与单元相交的扫描体积多边形的引用。特定单元内工件与扫描体积多边形之间的交叉能够根据命令来处理以生成关注的小区域中加工表面的高精度渲染。然而,以高精度对完整模型的可视化特别慢。另外,没有描述扫描体积的生成和交叉的处理。
美国专利No.6993461描述了将物体表示为多面体。物体被使用一系列变形以离散时间步骤沿着路径布置。位于扫描体积的边界上的多面体表示的边缘和面被在每个时间步骤确定,并且连接以生成扫描体积的多面体近似。
这些多边形方法中的每一个的准确性受到物体模型的多边形表示的限制。可能要求大量的多边形来准确地表示复杂工具的曲面,尤其是曲率半径较小时。因此,这些方法具有有限的准确性或者具有用于生成扫描体积的高精度模型的过高的处理时间和存储要求,或者这两方面缺陷都有。另外,将扫描体积近似为一系列离散时间步骤的方法在时间步骤之间具有有限的精度,并且存在混叠伪影。
加工仿真的另一通常表示已知为Z缓冲(深度)或德克赛尔方法。在“Real-timeShadedNCMachiningDisplay”,Proceedings,SIGGRAPH1986,vanHook中描述了该方法。美国专利No.7149668描述了其中全部在z方向上由直线网格建模工件并且通过在网格上移动工具模型并且修改表示被工具交叉的工件的线的高度来执行加工仿真的类似方法。
德克赛尔方法通常受困于有限的分辨率(特别是在没有与z轴对齐的方向上),并且不适合于生成扫描体积的高精度模型。
德克赛尔表示与基于体素的表示相关。在“VolumeVisualization,”IEEEComputerSocietyPress,1991,Kaufman中描述了基于体素的表示以及用于渲染和处理基于体素的表示的方法。在“Sculpting:anInteractiveVolumetricModelingTechnique”,Proceedings,SIGGRAPH1991,Galyean和Hughes以及“VolumeSculpting:,Proceedings,SIGGRAPH1995,Wang和Kaufman中对于物体的基于体素的表示使用CSG运算仿真雕刻。
使用二元体素来表示扫描体积的方法包括美国专利No.6044306和“MethodandApparatusforShapingGeometricShapes”以及“Octree-basedBoundaryEvaluationforGeneralSweeps”,Proceedings,TMCE,2008Erdim和Ilies。这些方法都具有受到用于表示扫描体积的最小体素的尺寸的限制的准确性。
距离场
距离场是用于渲染和编辑形状的有效表示,例如,参见美国专利No.6396492、6724393、6826024和7042458。具体地,距离场是用于表示物体的隐式函数的形式。距离场是标量场,其给出从空间中的任意点到物体的表面的最短距离。距离场为零的点位于物体的表面上。物体的表面上的点的集合共同地描述了物体的边界,这也已知为d=0等值面。物体的距离场通常具有下述符号,使得用于物体内部的点的距离场的符号与物体的外部的点的距离场的符号相反。例如,距离场对于物体内部的点具有正符号,并且对于物体外部的点具有负符号。
距离场能够用于表示和渲染扫描体积。在“SweepingofThreeDimensionalObjects”,ComputerAidedDesign,20(4),1990,Martin和Stephenson中描述了用于按照隐式函数定义扫描体积的包络的理论基础。在“FunctionRepresentationforSweepingbyaMovingSolid”,Proceedings,SolidModeling,1995,Sourin和Pasko中,使用隐式表面来表示扫描体积。然而,隐式表面能够难以渲染,并且难以定义适合的用于任意复杂工具形状的隐式表示。
计算物体的距离场的过程被称为距离场函数。对于非常简单的物体(例如,平面、球或柱),距离场函数能够是具有闭合形式的解析函数。对于更复杂的物体,解析函数可能是不可能的。然而,数值过程可以仍然是可能的。例如,美国专利申请12/468607描述了用于确定诸如扫描加工工具的扫描物体的距离场的数值过程。
对于更加复杂的物体,可能不存在能够用于计算物体的距离场的简单的数值过程。例如,加工工件能够具有非常复杂的表面,从而数值过程不能够计算物体的距离场。在该情况下,能够通过采样和重建来计算物体的距离场。
采样包括确定和存储空间中的一组位置处的距离场的值。重建使用所存储的值和重建函数来计算没有采样距离场的点处的物体的距离场。用于采样的通常方法是在均匀间隔的规则3D网格位置采样距离场的值(规则采样)。通常的3D重建函数是三线重建,其中,围绕点的八个采样被使用三线插值函数组合在一起以计算该点处的距离场的值。
距离场的规则采样是非常简单的,但是可能不是非常高效的。物体的形状可以是在空间中存在距离场很慢地变化的区域并且存在很多非常类似的采样,从而能够利用少得多的采样(过采样)来重建准确的距离场。类似地,可以存在距离场快速地变化从而采样的数目不足以准确地重建距离场(下采样)的空间的区域。
自适应采样距离场(ADF)使用细节指向采样(detail-directedsampling)来提供比使用规则采样的情况更多的距离场的空间和时间高效表示。被称为采样ADF的一种ADF以单元的空间层级来存储距离场的值的采样,其中,与采样的密度反向相关的单元的大小在距离场快速地变化的地方较小,并且在距离场变化较慢的区域中较大。通过使用密度局部变化的采样,采样ADF避免了对于某些区域过采样以及对于其它区域下采样。采样ADF的每个单元包含距离场采样并且与用于重建与该单元关联的距离场的部分的重建方法关联。距离场采样能够包括距离场的值以及距离场的梯度和空间偏差。单元内的距离场仅在需要使得存储器和处理时间最小时从距离数据采样来进行重建。
存储物体的距离场的采样值的采样ADF提供了一种平衡模型准确性与存储要求的有用方法。重建的距离场的准确性与单元内的距离场采样的数目以及重构函数和单元的大小相关。重构距离场的准确性能够以多种方式来增加:能够增加单元中的采样的数目,或者能够增加与每个采样关联的信息量或者能够增加单元的大小。
例如,三元二次(triquadric)重建函数比三线重建函数更准确,但是要求27个标量距离场采样,而三线重建函数仅要求8个标量距离场采样,对于每个单元数据的增加超过了二倍。替选地,ADF中的最小单元大小能够减少以增加准确性,但是由于需要填充给定体积的单元的数据也将增加,因此,这也增加存储。然而,为了使用采样ADF获得非常高的准确性(大约1微米),当仿真大的工件时,能够要求过大的量的存储和处理时间。
ADF能够用于仿真使用CSG运算的编辑。用于编辑的模型和编辑工具能够表示为距离函数、规则采样的距离场或ADF。编辑处理能够例如明确地通过修改模型的ADF来生成编辑后的形状的ADF。
替选地,编辑后的形状能够隐式地表示为复合ADF。复合自适应采样距离场(CADF)被生成为表示物体,其中,复合ADF包括以空间层级布置的一组单元。复合ADF中的每个单元包括一组几何元素距离场函数的子集和用于组合该几何元素距离场函数的子集以重建由单元表示的物体的一部分的复合距离场的过程重建方法。距离场的子集中的每个距离场形成了单元内的物体的边界的一部分,即,复合边界。
用于确定单元内一组几何元素距离场函数的子集的过程应将其边界形成单元内的复合边界的一部分的距离场函数仅包括在该子集中。用于确定该子集的过程必须很快但是还得准确,否则获得的复合边界将是不准确的。例如,能够使用例如在美国专利申请12/751591中描述的光线采样过程。然而,光线采样过程能够在不能够容易地检测到的距离场的子集中导致错误。
复合ADF能够以非常高的准确性重建加工物体的距离场。一组几何元素的距离场函数能够通过解析或数值方法以高准确性计算,并且它们的值也以高准确性来组合。获得的表面具有非常详细的表面特征,其可以对于1立方米量级的仿真物体来说小于1微米。然而,该非常准确的表面的重建能够是非常缓慢的,这限制了方法可用性。
因此,需要改进用于确定复合ADF的单元内的一组几何元素距离场的子集的现有方法以减少物体的重建复合边界中的误差。另外,需要一种改进物体的复合边界的重建的速度以改进复合ADF表示的可用性的方法。
发明内容
本发明的目的在于提供一种用于表示和渲染用于加工仿真的高精度模型的空间和时间高效方法。本发明的各种实施方式的另一目的在于提供改进可用性和处理模型的物体的模型的替选表示。一些实施方式的另一目的在于提供改进物体的复合边界的重建的速度和准确性并且方便模型的用于各种仿真和图形渲染任务的处理的模型。
本发明的一些实施方式基于反直觉实现,即,为了节省加工的仿真所要求的存储器,需要增加所存储的数据量。因此,本发明的实施方式公开了一种混合自适应采样距离场(ADF)。
混合ADF利用一组单元表示物体。混合ADF中的至少一个单元包括与距离场的采样关联的数据,例如,一组距离采样以及一组几何元素距离场的子集,例如,一组距离函数。用于重建由单元表示的物体的该部分的距离场的程序重建方法与两种类型数据关联。
因此,在本发明的各种实施方式中,由混合自适应采样距离场表示物体的模型。在一个实施方式中,物体的模型包括单元的层级,其中,至少一个单元包括形成物体的边界的至少一部分的一组距离函数以及该距离函数中的至少一些的一组距离采样。
例如,物体的形状可以由形状距离场表示。路径可以由参数函数表示。扫描体积距离场能够由通过沿着路径移动形状生成的扫描体积表示,其中,根据扫描体积重建方法以连续方式来定义扫描体积距离场。
扫描体积重建方法在采样点重建扫描体积距离场。以连续方式确定参数函数的参数的最优组,其中,参数的最优组定义形状沿着路径的最优移动。形状距离场被变形到最优移动以产生变形后的形状距离场。根据采样点的变形后的形状距离场确定距离数据以重建采样点处的扫描体积距离场。
混合ADF被编辑为将扫描体积距离场包括在混合ADF中。根据扫描体积确定混合ADF的一组编辑单元,并且在该组编辑单元内重建混合ADF,其中,重建将扫描体积距离场包括在混合ADF的该组编辑单元中以通过沿着路径移动形状来仿真物体的加工。
混合ADF展示出二重性,其允许从距离场采样近似重建物体的距离场或者从所述一组几何元素距离场的子集准确地重建物体的距离场。
另外,距离场采样用于改进混合ADF的再生和渲染的质量和性能。此外,混合ADF简化了剔除过程,增加了渲染处理的有效性,提供了物体的表面的更准确的近似,并且为物体的灵活表示提供了可能性。
因此,本发明的一个实施方式公开了一种用于根据一组指令处理物体的模型的计算机程序产品。该产品包括非瞬时性计算机可读存储器,其存储由混合自适应采样距离场表示的物体的模型,从而执行该组指令的处理器对物体的模型进行处理。
模型可以包括单元的层级,其中,至少一个单元包括形成物体的边界的至少一部分的一组距离函数以及距离函数中的至少一些的一组距离采样。例如,能够对于单元的每个顶点来确定该组距离采样。
在该实施方式的一些变形例中,单元包括用于从所述一组距离采样重建单元内的距离场的重建函数以及用于组合由该组距离函数表示的几何元素以确定单元的复合表面的组合函数。而且,单元可以与至少一种类型关联。该类型指示单元与物体的边界的关系。该关系能够包括中间单元、外部叶单元、内部叶单元和边界叶单元。例如,至少一种类型可以包括基于所述一组距离采样确定的第一类型和基于所述一组距离函数确定的第二类型。而且,单元可以包括描述单元是否包括具有距离采样的子单元的采样类型标识符以及描述单元是否包括具有距离函数的一个或多个子单元的复合类型标识符。
本发明的另一实施方式公开了一种用于生成利用由单元的空间层级形成的混合自适应采样距离场(ADF)表示的物体的模型的方法,其中,至少一个特定单元与一组距离采样和一组距离函数关联。对于每个特定距离函数和对于每个特定单元,该方法包括:采样用于特定单元的特定距离函数以产生特定组的距离采样;利用特定组的距离采样修改特定单元的一组距离采样;以及利用特定距离函数修改特定单元的一组距离函数,其中,该方法的步骤由处理器执行。例如,可以对于特定单元的每个顶点执行采样,并且该方法可以包括基于特定组的距离采样中的值的符号确定由特定距离函数表示的几何元素的表面是否与特定单元交叉。
在一些变形例中,修改特定单元的一组距离函数的步骤可以基于特定单元的一组距离采样。类似地,修改特定单元的一组距离采样的步骤可以基于特定单元的一组距离函数。此外,单元可以与基于一组距离采样确定的采样类型以及基于一组距离函数确定的复合类型关联,其中,采样类型和复合类型指示单元与物体的边界的关系,并且其中,从由中间单元、外部叶单元、内部叶单元和边界叶单元构成的组中选择所述类型。
因此,在实施方式的一些变形例中,该方法包括检查针对单元的采样类型的采样细分标准和针对单元的复合类型的复合细分标准;以及如果满足采样细分标准或复合细分标准中的至少一个,则生成该单元的子单元。例如,该方法可以包括确定从一组距离采样重建的表面与通过组合一组距离场确定的表面之间的误差;以及基于该误差检查采样细分标准。类似地,该方法可以包括确定一组距离场中的距离场的数目;以及基于该数目检查复合细分标准。而且,该方法可以包括基于单元的一组距离函数确定单元的子单元的一组距离采样。
又一实施方式公开了一种利用由一组距离场表示的一组扫描体积确定物体的模型的加工的仿真的方法。该方法包括使用由单元的空间层级形成的混合自适应采样距离场(ADF)对仿真进行初始化,其中,特定单元包括形成物体的边界的至少一部分的一组距离函数和距离函数中的至少一些的一组距离采样;采样用于特定单元的特定距离函数以产生特定组的距离采样;利用特定组的距离采样修改特定单元的特定组的距离采样;基于特定组的距离采样中的值的符号确定由特定距离函数表示的几何元素的表面是否与特定单元交叉;基于特定组的距离采样中的值确定特定距离函数是否形成特定单元内的物体的模型的复合表面;利用特定距离函数修改特定单元的一组距离函数,其中,方法的步骤由处理器执行,并且将仿真渲染到存储器中。
该方法可以还包括下述步骤中的一个或组合:基于一组距离采样使用一组距离采样重建特定单元内的物体的模型的近似表面;确定一组光线与近似表面的近似交叉点;基于近似交叉点和一组距离函数确定一组光线与复合表面的准确交叉点;基于准确交叉点确定与一组光线中的每条光线关联的像素值;渲染近似表面的至少一部分;以及渲染复合表面的至少一部分。
该方法还包括基于一组距离采样剔除特定距离函数。例如,剔除可以包括确定一组距离采样与特定组的距离采样之间的误差;以及基于该误差剔除特定距离函数。
附图说明
图1是根据本发明的实施方式的NC加工机和用于仿真NC加工的系统和方法的流程图;
图2A是通过沿着路径移动工具获得的工件中的典型编辑和用于加工的典型工具的图;
图2B是通过沿着弯曲路径扫描2D形状确定的扫描体积的示意图;
图3A是工具的线性路径的示意图;
图3B是工具轴沿着路径改变的工具的弧路径的图;
图3C是工具的弯曲路径的示意图;
图4是根据本发明的实施方式的用于使用一组G码或NC机器指令仿真具有工具形状的工件的加工的方法的流程图;
图5是复合ADF的示意图;
图6是本发明的与混合ADF单元关联的数据结构的框图;
图7是示出混合ADF的树数据结构的图;
图8是示出利用几何元素的混合ADF单元的编辑的流程图;
图9A是示出混合ADF单元的采样ADF形态的编辑的流程图;
图9B是使用迭代数值方法的光线与几何元素的边界的交叉的方法的示意图;
图10是示出在混合ADF单元内渲染复合表面的图像的方法的流程图;以及
图11是示出通过光线采样剔除混合ADF单元的情况下的方法的流程图。
具体实施方式
系统和方法概述
图1示出了NC加工系统100和数控(NC)加工仿真系统150的示例。在NC加工系统100中,计算机辅助设计(CAD)模型102被输入到计算机辅助加工(CAM)系统104中,其生成用于控制NC加工系统的G码106。在NC加工期间,G码被输入到NC加工控制接口108,其处理G码以产生对应组的NC机器指令110。NC机器指令被输入到NC控制器112,其产生一组马达控制信号114以将工具116相对于工件118移动已对工件进行加工(例如,碾磨)。
仿真系统150能够将由CAM系统104生成的G码106或者由NC控制接口108生成的NC机器指令110作为输入。对于仿真系统的输入由仿真工件的加工的计算机处理器152读取,并且输出能够存储在存储器156中的仿真模型154。存储器能够包括在用于处理物体的模型的计算机程序产品中。例如,存储器能够包括,其存储模型154和一组指令,从而执行该组指令的处理器152对物体的模型进行处理。
例如,处理器152对存储的模型154进行渲染以生成能够输出到渲染装置160(例如,显示器或打印机装置)的渲染图像158。能够在执行工件的实际NC加工之前,将渲染图像162与CAD模型102比较以验证G码106或NC机器指令110的正确性。在本发明的各种实施方式中,存储器156存储由混合自适应采样距离场表示的物体的模型,下面将进行详细的描述。
工具
图2A示出了在NC加工中使用的一组典型的工具形状202、204、206和208。当工具相对于工件210移动时,工具将材料从工件雕刻掉。这里,工具202、204、206和208从工件移除对应于表面212、214、216和218的材料。由每个工具移除的材料的形状由工具形状和工具相对于工件的路径来确定。所移除的材料的形状是当工具沿着路径移动时工件与工具的扫描体积的交叉。
虽然我们在这里关注NC加工仿真,但是扫描体积在科学、工程、娱乐和计算机图形的很多领域中具有应用,所述应用包括计算机辅助设计、自由设计、实体建模、机器人、制造自动化和视觉化。
扫描体积
图2B示出了沿着路径252移动的形状250的扫描体积260。路径252将形状250的特定点的位置描述为时间函数。路径能够将形状的取向256、257和258描述为时间的函数。路径还能够将形状的尺度或形状的任意变形描述为时间的函数。在图2B中,形状250的原始位置、取向和几何形状在沿着路径移动时变形为形状254的最终位置、取向和几何形状。
工具路径
能够以很多形式来描述工具相对于工件的路径。
图3A示出了其中工具302沿着直线304移动的线性路径。
图3B示出了圆弧路径,其中,工具302的尖端310沿着圆弧312移动,并且工具的原始轴方向314在路径的末端改变到最终轴方向316。
图3C示出了弯曲路径,其中,工具302的尖端310沿着曲线320移动。
其它可能的路径形式包括例如将工具定位在点处,沿着已知为多段线的线的序列移动工具,沿着螺旋曲线移动工具,沿着多项式曲线(例如,贝塞尔曲线或立方贝塞尔曲线)或者已知为分段式多项式曲线的多项式曲线的序列移动工具。各种实施方式能够使用能够仿真的任何形式的路径,包括由受到工件的形状和材料组成影响的过程定义的路径。
混合自适应采样距离场。
图4示出了使用仿真处理器400仿真以工具形状对工件的加工(例如,碾磨);将加工工件的表示存储在存储器440中;以及使用渲染处理器460将加工工件的表示渲染到输出装置480的方法。该方法使用由混合自适应采样距离场(ADF)表示的物体的模型444。然而,混合ADF的应用不限于仿真加工应用。
混合ADF由单元的空间层级形成,其中,至少一个特定单元与一组距离采样和一组距离函数关联(下面将进行描述)。混合ADF的生成对于每个单元反复地进行。在一开始,能够使用用于从一组距离场重建复合距离场的方法和工件的形状来对可以存储在存储器440中的混合ADF444进行初始化。接下来,如果例如单元与几何元素(例如由距离函数424表示的工具408)的表面交叉,则能够修改和/或生成426混合ADF的单元。工件形状由包括一组几何元素的工件几何形状402来指定。
工件几何形状的每个几何元素被转换为距离场表示,其指定一组几何元素距离场。每个几何元素距离场能够被表示为例如解析距离函数、隐式距离函数、规则采样距离场、ADF和距离函数的合成或者过程。在本公开中,术语“距离函数”或“距离场”用于表示几何元素的所有等效表示。
在一个实施方式中,混合ADF存储在存储器中作为以表示工件形状的边界框的根单元开始的以上下方式生成的八叉树。工件几何形状402中的每个几何元素的距离场表示被添加到混合ADF的叶单元。距离场受到几何元素的影响。在处理(例如,渲染)期间,叶单元的距离场能够通过使用复合距离场重建方法404组合叶单元内的距离场来在采样点处进行重建。
对于本发明的实施方式来说,各种组合方法都是可能的并且是能够使用的。在一个实施方式中,组合使用布林减法运算符来仿真从工件移除工具扫描过的体积的材料。
在一个实施方式中,混合ADF的至少一个单元包括距离场的两个表示,即,采样ADF表示和复合ADF表示。这两个表示在这里被称为混合ADF单元的两个形态,即,由单元的一组距离采样表示的采样ADF形态和由单元的一组距离函数表示的复合ADF形态。
工件几何形状402中的几何元素的距离场表示用于编辑其距离场受到该几何元素影响(因此受到该几何元素的距离函数影响)的混合ADF的单元。在生成426期间,能够修改单元的两个形态。具体地,在一个实施方式中,生成426包括对于单元的每个顶点采样427距离函数以产生距离采样的子集,利用距离采样的子集修改428单元的该组距离采样,并且利用距离函数修改单元的该组距离函数。
单元的两个形态的修改改进了每个表示的质量。例如,在一个实施方式中,修改单元的该组距离函数基于特定单元的一组距离采样。类似地,在另一实施方式中,修改单元的一组距离采样基于单元的一组距离函数。
如果将新的距离场添加到混合ADF使得叶单元的距离场不相关,则从叶单元移除不相关的距离场。例如,如果工具运动从叶单元移除了所有材料,则叶单元中的所有距离场会变为不相关并且叶单元没有距离场并且被标记为外部单元。混合ADF的二重性的优点之一在于一组距离采样允许更快地生成重建单元的复合表面所需的一组距离函数。
因此,新工具运动的仿真可以将叶单元及其兄弟单元中的距离场的现有数目减少至低于指定的最大数目。在该情况下,叶单元及其兄弟单元的距离场被布置在其共享母单元中并且从复合ADF中删除该叶单元及其兄弟单元。
加工仿真方法定义410表示工具形状408的形状距离场412,其中,形状距离场412能够例如是解析距离函数、隐式距离函数、规则采样距离场、ADF和距离函数的合成或者过程。
例如,NC加工指令414或替选地G码416能够用于定义对应于工具的运动的参数路径函数420。对于每个工具运动,形状距离场12和参数路径函数420定义422表示几何元素的表面(例如,对应于工具运动的工具的扫描体积)的距离函数424。
复合ADF444被利用扫描体积距离场424来编辑以仿真工件根据工具运动的加工。在编辑过程中,扫描体积距离场被添加到由工具的扫描体积交叉的复合ADF的单元,使得在交叉单元内重新生成ADF。
复合ADF能够用于生成462渲染模型464(包括渲染模型元素),并且渲染466到输出装置480。本领域中已知的渲染方法(例如,点渲染、三角渲染和光线追踪)能用于生成并渲染渲染模型464。
在用于加工仿真的替选实施方式中,对应于每个NC机器指令414或G码416的每个形状距离场和对应于工件几何形状402的每个几何元素的每个距离场被分配有用于对应的NC机器指令、G码或几何元素的唯一的标识符。
在渲染模型生成步骤462期间,渲染模型464的每个特定元素被标记有用于特定渲染模型元素的距离场的唯一标识符。通过将一组渲染属性与每个唯一标识符关联,渲染模型464对哪个几何元素和哪个工具路径用于工件的每个部分进行编码。例如,通过将唯一颜色与特定G码的形状距离场的标识符关联,能够在输出装置480上容易地视觉化受到特定G码影响的工件的区域。
另外或替选地,不透明度能够与混合ADF中的距离场的标识符关联。例如,与对应于工具运动的距离场关联的渲染元素能够被渲染为透明的。替选地,唯一标识符能够与布林运算符关联,其中,布林运算符指示对应的渲染元素是否应该被渲染。其它的渲染属性能够用于生成用于辅助加工工件的可视化的额外的效果。
混合ADF在仿真方面具有多个优点。用于加工仿真的一个实施方式使用混合ADF来验证NC加工处理。例如,由加工仿真器400生成的混合ADF444被与CAD模型102的距离场表示进行比较。该比较能够通过输出的视觉检查来进行。
替选地或额外地,能够通过在多个采样点对混合ADF444和计算机辅助设计模型102的距离场进行采样并且比较采样点处的距离数据来进行该比较。替选地,能够通过将混合ADF444和计算机辅助设计的距离场中的一个从另一个中减去来生成差距离场并且对差距离场进行可视化来进行该比较。因此,混合ADF的二重性有利于进行比较和验证处理。
混合ADF还能够用于测量由每个工具运动移除的材料的特定性质。额外地,距离场采样用于改进混合ADF的重生成和渲染的质量和性能。例如,对于特定工具运动,能够生成表示工件与对应于特定工具运动的扫描体积的交叉的交叉距离场。该交叉距离场然后能够被处理以确定由特定工具运动移除的材料的各种性质(包括例如其质量、体积或惯性矩)。混合ADF简化了剔除过程,增加了渲染处理的有效性,提供物体的表面的更准确的近似并且为物体的灵活表示提供了可能性。
混合ADF的二重性
图5是混合ADF500的二维(2D)视图,该混合ADF500包括以八叉树形式布置的单元(例如,501-503)的空间层级,其中,每个单元表示工件的体积的一部分,并且其边界示出了几何元素距离场。在该示例中,几何距离场504-507的边界是定义初始工件的边界的平面。
几何元素距离场508-510是表示球端碾磨工具206的扫描的三个几何元素的边界。混合ADF中的单元511与表示原始工件和加工工具的扫描体积的一组几何元素距离场的子集关联。
例如,与单元511关联的一组几何元素距离场的子集包括一起确定单元511内的混合ADF表面的几何元素距离场504、508和509。用于组合一组几何元素距离场的子集以重建工件的复合距离场的程序重建方法(例如,布林差)也与单元511关联。我们将复合表面的定义为包括由距离函数表示的几何元素的边界的块的物体的边界。
八叉树的每个单元是数据结构的中间类型单元或叶类型单元。其类型为中间类型的单元已经被进一步划分为更小的子单元,而叶类型单元没有被划分为更小的子单元。叶类型单元能够整体地位于距离场的边界内,整体地位于距离场的边界外,或者能够包含对应于距离场的值为零的点的组的距离场的边界。因此,每个叶单元能够是中间单元、内部叶单元、外部叶单元或边界叶单元。
图6是混合ADF单元600的数据结构的示例。下面描述混合ADF的结构的示例,并且不意在限制本发明的范围。该单元还与下述关联:一组描述单元的几何性(例如,单元的原点604、单元的大小605)的数据601和/或一组描述八叉树内的单元的位置(例如,其八叉树级别606)的数据、指向对应的母单元607的指针和指向对应的子单元608(如果该单元有子单元的话)的指针。
此外,混合ADF单元的结构能够包括与混合ADF的两个ADF形态关联的两组距离场数据。与单元关联地,采样ADF形态602能够包括采样类型标识符609、指向距离场值采样的指针610(如果有)以及从距离场数据采样610重建单元内的距离场的重建函数611。与混合ADF单元关联地,复合ADF形态603能够包括复合类型标识符612、指向几何元素距离场的阵列的指针613(如果有)以及描述如何组合几何元素距离场以确定单元内的复合距离场的诸如布林差函数的组合函数614。
单元与指示单元与物体的边界的关系的至少一个类型关联,并且其中,从由中间单元、内部叶单元、外部叶单元和边界叶单元构成的组选择关系。至少一个类型包括基于一组距离采样确定的第一类型和基于一组距离函数确定的第二类型。例如,单元能够与由描述单元是否包括具有距离采样的子单元的采样类型标识符609表示的第一类型关联。额外地或替选地,单元能够与由描述单元是否包括具有距离函数的子单元的复合类型标识符612表示的第二类型关联。
采样类型标识符609描述单元600是否被划分为具有距离场数据采样610的较小的子单元。复合类型标识符612描述单元600是否被划分为具有几何元素距离场613的阵列的较小的单元。两个类型标识符609和612能够是在表615中提供的一组标识符中的一个。如果采样类型标识符609指示单元是包括距离场616的边界的叶单元,则采样指针610寻址存储单元距离场采样的存储器的阵列。
类似地,如果单元600的复合类型612指示单元600是包括复合距离场616的边界的叶单元,则复合指针寻址其中存储单元的几何元素距离场的数据的存储器中的阵列。如果单元的复合ADF形态或采样ADF形态要求,则混合ADF单元包括子单元。类似地,如果该单元的采样ADF形态和复合ADF形态都不要求,则能够仅移除混合ADF单元的子单元。
在一些实施方式中,用于采样ADF形态609和复合ADF形态612的单元的类型标识符彼此独立地确定。
例如,为了简化视图,图7示出了其中每个中间单元具有四个子单元的混合ADF单元的树数据结构。树中的单元(例如,根单元701)与两个标识符、采样ADF类型标识符702和复合ADF类型标识符703关联。表704示出了用于各种标识符的填充方式。
在该示例中,根单元701是具有带有这两种形态的子单元的复合中间单元和采样中间单元。单元705也是处于这两种形态的中间单元。然而,单元706是采样边界单元和复合边界单元。因此,706的集体地指示为707的子单元具有为NULL(空)的采样类型标识符,而复合类型标识符是外部类型或边界类型。这能够由于下述原因而发生的:从单元706中的距离场值采样重建的距离场具有少于基于预定误差的细分阈值的重建误差,但是单元706包含比基于计数的细分阈值更多的几何元素距离场基准。单元708具有相反的特性。单元708是采样中间单元以及复合边界单元。因此,单元708的统一由标记709指示的子单元具有为NULL的复合类型标识符。
编辑混合ADF单元
利用新的几何元素距离场编辑混合ADF单元包括编辑采样ADF单元,其中,距离场采样值改变新几何元素的距离场的值,并且编辑复合ADF单元,其中,与该单元关联的一组几何元素距离场可以由于新几何元素距离场改变。然而,编辑混合ADF单元不仅是两个任务的琐细组合。替代地,是单元的复合ADF形态的一部分的一组距离函数改进与单元的采样ADF形态关联的一组距离采样。类似地,与单元的采样ADF形态关联的一组距离采样改进了单元的复合ADF形态(即一组距离函数)的质量。
图8示出了通过新几何元素距离场的距离函数802编辑混合ADF单元801的方法的流程图。该方法开始于在单元内的一组采样点803(例如,单元顶点)处采样距离函数。对获得的距离采样804的子集进行测试805以确定新几何元素距离场802的边界是否处于单元内。
例如,在一个实施方式中,测试包括确定在任何采样之间是否存在符号改变。如果没有符号改变,则单元的编辑完成。否则,使用距离采样的子集和现有的几何元素距离场的一组距离函数来编辑806单元的采样ADF形态。然后,使用距离函数802和距离采样804的子集编辑807单元的复合ADF形态。在测试细分标准808之后,如果满足针对单元的任一形态的细分标准,则单元被划分为子单元并且使用新的已有的几何元素距离场809来编辑子单元。
图9A示出了编辑混合ADF单元901的采样ADF形态的方法的流程图。使用例如布林差的组合函数将与新几何元素的距离场关联的距离采样902的子集与混合ADF单元901的现有一组距离采样组合903,获得组合距离场值采样904。
从组合距离场值采样904,在一组非采样点重建905距离场,获得一组重建距离场值906。使用新几何元素距离场907,在重建905中使用的相同非采样点处计算准确的距离场,获得一组准确的距离场值910。通过获取准确的距离场值910和重建距离场值906之间的差来在非采样点处计算911重建误差,获得重建误差912。将重建误差912的大小与预定误差(例如,epsDist)913比较914。如果误差大于最大误差并且单元级别小于八叉树的最大深度,则对单元进行划分。
在现有技术的传统采样ADF中,从其母单元的距离场采样对单元的距离场采样进行初始化。例如,如果距离场采样对应于单元顶点的位置,则在子单元的顶点的位置处使用重建函数重建距离场的值并且将距离场的值分配给子单元的距离场采样。然而,该重建距离场仅是近似。
相反地,在本发明的一个实施方式中,从混合ADF单元的复合ADF形态的几何元素距离场准确地确定915(而不是从距离场采样近似地确定)子单元的距离场采样。因此,从混合ADF单元的距离场采样重建的距离场比通过采样ADF单元中的传统细分获得的距离场更准确。
与混合ADF的光线交叉
光线与混合ADF单元的复合表面的交叉点的确定是将混合ADF渲染到存储器中存储的图像以及通过光线采样的单元剔除的重要处理。为了确定光线与复合表面的交叉点,首先确定光线与每个几何距离场的交叉点,并且然后,对交叉点进行测试以确定哪个点位于复合边界上。测试依赖于应用。在加工仿真应用中,仅使用布林减法运算符来组合几何元素的距离场。在加工仿真的情况下,如果在一个或多个几何元素距离场的边界上(即,d=0)以及在其它几何元素距离场的内部(即,d>0),则该点处于复合边界上。
因此,确定光线与复合边界的交叉开始于确定光线与几何元素距离场的交叉。对于在加工仿真中使用的大多数类型的几何元素来说,几何元素的距离场能够是复杂的,从而确定光线交叉的解析方法是次优的。
图9B示出了球投影方法的示例。混合ADF单元950包括几何元素距离场的边界951,从而指示952几何物体的内部。必须确定其与几何物体951的边界的交叉的光线953在954与单元边界交叉。
从光线与单元边界954的交叉点开始,计算到几何元素951的边界的距离955。从距离955,利用沿着光线953的距离955确定新测试点956。该处理重复进行,在光线953在点960与几何元素951的边界交叉之前,获得测试点957、958和959。
已知球投影方法正确地收敛到几何元素距离场的边界。然而,当光线接近边界并且在几乎平行于几何元素距离场的边界的方向上移动时,球投影中的每个步进可以是非常小的。因此,即使确保了光线与表面的交叉,到表面的收敛的速率也能够是非常缓慢的。因此,本发明的一些实施方式的进一步的目的在于使用混合ADF单元的距离场采样来加速光线与单元内的几何元素距离场的交叉的确定。
参考图10,光线与复合表面的交叉开始于从距离场值采样1001重建1002近似表面1003。通过任何可用方法(例如,三线插值)来计算1005在单元边界1004开始的一组光线1013与近似表面1003的交叉,获得一组近似表面交叉点1006。这些近似表面交叉点1006比与单元边界1004的交叉点更靠近准确的复合表面。因此,当从近似表面交叉点1006开始时,能够以更少的循环利用诸如球投影方法的复合表面交叉方法来计算1007光线1013与准确的复合表面1008的交叉。该方法减少了光线交叉方法所需的循环的次数,利用光线采样实现了图像1012的更快速的渲染以及单元的剔除。从一组准确表面交叉点1008,能够通过诸如冯氏照明方法的照明方法来计算1009与每个光线关联的像素值1010。获得的像素值1010然后被写入1011到图像1012中。
混合ADF单元的渲染
本发明的一个实施方式的又一目的在于替选地将近似表面交叉点1006渲染到图像1012。近似表面1003能够与准确表面类似。对于一些应用,当不需要准确的表面时,这是可接受的替选方案。此外,始终比准确的表面更快速地确定近似表面。给定与一组光线1013关联的一组近似表面点1006,能够通过利用诸如冯氏照明方法的照明方法来计算1009一组像素值1010,并且将其写入1011到图像1012。
混合ADF单元的剔除
使用几何元素的距离场编辑混合ADF单元的复合ADF形态包括确定新的几何元素是否用于混合单元内的复合边界,并且额外地确定之前与混合ADF单元的复合ADF形态关联的任何几何元素现在是否不再用于复合边界。该处理(被称为单元剔除)应该快速地获得有用的仿真系统,但是还是准确的,从而从与单元关联的几何元素距离场重建的距离场是正确的。
利用光线采样来执行传统的剔除,其中,确定一组光线与复合边界的交叉,并且对于与复合边界交叉的每个光线,确定形成复合边界的几何元素距离场。在已经处理了所有光线之后,从单元移除没有发现用于复合表面的任何几何元素距离场。
图11示出了剔除混合ADF单元的方法的流程图。以对于本发明的其它实施方式描述的方式相同的方式,能够使用距离场采样值1101来加速利用光线采样方法的剔除。通过诸如三线重建的重建方法从距离场值采样1101重建1102近似表面1103。剔除光线1105与混合ADF单元的几何元素距离场1106的交叉能够通过在近似表面1103处初始化剔除光线1104来加速。对于每个剔除光线1105,一组几何元素距离场中的一个被确定为复合表面的一部分。在已经处理了所有剔除光线之后,获得了由一组几何元素距离场1106的子集构成的剔除结果1108。
利用光线采样的剔除是快速且准确的。然而,利用光线采样的剔除有时错过了复合表面的小部分,其结果是剔除结果1108中的一组几何元素距离场的子集不会包括用于单元内的复合边界的所有几何元素距离场。从不正确的子集重建的复合边界可以因此具有显著的误差。
根据本发明的一个实施方式,混合ADF单元中的距离场采样值的可用性改进了单元剔除的准确性。每个距离场采样值对应于混合ADF单元内从采样点到复合边界的距离。这些到复合边界的距离不能够由剔除处理来改变并且也没有改变复合边界的形状。
因此,在本发明的一个实施方式中,使用距离场采样来避免混合ADF单元的几何元素距离场的剔除中的误差。在剔除之前,在采样点已知距离场值采样的正确值。在剔除之后,通过使用剔除结果在采样点重新计算距离场值来校正1109剔除结果1108。通过使用组合函数组合剔除结果中一组几何元素距离场的子集的采样点处的值。如果重新计算的值不匹配原始值,则对剔除结果进行校正1109,其中,通过对于校正误差的移除的几何距离场的子集搜索移除的几何元素距离场的列表来进行该校正1109。通过将一个或多个几何元素距离场恢复到混合ADF单元来校正剔除结果中的每个误差。校正方法1109获得由一组几何元素距离场的较大的子集构成的校正后的剔除结果1110。由此,减少了从单元剔除误差导致的重建误差。
编辑偏好
混合ADF为用户提供了选择为不同应用优化基于混合ADF的仿真器的性能的编辑偏好的能力。例如,在一些应用中,从不需要准确的复合边界,并且因此,不需要单元的初始编辑之后花费任何时间来处理几何元素距离场。在该情况下,能够选择“纯粹采样的”编辑偏好,其导致生成了不可与采样ADF区分的混合ADF。
替选地,应用可能要求始终生成准确的复合边界并且不需要近似边界。在该情况下,能够选择“纯粹复合的”编辑偏好,其导致生成了不可与复合ADF区分的混合ADF。
作为第三种可能性,应用可能最终要求准确的复合边界。然而,应该尽可能快地创建近似复合边界。在该情况下,能够选择“优选采样的”编辑偏好,其中完成混合ADF的复合ADF形态的生成所需要的混合ADF的边界的某些操作被推迟直到完成了混合ADF的采样ADF形态的生成之后。
局部混合ADF生成
一个实施方式通过仅对于物体的一部分生成混合ADF来对仿真进行优化。例如,替代同时生成混合ADF的采样ADF和复合ADF形态,能够初始地生成“纯粹采样的”混合ADF。与其中完全地生成采样ADF形态和复合ADF形态两者的“完整的”混合ADF相比,纯粹采样的混合ADF的生成很快并且能够快速且交互地进行渲染。用户然后能够选择混合ADF的较小的区域,其中,在第二生成步骤期间生成复合ADF形态。由此,由于仅表示总混合ADF的一部分并且仅在混合ADF的用户需要的区域中,因此能够更加快速地确定准确的复合边界。
操作环境
本发明可利用多个通用或特殊用途的计算系统环境或构造来操作。已知的适合于本发明使用的计算系统、环境和/或构造的示例包括但不限于个人计算、服务器计算机、手持或膝上装置、多处理器或多核心系统、图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、基于微控制器的系统、网络PC、大型机、分布式计算环境(包括上述系统或装置中的任一个)等等,即通用处理器。监视器或其它类型的输出装置160连接到上述系统中的任一个以使能本发明的可视化162。例如,要求仿真的永久完整或更大尺度的结果,能够使用打印机。
能够以各种形式来实施本发明的上述实施方式。例如,可以使用硬件、软件或其组合来实施实施方式。当以软件实施时,软件代码能够在任何适合的处理器或处理器集合上执行,所述处理器可以设置在单个计算机中或者分布在多个计算机上。这样的处理器可以实施为集成电路,其中,一个或多个处理器采用集成电路组件的形式。但是,处理器可以使用任何适合的形式的电路来实施。
此外,应理解的是,计算机可以实施为各种形式,例如,机架计算机、台式计算机、膝上计算机、微型计算机或平板计算机。这样的计算机可以以任何适合的形式由一个或多个网络互连,所互网络包括局域网或诸如企业网或互联网的广域网。这样的网络可以基于任何适合的技术并且可以根据任何适合的协议来运行并且可以包括无线网络、有线网络或光纤网络。
而且,这里示出的各种方法或处理可以被编码为可在采用各种操作系统或平台中的任一个的一个或多个处理器上执行的软件。另外,这样的软件可以使用任何适合的编程语言和/或编程或脚本工具来编写,并且也可以被编译为可执行机器语言代码或在框架或虚拟机上执行的中间代码。
在该方面,本发明可具体实现为计算机可读存储介质或多个计算机可读介质,例如计算机存储器、紧凑盘(CD)、光盘、数字视频盘(DVD)、磁带和闪存。本文中在一般意义上使用术语“程序”或“软件”来指代任何类型的计算机代码或计算机可执行指令集,其可被采用以将计算机或其它处理器编程为实现如上所述的本发明的各个方面。
计算机可执行指令可为许多形式,例如由一个或更多个计算机或其它装置执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构。通常,在各种实施方式中,程序模块的功能可根据需要组合或分布。
另外,本发明的实施方式可具体实现为方法,所述方法的示例已提供。作为方法的一部分执行的行为可按照任何合适的方式排序。因此,实施方式可被构造为按照与图示顺序不同的顺序执行行为,这可包括即使一些行为在示意性实施方式中作为顺序行为示出,也同时执行所述行为。
Claims (13)
1.一种用于生成物体的模型的方法,其特征在于,所述模型利用由单元的空间层级形成的混合自适应采样距离场表示所述物体,其中,至少一个单元与一组距离采样和一组距离函数关联,所述方法包括下述步骤:
对所述单元的距离函数进行采样以产生距离采样的子集;
利用所述距离采样的子集修改所述单元的所述一组距离采样;以及
利用所述距离函数修改所述单元的所述一组距离函数,
其中,所述方法的上述步骤由处理器执行。
2.根据权利要求1所述的方法,其中,所述单元的所述一组距离函数的修改基于所述单元的所述一组距离采样。
3.根据权利要求1所述的方法,其中,所述单元的所述一组距离采样的修改基于所述单元的所述一组距离函数。
4.根据权利要求1所述的方法,其中,
对于所述单元的每个顶点执行采样,
所述方法进一步包括:
基于所述距离采样的子集中的值的符号确定由所述距离函数表示的几何元素的表面是否与所述单元交叉。
5.根据权利要求1所述的方法,其中,所述单元与基于所述一组距离采样确定的采样类型以及基于所述一组距离函数确定的复合类型关联,其中,所述采样类型和所述复合类型指示所述单元与所述物体的边界的关系,并且其中,所述类型是从由中间单元、外部叶单元、内部叶单元和边界叶单元构成的组中选择的,并且所述方法进一步包括:
检查针对所述单元的所述采样类型的采样细分标准和针对所述单元的所述复合类型的复合细分标准;以及
如果满足所述采样细分标准或所述复合细分标准中的至少一个,则生成所述单元的子单元。
6.根据权利要求5所述的方法,所述方法进一步包括:
确定从所述一组距离采样重建的表面与通过组合一组距离场确定的表面之间的误差;以及
基于该误差检查所述采样细分标准。
7.根据权利要求5所述的方法,所述方法进一步包括:
基于所述单元的所述一组距离函数确定所述单元的子单元的一组距离采样。
8.根据权利要求5所述的方法,所述方法进一步包括:
确定一组距离场中的距离场的数目;以及
基于该数目检查所述复合细分标准。
9.一种对物体的模型进行仿真的方法,其特征在于,所述方法包括下述步骤:
使用由单元的空间层级形成的混合自适应采样距离场对仿真进行初始化,其中,至少一个单元包括一组距离函数和所述一组距离函数中的至少一部分的一组距离采样;
对所述单元的距离函数进行采样以产生距离采样的子集;
基于所述距离采样的子集中的值的符号确定由所述距离函数表示的几何元素的表面是否与所述单元交叉;
基于所述距离采样的子集中的值确定所述距离函数是否形成所述单元内的所述物体的所述模型的复合表面;
利用所述距离采样的子集修改所述单元的所述一组距离采样;以及
利用所述距离函数修改所述单元的所述一组距离函数,
其中,所述方法的上述步骤由处理器执行。
10.根据权利要求9所述的方法,所述方法进一步包括:
基于所述一组距离采样,使用所述一组距离采样重建所述单元内的所述物体的所述模型的近似表面;
确定一组光线与所述近似表面的近似交叉点;
基于所述近似交叉点和所述一组距离函数确定所述一组光线与所述复合表面的准确交叉点;
基于所述准确交叉点确定与所述一组光线中的每条光线关联的像素值。
11.根据权利要求10所述的方法,所述方法进一步包括;
渲染所述近似表面的至少一部分;以及
渲染所述复合表面的至少一部分。
12.根据权利要求9所述的方法,所述方法进一步包括:
基于所述一组距离采样剔除特定的距离函数。
13.根据权利要求12所述的方法,其中,所述剔除包括:
确定所述一组距离采样与所述距离采样的子集之间的误差;以及
基于所述误差剔除所述特定的距离函数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/350,220 US9122270B2 (en) | 2012-01-13 | 2012-01-13 | Hybrid adaptively sampled distance fields |
US13/350,220 | 2012-01-13 | ||
PCT/JP2012/082432 WO2013105390A1 (en) | 2012-01-13 | 2012-12-07 | Computer program product and methods for generating and simulating a model of an object |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104040444A CN104040444A (zh) | 2014-09-10 |
CN104040444B true CN104040444B (zh) | 2016-04-27 |
Family
ID=47501401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280066439.3A Active CN104040444B (zh) | 2012-01-13 | 2012-12-07 | 用于生成和仿真物体的模型的计算机程序产品和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9122270B2 (zh) |
JP (1) | JP5805322B2 (zh) |
CN (1) | CN104040444B (zh) |
DE (1) | DE112012005657T5 (zh) |
WO (1) | WO2013105390A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8615709B2 (en) | 2010-04-29 | 2013-12-24 | Monotype Imaging Inc. | Initiating font subsets |
US8958611B2 (en) * | 2011-12-29 | 2015-02-17 | Mako Surgical Corporation | Interactive CSG subtraction |
US20150062140A1 (en) * | 2013-08-29 | 2015-03-05 | Monotype Imaging Inc. | Dynamically Adjustable Distance Fields for Adaptive Rendering |
US9892215B2 (en) * | 2013-09-23 | 2018-02-13 | Mitsubishi Electric Research Laboratories, Inc. | System and method for determining feedrates of machining tools |
US9971335B2 (en) * | 2014-04-11 | 2018-05-15 | Thomas Marshall Tucker | Hybrid dynamic tree data structure and accessibility mapping for computer numerical controlled machining path planning |
EP3018630A3 (en) | 2014-09-15 | 2018-05-16 | Samsung Electronics Co., Ltd. | Display method and apparatus for rendering repeated geometric shapes |
CN104282037A (zh) * | 2014-09-28 | 2015-01-14 | 广东惠利普路桥信息工程有限公司 | 一种三维建模系统 |
US10115215B2 (en) | 2015-04-17 | 2018-10-30 | Monotype Imaging Inc. | Pairing fonts for presentation |
US11537262B1 (en) | 2015-07-21 | 2022-12-27 | Monotype Imaging Inc. | Using attributes for font recommendations |
JP6998141B2 (ja) * | 2017-06-30 | 2022-01-18 | コマツ産機株式会社 | プレスブレーキシステム |
US11334750B2 (en) | 2017-09-07 | 2022-05-17 | Monotype Imaging Inc. | Using attributes for predicting imagery performance |
US10909429B2 (en) | 2017-09-27 | 2021-02-02 | Monotype Imaging Inc. | Using attributes for identifying imagery for selection |
US11657602B2 (en) | 2017-10-30 | 2023-05-23 | Monotype Imaging Inc. | Font identification from imagery |
US11068627B2 (en) * | 2018-08-09 | 2021-07-20 | Zoox, Inc. | Procedural world generation |
CN110807831B (zh) * | 2019-09-18 | 2023-03-28 | 重庆大学 | 一种基于最小单元碰撞检测的传感器覆盖范围计算方法 |
US11361142B2 (en) * | 2020-08-31 | 2022-06-14 | Siemens Industry Software Inc. | Estimating integrated circuit yield from modeled response to scaling of distribution samples |
EP4033451A1 (en) * | 2021-01-20 | 2022-07-27 | Siemens Healthcare GmbH | Interactive image editing using signed distance fields |
US20230008247A1 (en) * | 2021-07-06 | 2023-01-12 | Ricoh Company, Ltd. | Diagnostic system, diagnostic method, and recording medium |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4833617A (en) | 1987-08-14 | 1989-05-23 | General Electric Company | Solid modeling based adaptive feedrate control for NC machining |
US6044306A (en) | 1997-10-14 | 2000-03-28 | Vadim Shapiro | Methods and apparatus for shaping moving geometric shapes |
US6099573A (en) | 1998-04-17 | 2000-08-08 | Sandia Corporation | Method and apparatus for modeling interactions |
GB9901887D0 (en) | 1999-01-29 | 1999-03-17 | Lightwork Design Ltd | Machining simulation method and apparatus |
US6993461B1 (en) | 1999-06-10 | 2006-01-31 | Dassault Systemes | Swept volume model |
US6396492B1 (en) * | 1999-08-06 | 2002-05-28 | Mitsubishi Electric Research Laboratories, Inc | Detail-directed hierarchical distance fields |
US6724393B2 (en) | 2001-03-16 | 2004-04-20 | Mitsubishi Electric Research Labs, Inc. | System and method for sculpting digital models |
JP4625204B2 (ja) | 2001-07-02 | 2011-02-02 | ウチヤ・サーモスタット株式会社 | 安全装置付き電源コード |
DE10144932B4 (de) | 2001-09-12 | 2014-07-31 | Siemens Aktiengesellschaft | Visualisierung von Werkstücken bei der Simulation von Fräsprozessen |
US7042458B2 (en) | 2003-03-25 | 2006-05-09 | Mitsubishi Electric Research Laboratories, Inc. | Methods for generating an adaptively sampled distance field of an object with specialized cells |
US8483858B2 (en) * | 2010-03-31 | 2013-07-09 | Mitsubishi Electric Research Laboratories, Inc. | System and method for optimizing machining simulation |
CN102087675A (zh) * | 2010-06-29 | 2011-06-08 | 北京航空航天大学 | 具有信息显示界面设计测试功能的飞行模拟系统 |
-
2012
- 2012-01-13 US US13/350,220 patent/US9122270B2/en active Active
- 2012-12-07 CN CN201280066439.3A patent/CN104040444B/zh active Active
- 2012-12-07 DE DE201211005657 patent/DE112012005657T5/de not_active Withdrawn
- 2012-12-07 WO PCT/JP2012/082432 patent/WO2013105390A1/en active Application Filing
- 2012-12-07 JP JP2014527992A patent/JP5805322B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN104040444A (zh) | 2014-09-10 |
US9122270B2 (en) | 2015-09-01 |
DE112012005657T5 (de) | 2014-10-09 |
JP5805322B2 (ja) | 2015-11-04 |
US20130185028A1 (en) | 2013-07-18 |
WO2013105390A1 (en) | 2013-07-18 |
JP2015507770A (ja) | 2015-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104040444B (zh) | 用于生成和仿真物体的模型的计算机程序产品和方法 | |
CN104204978B (zh) | 对通过工具对工件的机械加工进行仿真的方法和系统 | |
JP5361785B2 (ja) | 適応的にサンプリングされる距離場を用いて数値制御フライス加工をシミュレートするための方法 | |
US8265909B2 (en) | Method for reconstructing a distance field of a swept volume at a sample point | |
CN103135446B (zh) | 一种多轴数控机床刀具运动轨迹验证装置 | |
CN103649856A (zh) | 通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品 | |
CN102822756B (zh) | 用于优化加工仿真的系统和方法 | |
US20130262066A1 (en) | System and Method for Analyzing Engagement Surfaces Between Tools and Workpieces During Machining Simulation | |
KR20180069461A (ko) | 가속 구조를 생성하는 방법 및 장치 | |
CN103092577A (zh) | 三维影像量测程序生成系统及方法 | |
JP5984175B2 (ja) | 機械加工シミュレーションの間にアンドゥ操作及びリドゥ操作を行うためのシステム及び方法 | |
Inui et al. | Visualization of 3+ 2 Axis Machining Result by Combining Multiple Z-map Models | |
FUSEK | VISUALIZATION OF SDF SCENES | |
Özkan | The way architectural model as a new collaborative design environment talks with machines | |
Fehe | Visualization And Collision Detection Of Direct Metal Deposition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |