显示器上的可视化用户界面元素之间的动态转换的制作方法

文档序号:22577435发布日期:2020-10-20 16:48阅读:84来源:国知局
显示器上的可视化用户界面元素之间的动态转换的制作方法
本发明的实施例大体涉及图形用户界面。更具体地,本发明的实施例涉及在设备的显示器上的可视化用户界面元素之间的动态转换。
背景技术
:各种电子设备包括用于实现设备和人之间交互的用户界面。可以与至少两种感测进行交互的用户界面通常被称为复合用户界面(cui)。多媒体用户界面(mui)则指的是包括了声音的cui。此外,术语图形用户界面(gui)通常用于指那种包括了用于启用控制的可触摸ui和用于在显示器上呈现信息的可视化ui的cui。gui可以用于不同的电子设备,例如计算机、移动电话或车辆信息系统。其他的ui类型可以与例如气味和味道的其他感测进行交互。当然,各种组合也是可能的。通常,可视化ui在显示器上一次可以具有零个或多个可能包含了可视化ui元素的形状,并且在许多应用的情况下,需要在操作期间改变可视化ui元素的数量以实现一些可视化效果或引起用户的注意。例如,在汽车中,车速表可以首先在显示器上显示为中心仪表。在驾驶过程中的某一点,可能希望吸引驾驶员对车速表的注意而将车速表的表征符号转换为其它东西,例如,转换为在显示器两侧上具有不同颜色的两个仪表。显示器上的可视化ui元素之间可能需要各种转换,例如,一对多转换、多对一转换、一对一转换、零对一转换或一对零转换。不管转换的类型如何,通常希望在显示器上以连续的方式执行转换,并且除此之外,在转换期间也应该启用该控制。此外,在一些应用中,转换的数量可能很大,或者需要许多步骤才能在视觉化上平滑转换。此外,执行转换的设备可能具有的资源有限。因此,转换应该在计算上是高效率的,并且也避免了存储器的过度使用。用于可视化ui元素之间的转换的一些现有方法是离散的,并且不能进行连续的转换,这些可以在运行中得到控制和重新配置。并且即使一些方法可以通过一些控制而提供某些类型的连续转换,那些方法也会消耗大量的计算和存储器资源。因此,需要提供一种用于在显示器上的可视化ui元素之间进行动态和连续转换的有效方法、装置及计算机程序。技术实现要素:根据一些方面,提供了独立权利要求的主题。一些实施例则限定在从属权利要求中。根据本发明的第一方面,提供了一种用于包括了用户界面(ui)的设备的方法,所述方法包括产生或接收粒子,其中每个粒子具有与第一形状相关联的第一位置;并且将所述第一位置存储为当前位置;确定第二形状和第一转换的第一目标时刻,其中所述第二形状形成根据所述第一形状的第一转换的第一目标形状;产生和存储所述粒子的与所述第二形状相关联的第一目标位置;将所述第一目标时刻与当前时刻进行比较,响应于所述第一目标时刻大于所述当前时刻,基于所述粒子的所述当前位置和所述第一目标位置来确定所述粒子的中间位置,其中所述中间位置比所述当前位置更接近所述目标位置;以及通过使用所述粒子的所述中间位置来更新所述用户界面,以在显示器上提供图形输出;将所述中间位置存储为所述当前位置。根据本发明的第一方面,在一些实施例中,所述方法可以包括接收用于触发所述第一转换的输入。根据本发明的第一方面,在一些实施例中,所述方法可以包括:通过将所述第一转换的所需持续时间添加到所述当前时刻来确定所述第一目标时刻。根据本发明的第一方面,在一些实施例中,所述方法可以包括:响应于所述第二形状已经改变,确定用于第二转换的第二目标形状和第二目标时刻,产生粒子的与所述第二目标形状相关联的第二目标位置,以及将所述第二目标时刻存储为所述第一目标时刻,并将所述第二目标位置存储为所述第一目标位置。根据本发明的第一方面,在一些实施例中,所述方法可以包括:当目标时刻小于或等于当前时刻时,将粒子的目标位置存储为第一位置,并通过使用所存储的第一目标位置作为新转换的第一位置来开始所述新转换。根据本发明的第一方面,在一些实施例中,所述方法可以包括:通过从当前位置减去每个粒子的目标位置来计算每个粒子的剩余距离;通过将剩余距离除以每个粒子的剩余时间来确定每个粒子的目标速度;将每个粒子的目标速度乘以步长;以及,通过将相乘的结果与每个粒子的当前位置相加来确定每个粒子的中间位置。根据本发明的第一方面,在一些实施例中,所述方法可以包括:确定所述第二形状是否包括目标位置,并且响应于存在的目标位置,将当前时刻存储为目标时刻。根据本发明的第一方面,在一些实施例中,图形输出可以包括关于移动电话、汽车系统、飞机系统、工业机器以及发电厂中的至少一个的当前状态的信息。根据本发明的第一方面,在一些实施例中,所述方法可以包括:响应于所述第二形状已经改变,以不同的颜色渲染与目标形状的改变部分相关的粒子。根据本发明的第一方面,在一些实施例中,所述方法可以包括:以时间来确定用于所述第一转换的步长,并开启所述步长的计数器,并且在所述计数器逾时时,确定所述第二形状是否已经改变。根据本发明的第一方面,在一些实施例中,所述第一形状和/或所述第二形状可以包括一个或多个ui元素。根据本发明的第二方面,提供了一种设备,所述设备包括至少一个处理核、包括了计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码配置为使用所述至少一个处理核而使得所述装置至少执行所述方法。根据本发明的第三方面,提供了一种包括用于执行所述方法的装置的设备。根据本发明的第四方面,提供了一种非暂时性计算机可读介质,在其上存储有一组计算机可读指令,所述一组计算机可读指令在由至少一个处理器执行时使得设备至少执行所述方法。根据本发明的第五方面,提供了一种配置成执行所述方法的计算机程序。附图说明图1示出了根据本发明的至少一些实施例的设备的显示器上的可视化ui元素之间的示例转换;图2示出了能够支持本发明的至少一些实施例的示例设备;图3示出了根据本发明的至少一些实施例的方法的第一流程图;和图4示出了根据本发明的至少一些实施例的方法的第二流程图。附图标记列表110设备120显示器200-270图2的设备的结构300-390图3的方法的步骤400-490图4的方法的阶段具体实施方式在计算和存储资源方面,通过在转换期间使用粒子作为形状的中间表征,可以有效地为图形用户界面提供从可能包括了可视化用户界面(ui)元素的一个形状到另一个形状的动态和连续转换。更详细地,可以例如使用粒子来表征可视化ui元素,并且在转换期间,粒子可以经由中间位置从初始位置移动到目标位置。图形用户界面可以使用粒子的中间位置来更新,以在显示器上提供可视化输出。通常,粒子可以具有位置和其它应用特定属性。例如,粒子可以具有与物理和外观有关的属性,例如速度、质量、颜色、尺寸、图像等。通常,可视化ui元素可以称为用户界面的图形片段,其表征了表用户的一些数据或操作。可视化ui元素之间的转换可以被视为一种将一个可视化ui元素或一组可视化ui元素改变为一个或多个其它可视化ui元素的方式。中间表征可以在转换期间使用,并且它可以指以与初始可视化ui元素的形状和目标可视化ui元素的形状相比不同的方式来表征可视化ui元素的方式,中间表征并不限于初始可视化ui元素或目标可视化ui元素的形状。因此,可能希望具有这样一种中间表征,该中间表征对于初始可视化ui元素的形状和目标可视化ui元素的形状之间的动态和连续转换是足够灵活的,同时还使计算工作量和存储的使用最小化。本发明的实施例使得能够在转换期间(即,在运行中)配置或重新配置目标形状,例如目标可视化ui元素的目标形状。因此,在转换期间可以改变目标形状,或者甚至目标形状的拓扑,这对于图像序列或其它传统的动画方法是不可能的。此外,如在图像序列的情况下,本发明的实施例在转换之前不需要创建中间形状。因此,减少了执行转换所需的存储的量。通过避免了表征并存储所有的中间形状来实现减少对存储的需要。此外,每个粒子的位置可以单独更新,这在计算上是有效率的。图1示出了根据本发明的至少一些实施例的设备的显示器上的形状之间的示例转换。形状可以是可视化ui元素。在图1的示例中,设备110可以包括显示器120。显示器120也可以被称为图形用户界面。然而,在一些其它实施例中,如果设备110不包括显示器120,则显示器120可以经由无线或有线链路连接到设备110。在这种情况下,设备110可以例如包括用于控制显示器120的控制设备或显示控制器。在一些实施例中,设备110可以与显示器120集成在一个物理设备中。此外,显示器120可以例如包括发光二极管(led)或有机led(oled)显示器。备选地,显示器120可以包括阴极射线管、crt或其它类型的显示器。设备110可以配置为通过向显示器120提供信号来控制显示器120,以管理显示器120的功能。该信号可以是设备110所设置产生的并被设置以作用于显示器120的适当格式。例如,设备110可以管理显示器120显示状态信息。图1中所示的示例转换包括四个步骤a-d,但是理所当然地,转换可以并且通常包括更多的步骤。图1a示出了在转换开始之前的第一形状,其中每个粒子具有表征了第一形状的至少一个点的初始位置和可能的诸如颜色的状态。例如,在汽车中,第一形状可以包括第一可视化ui元素。第一可视化ui元素可以表征车速表,车速表具有传统的全圆形状(中心仪表)。转换的开始可以被称为转换开始从第一形状(例如,第一可视化ui元素)移向目标可视化ui元素的时刻。然后,图1b表征了例如中间可视化ui元素的第一中间形状,其中每个粒子具有第一中间位置和可能的诸如颜色的第一中间状态。粒子的第一中间位置和可能的状态与第一形状和目标形状相比可以是不同的,至少对于一些粒子可以是不同的,但不一定是全部粒子。为了说明的目的,图1b仅表征第一中间形状的一个示例。通常,第一中间形状可以更精确地与图1a的第一形状匹配。第一中间位置可以比初始位置更靠近目标位置。在图1c中示出了第二中间形状,例如第二可视化ui元素。此外,每个粒子具有第二中间位置和可能的也诸如颜色的第二中间状态。至少对于一些粒子而言,粒子的第二中间位置和可能的状态与第一中间位置和状态(如果存在)以及第一可视化ui元素和目标可视化ui元素相比可以是不同的,但不一定是所有的粒子。第二中间位置可以比第一中间位置更靠近目标位置。在图1的示例中,图1d示出了转换的结束,其中已经达到了目标形状,例如目标可视化ui元素。例如,在汽车中,图1的示例的目标可视化ui元素可以表征车速表,车速表已经被分成两个部分(在显示器120的两侧上的两个仪表)。转换的结束可以被称为中间表征完全或在限定的范围内达到目标形状的时刻。也就是说,每个粒子已经到达其目标位置以及其可能的目标状态。在本发明的一些实施例中,可以产生或接收粒子以匹配第一形状(初始形状)。然后,当转换开始时,粒子可以经由中间形状而被导向目标形状。此外,在一些应用中,相关的ui元素图形可以在此时从显示器中淡出。这种操作将可视化地将第一形状转换成粒子,此时第一形状仍然具有原始形状。例如,本发明的实施例能够从一个形状转换到另一个形状,这可以称为一对一转换。此外,能够实现形状(例如,一个可视化ui元素(图1a中的中心仪表))到多个形状(例如,可视化ui元素(图1d中的显示器两侧上的两个仪表))的转换。这种转换可以被称为一对多转换。此外,本发明的实施例使得能够从多个形状转换到一个形状,即,多对一转换。本发明的实施例还使得能够将形状转换到显示器中以及转换到显示器外。这些转换可以被称为零到一转换或一到零转换。此外,在一些实施例中,多到多转换是可能的。粒子的使用使得可以控制如何进行转换。例如,可以在转换期间改变目标形状,从而实现动态转换。此外,粒子还能够实现连续的转换,这对于以连续的方式传递焦点和/或引导注意力的变化可能是必需的。例如,目标形状的变化可以保持转换的连续性。也就是说,在保持可视化连续性的同时,可以中断或改变转换。例如图像序列的可视化ui元素之间的一些现有转换是离散的,并且不能实现连续的转换,这可以在运行中被控制和重新配置。另一方面,粒子能够实现用于执行转换的各种创造性的但灵活且动态的方式。一种解决方案可以是简单地淡入或淡出可视化ui元素以及简单的平移或插值、参数。另一种方法是可以使用变形形状来在配置之间移动网格顶点。然而,这些方法对内容具有严格的限制,并且对执行转换(例如,在转换期间重新配置目标可视化ui元素)的控制很少(如果有的话))。另一个缺点是这些方法不是通用的。粒子可以是物体,物体可以具有位置、物理状态(例如速率/速度))以及影响外观的一些状态(例如颜色)。每个粒子通常表征可视化ui元素的至少一个点。粒子可以由创建粒子的粒子网格发射器发射。然后,粒子缓冲区可以是包括有粒子集合的结构。粒子形状发射器可以将粒子初始化到粒子缓冲区中。不同的粒子形状发射器可以具有用于产生粒子的初始位置和状态的不同的图案。例如,粒子网格发射器可以用网格限定了的形状来发射粒子,并且还对它们的可视化数据(即状态)初始化,以匹配表面的颜色。另一方面,盒发射器可以在盒体积内发射。粒子形状影响因子可以根据粒子缓冲区自身的规则和参数来更新粒子缓冲区中的粒子。例如,形状影响因子可以向着当前目标形状移动粒子。注意的是,其它影响因子也可以起作用,但是那些影响因子可能仅具有可视化差异。通常,可视化ui元素的转换可以指从显示器上的一组图形ui元素切换到显示器上的另一组图形ui元素。本发明的一些实施例可以依据三角形网格来描述。然而,尽管在下文中使用三角形网格作为示例,但是本发明的实施例通常可以应用于任何类型的形状。三角形网格可以被称为被分组成网格的三角形。在计算机图形中通常使用三角形网格来实现有效的操作。在计算机图形的背景下,三角形网格可以包括一组三角形,其中三角形可以通过它们的公共边或角来连接。三角形通常在三个维度上,并且可以在三角形的角处的顶点上执行操作。因此,系统可以对每个三角形的三个顶点进行操作,并且大的网格可以例如包括在单个顶点相交的八个或更多个三角形。因此,通过仅处理一次这些顶点即可获得相同的效果,只需要进行一小部分工作。粒子可以被称为三角形网格的点,并且粒子的产生可以包括为每个粒子拾取网格中随机三角形内的随机点。在任何情况下,应当注意的是,即使根据三角形网格描述了本发明的一些实施例,本发明也可应用于其它合适的环境,例如,基于图像的发射/转换、任何种类的表面/纹理数据、基于位图的发射,以形成被表示为矢量图形或距离场的图像或文本。因此,本发明不限于三角形网格。在一些实施例中,粒子网格发射器(即,通常的粒子网格形状发射器)可以基于网格的形状(例如,可视化ui元素)来创建粒子。例如,粒子网格发射器可以创建具有无限寿命的一定数量的粒子。此外,可以在表面上随机地或者以某种有意义的图案对粒子进行采样,或者将粒子放置在网格的顶点处。此外,在本发明的一些实施例中,粒子网格影响因子(即通常的粒子形状影响因子)可以在转换时间期间将粒子向着目标形状(例如可视化ui元素)移动。转换时间可以被称为转换开始和转换结束之间的时间。在本发明的一些实施例中,转换的结束可以被称为目标时刻。此外,在一些实施例中,可以有一个以上的粒子网格影响因子。在这种情况下,其它粒子网格影响因子可以影响粒子以产生不同的转换。因此,在一些实施例中,可以同时运行两个算法,其中算法具有不同的目标时刻和目标形状。中间表征可用于实现形状(例如可视化ui元素)之间的平滑转换,而不限制它们的原始格式。例如,3d粒子可用于基于可视化ui元素的形状产生中间表征。此外,在一些实施例中,可以基于转换状态将粒子淡入显示器、淡出显示器,以促使平滑连续地转换成粒子以及转换回另一可视化ui元素的形状。例如,从3d粒子到可视化ui元素的变形形状的转换可以包括两个或更多个中间状态,并且可以在状态之间产生动态过渡。在本发明的一些实施例中,一种方法可以从为每个粒子发射器创建粒子缓冲区来开始。然后,可以如下更新粒子发射器的粒子缓冲区。对于每个粒子,可以从3d网格中选择三角形,然后也可以选择三角形上的点。在此之后,可以用与网格上的点相匹配的特性来初始化每个粒子。在产生/更新粒子发射器时,该方法可以通过执行与粒子发射器相关联的影响因子来继续。也就是说,每个粒子发射器与一个形状影响因子相关联,也可能与与发射器相关联的一个或多个其它影响因子相关联。影响因子的执行可以包括:如果当前网格发生改变,则存储基于当前时刻的目标时刻、持续时间以及每个帧的先前网格。然后,对于每个粒子,可以通过种子随机样本来获取目标位置。在此之后,可以计算到达目标位置的距离和可用时间。该方法可以继续从距离和时间确定所需的速度,这是通过对当前速度以到达目标所需要的时间进行积分,该积分可用于计算校正后的目标速度/速率。此外,可以通过加权平均值将速度/速率向着校正后的目标速度/速率进行校正。然而,如果剩余时间达到零或低于零,则每个粒子可以直接移动到目标位置。作为第一示例,再次参考图1,可以使用以下方法来执行不同仪表之间的转换。首先,该方法可以包括设置阶段。在设置阶段中,可以初始化两个网格,其中第一网格对应于第一形状,诸如可视化ui元素(初始状态,图1a中的中心仪表),而第二网格对应于第二形状,诸如目标可视化ui元素(图1b中的两侧的仪表的集合,目标状态)。在初始化网格时,可以针对第一网格来制备中间粒子表征。作为任选的特征,第一网格的粒子可以在制备之后被隐藏。在此之后,可以设置粒子吸引子以将粒子吸引到第一网格的形状。此外,可以为吸引子设置转换的目标时刻,即结束时刻。这就完成了设置阶段。此外,如果需要,第二网格可以在此时被隐藏。形状之间的转换可以通过切换网状吸引子的目标形状来开始。在一些实施例中,原始网格可以从显示器淡出,而粒子的中间表征可以淡入显示器。然后,转换可以通过使粒子的中间表征淡出并淡入新的网格来继续进行。然后,当粒子到达它们的目标位置和可能的状态时,转换阶段结束。作为第二示例,可以使用以下方法来执行单个形状(例如单个可视化ui元素)之间的转换。首先,该方法可以包括设置阶段。在设置阶段,可以基于网格数据创建不同的网格。可以选择所创建的网格中的一个网格作为初始网格。一旦创建了网格,可以通过发射用于初始网格的粒子来制备中间粒子表征。作为任选的特征,初始网格的粒子可以在制备之后被隐藏。通常,设置阶段在粒子被渲染之前执行。在此之后,可以设置粒子吸引子以将粒子吸引到第一网格的形状。此外,可以为吸引子设置转换持续时间。转换的持续时间可以通过从当前时刻减去目标时刻来计算。这就完成了设置阶段。此外,如果需要,第二网格可以在此时被隐藏。然而,在一些实施例中,根本不必示出第二网格。然后,可以通过将网格吸引子设置为另一个网格来执行转换。此外,作为第三示例,根据本发明实施例的方法可以进行如下描述。第一平面网格可以与第二网格一起创建,其中第二网格是不可见的,即不在显示器上。然后,第一平面网格可用于在显示器上绘制内容。在此之后,可以为第二目标网格设置网格发射器,第二目标网格作为不可见网格。此外,可以为第二目标网格设置网格吸引子。在为目标网格设置网格发射器和网格吸引子时,可以使用网格发射器发射粒子并设置要用作第二网格的纹理和uv坐标的材料以进行粒子表征,使得它们显示的图像与没用粒子的网格中显示的图像相同。在一些实施例中,第一平面网格可以被隐藏,并且可以示出粒子。此外,转换末态可以通过将网格影响因子的目标网格切换到平面网格来执行。此外,当转换结束时,平面网格淡入,并且粒子淡出。转换初态可以通过将第一网格切换为不可见网格来执行。此外,当转换开始时,平面网格淡出。然后,粒子淡入。当结束转换时,可能不需要尝试渲染粒子,因为粒子可能根本看不见了。图2示出了能够支持本发明的至少一些实施例的示例设备。示出了设备200,设备200可以例如包括图1的设备110。处理器210包括在设备200中,处理器210可以例如包括单核或多核处理器,其中单核处理器包括一个处理核,多核处理器包括一个以上的处理核。处理器210可以例如包括qualcommsnapdragon800处理器。处理器210可以包括一个以上的处理器。处理核可以例如包括armholdings制造的cortex-a8处理核或由advancedmicrodevices公司制造的brisbane处理核。处理器210可以包括至少一个qualcommsnapdragon和/或intelatom处理器。处理器210可以包括至少一个专用集成电路(asic)。处理器210可以包括至少一个现场可编程门阵列(fpga)。处理器210可以是用于在设备200中执行方法步骤的装置。处理器210可至少部分地由计算机指令配置以执行操作。设备200可以包括存储器220。存储器220可以包括随机存取存储器和/或永久存储器。存储器220可以包括至少一个ram芯片。存储器220可以例如包括磁性光学半导体和/或全息存储器。存储器220可以至少部分地被处理器210访问。存储器220可以是用于存储信息的装置。存储器220可以包括计算机指令,处理器210配置为执行该计算机指令。存储器220也可以专用集成电路(asic)或现场可编程门阵列(fpga)来实施。当存储器220中存储了配置成促使处理器210执行某些操作的计算机指令,并且设备200总体上配置成使用来自存储器220的计算机指令在处理器210的指示下运行时,则可以认为处理器210和/或其至少一个处理核被配置为执行所述某些操作。设备200可以包括发送器230。设备200可以包括接收器240。发送器230和接收器240可以配置为分别根据至少一个标准发送和接收信息。发送器230可以包括一个以上的发送器。接收器240可以包括一个以上的接收器。例如,发送器230和/或接收器240可以配置为根据以太网、并行总线和/或串行总线标准进行操作。设备200可以包括近场通信、nfc收发器250。nfc收发器250可支持至少一种nfc技术,例如nfc、蓝牙、wibree或类似技术。设备200可以包括用户界面(ui)260。ui260可以包括显示器、键盘、触摸显示器、物理控制器、外部物理控制器、用于外部物理控制器的接口、振动器、扬声器以及麦克风中的至少一个,所述振动器设置为通过使设备200振动来向用户发出信号。用户能够经由ui260操作设备200,例如以配置转换参数。设备200可以包括或被设置成接受用户身份模块270。用户身份模块270可以例如包括可安装在设备200中的订户身份模块、sim卡。用户身份模块270可以包括识别设备200的用户的订阅的信息。用户身份模块270可以包括密码信息,该密码信息可用于验证设备200的用户的身份和/或便于对所传送的信息进行加密以及对设备200的用户的经由设备200进行的通信计费。处理器210可以配备有发送器,该发送器设置成经由设备200内部的电引线从处理器210向包括在设备200中的其它设备输出信息。这种发送器可以包括串行总线发送器,串行总线发送器设置成例如经由至少一个电引线将信息输出到存储器220以存储在其中。作为串行总线的备选,发送器可以包括并行总线发送器。同样,处理器210可以包括接收器,该接收器设置成经由设备200内部的电引线从包括在设备200中的其它设备接收处理器210中的信息。这种接收器可以包括串行总线接收器,串行总线接收器设置成例如经由接收器240的至少一个电引线接收信息,以便在处理器210中进行处理。作为串行总线的备选,接收器可以包括并行总线接收器。设备200可以还包括图2中未示出的设备。处理器210、存储器220、发送器230、接收器240和/或ui260可以通过设备200内部的电引线以多种不同的方式互连。例如,上述设备中的每一个设备可以单独地连接到设备200内部的主总线,以允许设备交换信息。然而,如本领域技术人员将理解的是,这仅是一个实例,并且根据实施例,在不脱离本发明的范围的情况下,可以选择互连至少两个上述设备的各种方式。图3示出了根据本发明的至少一些实施例的方法的第一流程图。所示方法的步骤可以例如由设备200和/或设备110执行。此外,所示方法的步骤可以在控制设备中执行,该控制设备配置为在被植入设备200和/或设备110中时控制设备200和/或设备110的功能,或使用无线和/或有线连接远程地控制设备200和/或设备110的功能。该方法可以用于用户界面(ui),例如用于图形用户界面(gui)。该方法可以开始于步骤310处,产生或接收与第一初始形状相关联的粒子,其中每个粒子具有第一初始位置。粒子的第一位置可以与第一形状相关联。然而,在一些实施例中,第一形状可以不是ui元素。例如,第一形状可以在没有(诸如对于形状影响因子的)形状设置的情况下给出。例如,可以在转换期间基于初始形状稍后创建粒子,例如,以创建从根据初始形状创建的粒子中浮现出第二形状的效果。步骤310还可以包括将第一位置作为粒子的当前位置存储到例如存储器中的第一地址,其中存储器可以包括用于粒子的缓冲区(粒子缓冲区)。在一些实施例中,可能目标形状不具有位置。在这种情况下,当前位置可以被认为是目标位置,并且该方法不执行任何操作。然而,在一些实施例中,该方法可以从任何位置和/或其它属性开始,这些位置和/或其它属性可以被认为是粒子的初始形状。可能无法根据由粒子位置限定的形状来产生更多的位置或新的粒子。这被视为是缺失位置的形状。在一些实施例中,如果初始形状具有位置,则可以发射新的粒子。第一形状可以不带有任何粒子地存在。在该算法期间发射的粒子可以从该初始形状得到位置,例如在从底板发射粒子以建立第二形状的效果中。在一些实施例中,所产生的或所接收的粒子可以与至少一个第一可视化ui元素的形状相关联,即第一形状可以指至少一个第一可视化ui元素的形状。在这种情况下,粒子的第一位置可以表征至少一个第一可视化ui元素的至少一个点。粒子的产生可以包括随机地选择至少一个第一可视化ui元素上的点。备选地,或附加地,每个粒子可以具有初始状态,例如物理状态和/或影响外观的一些状态,例如某种颜色。该方法还可以包括在存储粒子的当前位置之后,接收用于触发转换的输入。该输入可以例如是来自用户触摸了用户界面或来自传感器检测到了某事件。例如,在汽车的情况下,传感器可以检测危险情况或紧急情况,并因此触发转换以引起驾驶员的注意。此外,该方法还可以包括,在步骤320处,确定第二形状的形状和确定第一转换的目标时刻,其中第二形状可以包括根据第一形状进行的第一转换的第一目标形状。在一些实施例中,第二形状可以包括至少一个第二可视化ui元素。转换的目标时刻可以通过将该转换的所需持续时间加到当前时刻上来确定。该方法还可以包括,在步骤330处,产生并存储与第二形状(例如至少一个第二可视化ui元素)的形状相关联的粒子的目标位置。同样,可以将粒子存储到存储器中。例如,如果选择三角形网格作为目标形状,则粒子的目标位置的产生可以包括为每个粒子挑选网格的随机三角形内的随机点。也就是说,为每个粒子选择目标形状中的目标位置。可能地,也可以为每个粒子选择和存储第一目标状态。作为示例,该方法可以包括例如通过存储与第一状态相比具有不同颜色的第一目标状态来呈现不同颜色的粒子。该方法可以包括,在步骤335处,发射新粒子并产生和存储新粒子的当前位置。该位置可以基于在步骤310中接收到的初始形状来产生。该方法还可以包括,在步骤340处,以时间来确定转换的步长,并开启用于步长的计数器。在计数器逾时时,该方法还可以包括在步骤350处确定目标形状是否已经改变。通过确定目标形状是否已经改变而提供的技术效果是,可以通过在转换期间改变运行中的目标形状来动态地控制该转换。响应于目标形状已经改变,该方法然后可以包括在步骤352处确定第二转换的第二目标形状和第二目标时刻。然后,该方法可以包括,在步骤354处,产生与第二目标形状相关联的粒子的第二目标位置。该方法还可以包括,在步骤356处,将第二目标时刻存储为第一目标时刻,并将第二目标位置存储为第一目标位置。可能地,也可以为每个粒子选择第二目标状态,并将其存储为第一目标状态。例如,该方法可以包括:响应于目标形状已经改变,以与第一目标状态不同的颜色来渲染与目标形状的改变部分相关联的第二目标状态。此外,该方法还可以包括在检测到汽车的速率变化时以不同的颜色来渲染粒子。第二目标形状和第二目标时刻可以与第一目标形状类似地来确定。同样,粒子的第二目标位置和可能的第二目标状态也可以与第一目标位置类似地产生并将存储到存储器中的第二地址。此外,可以将至少一个第二可视化ui元素的形状存储到第二地址。在一些实施例中,确定目标形状是否已经改变可以包括从日志中检查上次修改目标形状是何时。如果目标形状在ui的最新更新之后已被修改过,则可以确定目标形状已经改变。备选地,可以将至少一个第二可视化ui元素的形状的副本存储到存储器中的第三地址。因此,该方法还可以包括将从存储器中的第二地址检索的至少一个第二可视化ui元素的形状与从存储器中的第三地址检索的至少一个第二可视化ui元素的形状的副本进行比较。当至少一个第二可视化ui元素的形状不同于至少一个第二可视化ui元素的形状的副本时,可以确定目标形状已经改变。不管如何确定目标形状的改变,该方法可以响应于目标形状的改变而进行到步骤354。附加地,或者备选地,确定目标形状是否已经改变可以包括检测网格位置数据与存储的网格位置数据不匹配或者网格数据的指针与存储的网格数据不匹配。此外,可以调用用于设置新目标形状的函数。通常,可能需要算法来获得关于改变的信息。该形状可以由可以进行比较的数据实例来表征。例如,如果两个匹配实例由相同数据的不同副本来表征,则这两个匹配实例可以被认为是不同的。副本可以在不同的存储器地址中,以便能够进行比较。改变目标形状的定义在各种实施例中可以不同。例如,可以包括或不包括目标形状的位置的改变,包括或不包括将会改变行为。如果改变目标形状包括改变目标形状的位置,则可以再次开始整个转换。因此,粒子将向目标位置移动。然而,如果改变目标形状不包括改变目标形状的位置,则可以改变目标形状而无需从起点开始整个转换。该方法还可以包括,在步骤360处,确定目标形状是否具有位置。例如,在某些情况下,例如,如果已经从第二个地址中删除了目标形状,则在存储器中可能没有目标形状。如果目标形状已经被删除,则方法步骤352至步骤356将更新第一目标为不具有位置。因此,在这种情况下,在步骤350处关于目标形状是否已经改变的确定可以指示目标形状已经改变,但最重要的是可能需要检查目标是否仍然具有位置。备选地或附加地,该方法可以包括,在步骤360处,响应于不存在目标位置,将当前时刻存储为目标时刻,并且可以将当前位置定义为目标位置。目标形状可能不需要具有新的位置。因此,当算法运行时,目标形状总是存在,但是它可能缺失了目标位置。也就是说,该条件结束了算法的转换部分,使得算法不再运行(即,在缺失位置的情况下,立即到达目标形状并且结束转换),但是不终止,因为可能总是存在目标形状。通过确定目标形状是否具有位置所提供的技术效果也与动态控制有关,因为它可以在转换期间将目标形状不与特定目标相关联,这有效地结束了转换。例如,目标形状/位置可以被定义为当前形状/位置,这样做可以结束转换,因为所有粒子都将立即到达目标。该方法可以包括,在步骤370处,将第一目标时刻与当前时刻进行比较。比较的结果可以被称为剩余时间,剩余时间可以通过从第一目标时刻减去当前时刻来计算。应注意的是,在一些实施例中,所有粒子可能不具有相同的目标时刻。例如,在一些实施例中,可以通过将产生新粒子的时间与所需持续时间相加来计算新粒子的目标时刻。当第一目标时刻小于或等于当前时刻时,该方法可以继续进行,并且该方法包括在步骤372处,将粒子的目标位置存储为第一初始位置。可以针对每个粒子做出有关第一目标时刻小于或等于当前时刻的决定。因此,该方法可以对于尚未经过目标时刻的粒子进行。通常,当达到目标时刻时,或者当第一粒子或最后一个粒子到达其目标位置时,可以认为转换结束。也就是说,如果没有剩余时间,即剩余时间为零或更少,则转换可以直接移动到目标形状。在此之后,转换可以结束,并且例如可以进行到步骤335,开始新的转换。在一些实施例中,可以通过从步骤335移动到步骤340并且进一步移动到步骤350来创建空闲循环。如果在步骤350处没有改变,则算法可以经由步骤360和步骤370移动到步骤372。根据步骤372,如果没有位置,则算法可以移回到步骤335。另一方面,当目标时刻大于当前时刻(剩余时间大于零)时,基于比较,该方法可以包括:在步骤380处,基于粒子的当前位置和目标位置,确定粒子的中间位置,其中中间位置比当前位置更接近目标位置,以及通过使用粒子的中间位置来更新用户界面,以在显示器上提供图形输出。显示器上的图形输出可以包括关于移动电话、汽车系统、飞机系统、船、工业机器以及发电厂中的至少一个的当前状态的信息。对于步骤380,该方法可以包括通过从当前位置减去每个粒子的目标位置来计算每个粒子的剩余距离。该方法还可以包括通过将剩余距离除以每个粒子的剩余时间来确定目标速率/速度。因此,在一些实施例中,每个粒子的中间位置的确定可以包括将目标速率/速度乘以步长。在一些实施例中,如果需要可视化上令人愉悦的外观,则可以对旧的所需速率/速度使用加权平均,而不是基于所需的速度来覆盖某位置。更新用户界面还可以包括可视化方面。例如,可视化的可能只是粒子,可能在转换开始和结束时切换呈现,或者其他。在确定中间位置时,该方法可以继续进行,并且包括在步骤390处,将中间位置存储为当前位置。在此之后,该方法可以从步骤390进行到步骤335,其中中间位置可以用作当前位置以继续向目标形状转换。图4示出了根据本发明的至少一些实施例的方法的第二流程图。所示方法的阶段可以例如在设备200和/或设备110中执行。此外,所示方法的阶段可以在控制设备中执行,该控制设备配置为在被植入设备200和/或设备110时控制设备200和/或设备110的功能或使用无线和/或有线连接远程地控制设备200和/或设备110的功能。该方法可以用于用户界面(ui),例如用于图形用户界面(gui)。参考图3,第二流程图的阶段410-阶段490可对应于图4的步骤310至步骤390。阶段410可以包括产生或接收粒子,其中每个粒子具有与第一形状相关联的第一位置。此外,阶段420可以包括确定第二形状和第一转换的第一目标时刻,其中第二形状形成用于根据第一形状进行的第一转换的第一目标形状,而阶段430可以包括产生和存储与粒子的第二形状相关联的第一目标位置。第二流程图还可以包括可选阶段440,确定转换的步长并开启步长的计数器的。可选阶段450可以包括,在计数器逾时时,确定第二形状是否已经改变,并且可选阶段460可以包括确定目标形状是否包括目标位置。然后,阶段470可以包括将第一目标时刻与当前时刻进行比较(370)。第二流程图可以包括,在阶段480处基于粒子的当前位置和第一目标位置来确定中间位置,其中中间位置比当前位置更接近目标位置,并通过使用粒子的中间位置来更新用户界面以在显示器上提供图形输出,并且在阶段490处,将中间位置存储为当前位置。应当理解的是,所公开的本发明的实施例不限于本文所公开的特定结构、方法步骤或材料,而是将其扩展到相关领域的普通技术人员将认识到的等同形式。还应当理解的是,本文使用的术语仅用于描述特定实施例的目的,而不是为了限制。贯穿本说明书对一个实施例或实施例的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书的各个地方出现的术语“在一个实施例中”或“在实施例中”不一定都指同一实施例。例如,在使用诸如约或大致上的术语提及数值的情况下,还公开了确切的数值。如本文所用,为了方便起见,多个项目、结构要素、组成要素和/或材料可以呈现在共同列表中。然而,这些列表应当被解释为好像列表的每个成员被单独地标识为单独的和唯一的成员。因此,仅基于它们在共同组中的表示而没有相反指示,不应将该列表中的单个成员解释为实际上等同于该列表的任何其他成员。此外,本文可以参考本发明的各种实施例和示例以及其各种组件的备选方案。应当理解的是,这些实施例、示例以及备选方法不应被解释为彼此的事实上等同,而应被认为是本发明的独立和自主的表示。在示例性实施例中,例如,诸如设备110的设备可以包括用于执行上述实施例及其任意组合的装置。在示例性实施例中,计算机程序可以配置为引起根据上述实施例及其任意组合的方法。在示例性实施例中,包含在非暂时性计算机可读介质上的计算机程序产品可以配置为控制处理器以执行包括上述实施例及其任意组合的方法。在示例性实施例中,例如,诸如设备110之类的设备可以包括至少一个处理器,以及包括计算机程序代码的至少一个存储器,其中至少一个存储器和计算机程序代码配置成与至少一个处理器一起使设备至少执行上述实施例及其任意组合。此外,在一个或多个实施例中,所描述的特征、结构或特性可以以任何合适的方式组合。在前面的描述中,提供了许多具体细节,例如长度、宽度、形状等的示例,以提供对本发明实施例的深入理解。然而,相关领域的技术人员将认识到,本发明可以在没有一个或多个具体细节的情况下,或用其它方法、组件、材料等来实施。在其它情况下,没有详细示出或描述公知的结构、材料或操作,以避免混淆本发明的各方面。虽然前面的示例在一个或多个特定应用中说明了本发明的原理,但是对于本领域的普通技术人员来说,显然,不需要实施创造性的能力并且不脱离本发明的原理和概念下,可以在形式、使用以及实现细节上进行多种修改。因此,除了由下面阐述的权利要求之外,无意限制本发明。动词“包括”和“包含”在本文中用作开放式限制,其既不排除也不要求存在未引用的特征。除非另有明确说明,在从属权利要求中所述的特征是可相互自由组合的。此外,应当理解的是,在本文中使用“一”(即单数形式)并不排除多个。工业实用性例如在车辆信息管理的情况下,本发明的至少一些实施例在图形用户界面中找到工业应用。缩略语列表asic专用集成电路crt阴极射线管cui复合用户界面fpga现场可编程门阵列led发光二极管oled有机发光二极管ui用户界面当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1