基于物理学的图形程序编辑器制造技术

技术编号:11405831 阅读:111 留言:0更新日期:2015-05-03 22:49
一种编辑符号图的系统和方法。诸如图形程序之类的符号图被显示在显示设备上。可以接收编辑符号图的用户输入,从而产生编辑的符号图。响应所述编辑,根据确定的基于所述编辑向编辑的符号图中的一个或多个元件施加的力,可调整符号图中的所述一个或多个元件的布置,结果形成调整后的编辑的符号图。调整后的编辑的符号图可被显示在显示设备上,这可包括显示动画,所述动画图解各个元件到平衡状态的移动,在平衡状态下,力平衡并且移动停止。可视情况顺序地和/或同时地进行所述编辑、调整和显示。

【技术实现步骤摘要】
【国外来华专利技术】基于物理学的图形程序编辑器
本专利技术涉及符号图(graphicaldiagram)和图形编辑的领域,更具体地,涉及用于诸如图形程序之类符号图的基于物理学的编辑的系统和方法。
技术介绍
图形编程已成为程序员可用的强大工具。诸如NationalInstrumentsLabVIEW产品之类的图形编程环境已变得非常普及。诸如LabVIEW之类的工具提高了程序员的生产率,越来越多的程序员使用图形编程环境开发其软件应用。特别地,图形编程工具用于测试和测量,数据采用,过程控制,人机界面(MMI),监控与数据采集(SCADA)应用,建模,仿真,图像处理/机器视觉应用,和运动控制,等等。然而,考虑到多数图形程序的二维(2D)性质,就开发人员而言,创建和编辑图形程序通常涉及使图形程序的框图清晰和易于理解(例如,通过对齐图形程序元件(例如,节点),使它们之间的连接线笔直,从而使框图整洁和紧凑)的相当大量的工作量和时间。当在桌上型计算机(例如,工作站)上编辑时,这种样子的开发冗长乏味,并且当通过触摸屏,例如,在平板计算机,比如苹果公司提供的iPadTM上编辑图形程序时,甚至更加成问题。类似的问题通常也适用于一般的(符号)图,例如,系统图,结构图,或者其中用直线或曲线连接图标或节点的任何其它符号图。从而,需求用于编辑图,例如图形程序的改进技术。
技术实现思路
下面介绍用于图(比如图形程序)的基于物理学的编辑的系统和方法的各种实施例。附图中主要在图形程序方面图解说明了这里公开的技术,不过,这里公开的技术一般也适用于其中用直线或曲线互连各个节点或图标(即,符号图元件)的任何符号图,例如,系统图、结构图、图表等。诸如符号图、结构图、系统图、图表之类的图可酌情被显示在计算机系统,例如平板计算机、工作站、膝上型计算机等的显示设备上。通过用户在显示器上安排多个节点或图标,随后互连所述节点或图标,从而创建符号图,可以创建或组合符号图。编辑符号图的用户输入可被接收(到编辑器,例如,图编辑器,比如图形程序编辑器),从而产生编辑的符号图。换句话说,用户输入可指定或实现符号图中的编辑操作。取决于开发平台,可酌情按多种方式,包括(但不限于):指示设备,比如指示设备(例如,鼠标、铁笔、跟踪球等),键盘,计算机触摸屏(例如包括具有触摸界面的平板计算机),计算机触控板等,来供用户输入。可根据编辑调整一个或多个元件在编辑的符号图中的布置,结果产生调整的编辑的符号图。例如,可根据编辑,或者换句话说,响应用户输入指定的编辑操作,例如,响应用户的编辑,对编辑的符号图的一个或多个元件施加一个或多个(模拟)力。换句话说,根据编辑,可以计算一个或多个力,并把所述一个或多个力施加于编辑的符号图中的一个或多个元件,从而调整所述一个或多个元件在编辑的符号图中的布置,结果产生调整的编辑的符号图。换句话说,所述方法可计算一个或多个节点的位置(可能还包括大小)的移动和/或对应变化,其中计算的位置的移动和变化是依据模拟力,用基于物理学的模型确定的。从而,所述方法计算这些力,并根据这些计算的力,确定上述移动/变化。注意,确定的力不是施加于实际物理对象的实际物理力,而是施加于具有模拟物理属性,比如质量、负荷等的图元件的模拟力。存在实现和应用这种基于物理学的方案的多种方式。例如,在简单层面,符号图中的元件或者符号图的元件可按照某种规定的关系,相互排斥或吸引。在一个实施例中,节点相互排斥,而导线相互吸引,不过可酌情使用更复杂的方案。通过各种物理学原理的明智利用(和定制),可以定义或规定自动使图紧凑和使线对齐,并且当增加元件、除去元件、调整元件大小、移动元件等时,可动态调整图(元件)的定律或规则。调整的编辑的符号图可被显示在显示设备上。换句话说,可在显示的符号图中指示图元件的编辑操作和调整或重排的结果。在一些实施例中,元件的调整或移动(或者其它图形上明显的修改)可被动画表示,例如,可向用户动态图解所述调整。换句话说,可以显示图解说明各个元件到平衡状态的移动的动画,在平衡状态下,力平稳并且移动停止。注意在一些实施例中,可以同时地,例如交错地进行所述编辑、调整和显示调整的编辑的形程序的至少一部分。例如,在其中用户输入把节点从第一位置移动到第二位置的情况下,一旦节点的移动开始,就可确定作为结果的净力,从而也相应地开始调整,例如,其它节点可响应所述节点的移动,开始移动,也可相应地被显示,等等。当节点到达第二位置时,可以继续所述力确定、调整和显示,从而使图元件可以达到平衡。如下所述,在一些实施例中,即使在达到平衡之后,也可继续进行已调整图的力确定和显示,不过由于力已平衡(归因于获得平衡),因此不会发生任何调整,从而不会发生显示的任何变化,从而仍在进行物理学仿真可能对用户来说并不明显。在其它实施例中,编辑、调整和显示可以是不连续的事件或操作。例如,用户可编辑符号图,例如,把节点移动到新位置,之后,可在“后台”计算和施加力,一旦达到平衡,就可显示调整后的图。从而,从用户的观点来看,即使底层或相关的模型演化平滑,显示的图也可能演化不平滑,即,显示的图会从编辑的图形图像“跳”到其中图元件的所有运动都已停止的最终的已调整图形图像。附图说明当结合附图,考虑优选实施例的以下详细说明时,可更好地理解本专利技术,附图中:图1A图解说明按照本专利技术的实施例的配置成编辑和调整符号图的计算机系统;图1B图解说明包含可实现本专利技术的实施例的两个或更多的计算机系统的网络系统;图2A图解说明按照本专利技术的一个实施例的仪器控制系统;图2B图解说明按照本专利技术的一个实施例的工业自动化系统;图3A是可执行或利用符号图,例如,图形程序的例证系统的高级方框图;图3B图解说明可利用符号图,例如,图形程序,完成控制和/或仿真功能的例证系统;图4是图1A、1B、2A、2B和3B的计算机系统的例证方框图;图5是图解说明用于符号图的基于物理学的编辑的方法的一个实施例的流程图;图6按照一个实施例,图解说明图形程序的例证方框图;图7按照一个实施例,图解说明符号图编辑器中的节点之间的排斥;图8按照一个实施例,图解说明符号图编辑器中的从属节点排斥;图9按照一个实施例,图解说明符号图编辑器中的线段排斥;图10按照一个实施例,图解说明符号图编辑器中的线接点吸引;图11按照一个实施例,图解说明符号图编辑器中的边界排斥;图12按照一个实施例,图解说明符号图编辑器中的边界吸引;图13A和13B按照一个实施例,图解说明符号图元件的移动,以及图元件的随后重排;图14A-14C按照一个实施例,图解说明符号图元件的放大,包括可操作暗示和端子的显示,元件与另一个元件的连接,和图元件的随后重排,包括符号图元件的压缩;和图15按照一个实施例,图解说明例证系统图。尽管本专利技术容许各种修改和替换形式,不过附图中举例表示了,并且这里详细说明了本专利技术的具体实施例。然而应明白,附图及其详细说明并不意图把本专利技术局限于公开的特定形式,相反,本专利技术覆盖在附加权利要求限定的本专利技术的精神和范围之类的所有修改、等同物和替换物。具体实施方式引用纳入的参考文献特此通过引用,仿佛充分并且完整地记载于此似的整体纳入以下参考文献:美国临时申请,序列号61/679,274,“PhysicsBasedGraphicalPro本文档来自技高网...
基于物理学的图形程序编辑器

【技术保护点】
一种保存程序指令的非临时性计算机可访问存储介质,所述程序指令可由处理器执行,以实现:在显示设备上显示图形程序,其中所述图形程序包括多个互连节点,所述多个互连节点在视觉上指示所述图形程序的功能;接收编辑图形程序的用户输入,从而产生编辑的图形程序;根据所述编辑,调整编辑的图形程序内的一个或多个元件的布置,其中所述调整是根据确定的施加于编辑的图形程序中的所述一个或多个元件的力进行的,其中所述调整布置导致调整后的编辑的图形程序;和把调整后的编辑的图形程序显示在显示设备上。

【技术特征摘要】
【国外来华专利技术】2012.08.03 US 61/679,2741.一种保存程序指令的非临时性计算机可访问存储介质,所述程序指令可由处理器执行,以实现:在显示设备上显示图形程序,其中所述图形程序包括多个互连节点,所述多个互连节点在视觉上指示所述图形程序的功能;接收编辑图形程序的用户输入,从而产生编辑的图形程序;根据所述编辑,调整编辑的图形程序内的多个元件的布置,其中所述调整是根据确定的施加于编辑的图形程序中的所述多个元件的力进行的,其中对所述布置的所述调整形成调整后的编辑的图形程序,其中对所述多个元件的布置的所述调整包括:根据所述多个元件的位置,确定对于所述多个元件中的每个元件的一个或多个力;相加对于所述多个元件中的每个元件的力,从而确定合力;根据合力,移动所述多个元件;和迭代地一次或多次重复所述确定、所述相加和所述移动,直到获得平衡条件为止;和把调整后的编辑的图形程序显示在显示设备上,其中所述多个元件包括至少一个图形程序节点以及下述各项中的一个或多个:图形程序中的结构节点的边界,或者图形程序的边界;以及连接到图形程序节点的至少一条线,或者图形程序中的至少一个端点。2.按照权利要求1所述的非临时性计算机可访问存储介质,其中至少一部分的所述编辑、所述调整和对所述调整后的编辑的图形程序的所述显示是同时进行的。3.按照权利要求1所述的非临时性计算机可访问存储介质,其中在实现对所述布置的所述调整时,所述程序指令可进一步执行,以实现:根据编辑操作,确定施加于编辑的图形程序中的所述多个元件的力;根据确定的力对于所述多个元件的施加,计算编辑的图形程序内的所述多个元件的布置的调整。4.按照权利要求1所述的非临时性计算机可访问存储介质,其中所述显示包括:显示图解所述移动的动画。5.按照权利要求4所述的非临时性计算机可访问存储介质,其中程序指令可进一步执行,以进行:在对所述用户输入的所述接收之前和在获得平衡条件之后,迭代地重复所述确定、所述相加和所述移动;其中对所述动画的所述显示还包括:在对所述用户输入的所述接收之前和在获得平衡条件之后的迭代地重复所述确定、所述相加和所述移动期间,显示图形程序。6.按照权利要求1所述的非临时性计算机可访问存储介质,其中迭代地一次或多次重复所述确定、所述相加和所述移动包括:执行图形程序的模型,其中所述模型借助多个基于物理学的参数来指定和实现图形程序或图形程序的元件的基于物理学的属性和行为。7.按照权利要求6所述的非临时性计算机可访问存储介质,其中对所述模型的所述执行包括:动态修改图形程序或图形程序的元件的基于物理学的参数中的一个或多个参数。8.按照权利要求7所述的非临时性计算机可访问存储介质,其中对一个或多个基于物理学的参数的所述动态修改包括:把相应的分布图应用于图形程序或图形程序的元件的一个或多个基于物理学的参数,其中各个分布图指定相应参数的一系列值。9.按照权利要求7所述的非临时性计算机可访问存储介质,其中所述程序指令可进一步执行,以进行:显示包含一个或多个控件或指示器的图形用户界面GUI;和接收指定或修改下述中的一个或多个的用户输入:所述一个或多个基于物理学的参数中的至少一个参数;或者模型或模型行为的至少一个定性方面;其中对所述模型的所述执行是按照指定或修改的至少一个参数或至少一个定性方面进行的。10.按照权利要求9所述的非临时性计算机可访问存储介质,其中对GUI的所述显示以及对指定或修改至少一个参数或至少一个定性方面的用户输入的所述接收是在对所述模型的所述执行的期间动态进行的。11.按照权利要求6所述的非临时性计算机可访问存储介质,其中程序指令可进一步执行,以进行:在对所述用户输入的所述接收之前和在获得平衡条件之后,迭代地重复所述确定、所述相加和所述移动;和显示图形程序的动画,包括:对所述图形程序的所述显示;图解所述移动;和对所述调整后的编辑的图形程序的所述显示。12.按照权利要求11所述的非临时性计算机可访问存储介质,其中比实时快地进行对图形程序的模型的所述执行,其中程序指令可进一步执行,以进行:在模型的执行期间,保存一系列的模型状态;其中对图形程序的动画的所述显示包括:把一系列的模型状态映射到图形程序的一系列图像;和显示与所述一系列的模型状态对应的图形程序的一系列图像。13.按照权利要求12所述的非临时性计算机可访问存储介质,其中所述映射包含非线性映射。14.按照权利要求11所述的非临时性计算机可访问存储介质,其中比实时快地进行所述执行图形程序的模型,其中程序指令可进一步执行,以进行:在模型的执行期间,保存一系列的模型状态;其中所述显示图形程序的动画包括:对一系列的模型状态采样,从而产生一系列的采样状态;和显示与所述一系列的采样状态对应的图形程序的一系列图像。15.按照权利要求1所述的非临时性计算机可访问存储介质,其中用户输入指定或操作图形程序中的元件。16.按照权利要求1所述的非临时性计算机可访问存储介质,其中用户输入调用或指定下述中的一个或多个:选择图形程序中的元件;向图形程序中增加元件;从图形程序中除去元件;连接图形程序中的两个或者更多的元件;移动图形程序中的元件;放大图形程序中的元件;压缩图形程序中的元件;展开图形程序中的元件;折叠图形程序中的元件;调整图形程序中的元件的大小;显示图形程序中的元件的可操作暗示;或显示图形程序中的元件的端点。17.按照权利要求1所述的非临时性计算机可访问存储介质,其中所述多个元件包含下述中的一个或多个:至少一个图形程序节点;连接到图形程序节点的至少一条线;或者图形程序中的至少一个端点。18.按照权利要求1所述的非临时性计算机可访问存储介质,其中图形程序包含图形数据流程序。19.按照权利要求1所述的非临时性计算机可访问存储介质,其中图形程序包括图形控制流程序。20.一种用于编辑图形程序的方法,包括:利用计算机进行:在显示设备上显示图形程序,其中所述图形程序包括多个互连节点,所述多个互连节点在视觉上指示所述图形程序的功能;接收编辑图形程序的用户输入,从而产生编辑的图形程序;根据所述编辑,向编辑的图形程序中的多个元件施加力,其中所述施加力操作为调整编辑的图形程序内的所述多个元件的布置,结果形成调整后的编辑的图形程序,其中对所述多个元件的布置的所述调整包括:根据所述多个元件的位置,确定对于所述多个元件中的每个元件的一个或多个力;相加对于所述多个元件中的每个元件的力,从而确定合力;根据合力,移动所述多个元件;和迭代地一次或多次重复所述确定、所述相加和所述移动,直到获得平衡条件为止;和把调整后的编辑的图形程序显示在显示设备上,其中所述多个元件包括至少一个图形程序节点以及下述一个或多个:图形程序中的结构节点的边界,或者图形程序的边界;以及连接到图形程序节点的至少一条线,或者图形程序中的至少一个端点。21.一种用于编辑图形程序的系统,包括:处理器;和耦接到处理器的存储器,其中所述存储器保存程序指令,所述程序可由处理器执行,以便:在显示设备上显示图形程序,其中所述图形程序包括多个互连节点,所述多个互连节点在视觉上指示所述图形程序的功能;接收编辑图形程序的用户输入,从而产生编辑的图形程序;根据基于所述编辑确定的向编辑的图形程序中的多个元件施加的力,调整编辑的图形程序内的所述多个元件的布置,结果形成调整后的编辑的图形程序,其中对所述多个元件的布置的所述调整包括:根据所述多个元件的位置,确定对于所述多个元件中的每个元件的一个或多个力;相加对于所述多个元件中的每个元件的力,从而确定合力;根据合力,移动所述多个元件;和迭代地一次或多次重复所述确定、所述相加和所述移动,直到获得平衡条件为止;和把调整后的编辑的图形程序显示在显示设...

【专利技术属性】
技术研发人员:J·柯德斯盖
申请(专利权)人:美国国家仪器有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1