(57)【要約】      （修正有）【課題】ディスプレイ上の視覚的ＵＩ要素間の動的且つ連続的な移行の為の効率的な方法を提供する。【解決手段】ＵＩを含む装置の為の方法は、パーティクルを生成するか受け取り、パーティクルの第１の位置を現在位置として記憶するステップ４１０と、第１の形状に関連付けられた第１の形状からの第１の移行の第１の目標形状を形成する第２の形状と、第１の移行の第１の目標時間とを算出するステップ４２０と、第２の形状に関連付けられたパーティクルの第１の目標位置を生成して記憶するステップ４３０と、第１の目標時間を現在時間と比較するステップ４７０と、第１の目標時間が現在時間より大きいことを受けて、パーティクルの現在位置及び第１の目標位置に基づいて算出したパーティクルの中間位置を使用してグラフィカル出力をディスプレイに表示することによりＵＩを更新するステップ４８０と、中間位置を現在位置として記憶するステップ４９０と、を含む。【選択図】図４
2020170514.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェース（ＵＩ）を含む装置の為の方法であって、
それぞれが第１の形状に関連付けられた第１の位置を有するパーティクルを生成するか受け取り、前記第１の位置を現在位置として記憶するステップと、
前記第１の形状からの第１の移行の第１の目標形状を形成する第２の形状と、前記第１の移行の第１の目標時間と、を算出するステップと、
前記第２の形状に関連付けられた前記パーティクルの第１の目標位置を生成して記憶するステップと、
前記第１の目標時間を現在時間と比較するステップと、
前記第１の目標時間が前記現在時間より大きいことを受けて、前記パーティクルの前記現在位置及び前記第１の目標位置に基づいて、前記パーティクルの、前記現在位置より前記目標位置に近い中間位置を算出するステップと、
前記パーティクルの前記中間位置を使用してグラフィカル出力をディスプレイに表示することによって前記ユーザインタフェースを更新するステップと、
前記中間位置を前記現在位置として記憶するステップと、
を含む方法。
【請求項２】
前記第１の移行をトリガする入力を受け取るステップ
を更に含む、請求項１に記載の方法。
【請求項３】
前記第１の移行の所望継続時間を前記現在時間に加算することによって、前記第１の目標時間を算出するステップ
を更に含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記第２の形状が変化したことを受けて、第２の移行の第２の目標形状及び第２の目標時間を算出するステップと、
前記第２の目標形状に関連付けられた前記パーティクルの第２の目標位置を生成するステップと、
前記第２の目標時間を前記第１の目標時間として、並びに前記第２の目標位置を前記第１の目標位置として記憶するステップと、
を更に含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記目標時間が前記現在時間以下である場合に、前記パーティクルの前記目標位置を前記第１の位置として記憶するステップと、
前記記憶された第１の目標位置を新たな移行の前記第１の位置として使用することによって、前記新たな移行を開始するステップと、
を更に含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記パーティクルの前記中間位置を算出する前記ステップは、
前記現在位置から各パーティクルの前記目標位置を差し引くことによって、各パーティクルの残り距離を計算するステップと、
各パーティクルについて前記残り距離を残り時間で割ることによって各パーティクルの目標速度を算出するステップと、
各パーティクルの前記目標速度に前記ステップサイズを掛けるステップと、
前記乗算の結果を各パーティクルの前記現在位置に加算することによって、各パーティクルの前記中間位置を算出するステップと、
を更に含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記第２の形状が目標位置を含むかどうかを判定するステップと、
前記目標位置が存在することを受けて、前記現在時間を前記目標時間として記憶するステップと、
を更に含む、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記グラフィカル出力は、携帯電話、自動車システム、航空機システム、産業機械、及び発電所のうちの少なくとも１つにおける現在の状態に関する情報を含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記第２の形状が変化したことを受けて、前記目標形状の変化した部分に関連するパーティクルを別の色でレンダリングするステップ
を更に含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記第１の移行のステップサイズを時間単位で算出し、前記ステップサイズのカウンタを始動させるステップと、
前記カウンタの満了時に、前記第２の形状が変化したかどうかを判定するステップと、
を更に含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記第１及び／又は第２の形状は１つ以上のＵＩ要素を含む、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
ユーザインタフェース（ＵＩ）を含む装置であって、
それぞれが第１の形状に関連付けられた第１の位置を有するパーティクルを生成するか受け取り、前記第１の位置を現在位置として記憶する手段と、
前記第１の形状からの第１の移行の第１の目標形状を形成する第２の形状と、前記第１の移行の第１の目標時間と、を算出する手段と、
前記第２の形状に関連付けられた前記パーティクルの第１の目標位置を生成して記憶する手段と、
前記第１の目標時間を現在時間と比較することと、
前記第１の目標時間が前記現在時間より大きいことを受けて、前記パーティクルの前記現在位置及び前記第１の目標位置に基づいて、前記パーティクルの、前記現在位置より前記目標位置に近い中間位置を算出する手段と、
前記パーティクルの前記中間位置を使用してディスプレイにグラフィカル出力を表示することによって前記ユーザインタフェースを更新することと、
前記中間位置を前記現在位置として記憶することと、
を更に含む装置。
【請求項１３】
請求項２〜１１のいずれか一項に記載の方法を実施する手段を更に含む、請求項１２に記載の装置。
【請求項１４】
ユーザインタフェース（ＵＩ）を含む装置に、
それぞれが第１の形状に関連付けられた第１の位置を有するパーティクルを生成するか受け取り、前記第１の位置を現在位置として記憶するステップと、
前記第１の形状からの第１の移行の第１の目標形状を形成する第２の形状と、前記第１の移行の第１の目標時間と、を算出するステップと、
前記第２の形状に関連付けられた前記パーティクルの第１の目標位置を生成して記憶するステップと、
前記第１の目標時間を現在時間と比較するステップと、
前記第１の目標時間が前記現在時間より大きいことを受けて、前記パーティクルの前記現在位置及び前記第１の目標位置に基づいて、前記パーティクルの、前記現在位置より前記目標位置に近い中間位置を算出するステップと、
前記パーティクルの前記中間位置を使用してディスプレイにグラフィカル出力を表示することによって前記ユーザインタフェースを更新するステップと、
前記中間位置を前記現在位置として記憶するステップと、
を実施させるように構成されたコンピュータプログラム。
【請求項１５】
請求項２〜１１のうちの少なくとも一項に記載の方法が実施されるようにするように更に構成された、請求項１４に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、全般的にはグラフィカルユーザインタフェースに関する。より具体的には、本発明の実施形態は、装置のディスプレイ上の視覚的ユーザインタフェース要素間の動的移行に関する。
【背景技術】
【０００２】
様々な電子装置が、装置と人間の対話を可能にするユーザインタフェースを含む。少なくとも２つの感覚と対話できるユーザインタフェースは、一般に、複合ユーザインタフェース（ＣＵＩ）と呼ばれる。そして、マルチメディアユーザインタフェース（ＭＵＩ）は、音を含むＣＵＩを意味する。更に、グラフィカルユーザインタフェース（ＧＵＩ）という用語は、通常、制御を可能にするタッチ可能ＵＩと、ディスプレイに情報を提示する視覚的ＵＩと、を含むＣＵＩに使用される。ＧＵＩは、様々な電子装置で使用されてよく、例えば、コンピュータ、携帯電話、車両用情報システム等で使用されてよい。他のＵＩタイプは、他の感覚、例えば、臭覚や味覚と対話できる。当然のことながら、様々な組み合わせも可能である。
【０００３】
一般に、視覚的ＵＩは、ディスプレイ上に、一度にゼロ個以上の（場合によっては視覚的ＵＩ要素を含む）形状を有してよく、多数のアプリケーションがある場合には、幾つかの視覚的効果を達成したり、ユーザの注意を誘導したりする為に、操作中に視覚的ＵＩ要素の数を変更する必要がある。例えば、自動車では、最初に速度計がセンタゲージとしてディスプレイに表示されてよい。運転中の幾つかの時点では、速度計の表示を何か別のもの（例えば、ディスプレイの両サイドにあって、色が異なる２つのゲージ）に移行することによって、運転者の注意を速度計に引きつけることが望ましい場合がある。
【０００４】
ディスプレイ上の視覚的ＵＩ要素間で様々な移行が必要になる場合があり、例えば、１つから多数への移行、多数から１つへの移行、１つから１つへの移行、ゼロから１つへの移行、又は１つからゼロへの移行等が必要になる場合がある。移行のタイプに関係なく、多くの場合は、移行をディスプレイ上で連続的に実施することが望ましく、それに加えて、移行中も制御が可能でなければならない。更に、アプリケーションによっては移行の数が大きくなる場合があり、或いは、移行を視覚的に滑らかにする為には、多数のステップが必要になる。又、移行を実施する装置のリソースが制限されている場合がある。従って、移行は、計算的に効率よく行われなければならず、更に、メモリを使いすぎないようにしなければならない。
【０００５】
既存の、視覚的ＵＩ要素間の移行の方法の幾つかは離散的であり、連続的な移行を可能にせず、オンザフライで制御及び再構成されることが可能である。そして、方法によってはある種の連続的な移行が何らかの制御によって可能であるとしても、それらは計算リソース及びメモリリソースを大量に消費する。そこで、ディスプレイ上の視覚的ＵＩ要素間の動的且つ連続的な移行の為の効率的な方法、装置、及びコンピュータプログラムを提供することが必要とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来の技術における課題を解決するためになされたものである。
【課題を解決するための手段】
【０００７】
幾つかの態様によれば、独立請求項の対象が提供される。幾つかの実施形態が従属請求項において規定される。
【０００８】
本発明の第１の態様によれば、ユーザインタフェース（ＵＩ）を含む装置の為の方法が提供され、本方法は、それぞれが第１の形状に関連付けられた第１の位置を有するパーティクルを生成するか受け取り、第１の位置を現在位置として記憶するステップと、第１の形状からの第１の移行の第１の目標形状を形成する第２の形状と、第１の移行の第１の目標時間と、を算出するステップと、第２の形状に関連付けられたパーティクルの第１の目標位置を生成して記憶するステップと、第１の目標時間を現在時間と比較するステップと、第１の目標時間が現在時間より大きいことを受けて、パーティクルの現在位置及び第１の目標位置に基づいて、パーティクルの、現在位置より目標位置に近い中間位置を算出するステップと、パーティクルの中間位置を使用してグラフィカル出力をディスプレイに表示することによってユーザインタフェースを更新するステップと、中間位置を現在位置として記憶するステップと、を含む。
【０００９】
本発明の第１の態様によれば、本方法は、幾つかの実施形態では、第１の移行をトリガする入力を受け取るステップを含んでよい。
【００１０】
本発明の第１の態様によれば、本方法は、幾つかの実施形態では、第１の移行の所望継続時間を現在時間に加算することによって、第１の目標時間を算出するステップを含んでよい。
【００１１】
本発明の第１の態様によれば、本方法は、幾つかの実施形態では、第２の形状が変化したことを受けて、第２の移行の第２の目標形状及び第２の目標時間を算出するステップと、第２の目標形状に関連付けられたパーティクルの第２の目標位置を生成するステップと、第２の目標時間を第１の目標時間として、並びに第２の目標位置を第１の目標位置として記憶するステップと、を含んでよい。
【００１２】
本発明の第１の態様によれば、本方法は、幾つかの実施形態では、目標時間が現在時間以下である場合に、パーティクルの目標位置を第１の位置として記憶するステップと、記憶された第１の目標位置を新たな移行の第１の位置として使用することによって、新たな移行を開始するステップと、を含んでよい。
【００１３】
本発明の第１の態様によれば、本方法は、幾つかの実施形態では、現在位置から各パーティクルの目標位置を差し引くことによって、各パーティクルの残り距離を計算するステップと、各パーティクルについて残り距離を残り時間で割ることによって各パーティクルの目標速度を算出するステップと、各パーティクルの目標速度にステップサイズを掛けるステップと、乗算の結果を各パーティクルの現在位置に加算することによって、各パーティクルの中間位置を算出するステップと、を含んでよい。
【００１４】
本発明の第１の態様によれば、本方法は、幾つかの実施形態では、第２の形状が目標位置を含むかどうかを判定するステップと、目標位置が存在することを受けて、現在時間を目標時間として記憶するステップと、を含んでよい。
【００１５】
本発明の第１の態様によれば、幾つかの実施形態では、グラフィカル出力は、携帯電話、自動車システム、航空機システム、産業機械、及び発電所のうちの少なくとも１つにおける現在の状態に関する情報を含んでよい。
【００１６】
本発明の第１の態様によれば、本方法は、幾つかの実施形態では、第２の形状が変化したことを受けて、目標形状の変化した部分に関連するパーティクルを別の色でレンダリングするステップを含んでよい。
【００１７】
本発明の第１の態様によれば、本方法は、幾つかの実施形態では、第１の移行のステップサイズを時間単位で算出し、ステップサイズのカウンタを始動させるステップと、カウンタの満了時に、第２の形状が変化したかどうかを判定するステップと、を含んでよい。
【００１８】
本発明の第１の態様によれば、幾つかの実施形態では、第１及び／又は第２の形状は１つ以上のＵＩ要素を含んでよい。
【００１９】
本発明の第２の態様によれば、装置が提供され、本装置は、少なくとも１つの処理コアと、コンピュータプログラムコードを含む少なくとも１つのメモリと、を含み、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つの処理コアとともに、少なくとも本方法を装置に実施させるように構成されている。
【００２０】
本発明の第３の態様によれば、本方法を実施する手段を含む装置が提供される。
【００２１】
本発明の第４の態様によれば、非一時的コンピュータ可読媒体が提供され、これにはコンピュータ可読命令のセットが記憶されており、これらの命令は、少なくとも１つのプロセッサで実行されると、少なくとも本方法を装置に実施させる。
【００２２】
本発明の第５の態様によれば、本方法を実施するように構成されたコンピュータプログラムが提供される。
【図面の簡単な説明】
【００２３】
【図１】本発明の少なくとも幾つかの実施形態による、装置のディスプレイ上の視覚的ＵＩ要素間の移行の一例を示す図である。
【図２】本発明の少なくとも幾つかの実施形態をサポートすることが可能な装置の一例を示す図である。
【図３】本発明の少なくとも幾つかの実施形態による一方法の第１のフローグラフを示す図である。
【図４】本発明の少なくとも幾つかの実施形態による一方法の第２のフローグラフを示す図である。
【発明を実施するための形態】
【００２４】
グラフィカルユーザインタフェースにおいて、１つの形状（場合によっては、視覚的ユーザインタフェース（ＵＩ）要素を含む）から別の形状への動的且つ連続的な移行は、移行中の形状の中間表現としてパーティクルを使用することにより、計算リソース及びメモリリソースの観点で効率的に提示されることが可能である。より詳細には、パーティクルは、例えば、視覚的ＵＩ要素を表現する為に使用されてよく、パーティクルは移行中に初期位置から中間位置を経て目標位置まで動かされることが可能である。グラフィカルユーザインタフェースは、パーティクルの中間位置を使用してディスプレイに視覚的出力を表示するように更新されてよい。一般に、パーティクルは、位置及び他のアプリケーション固有の属性を有してよい。例えば、パーティクルは、物理的性質及び外観に関連する属性（例えば、速度、質量、色、サイズ、イメージ等）を有してよい。
【００２５】
一般に、視覚的ＵＩ要素は、ユーザインタフェースのうちの、何らかのデータ又はアクションをユーザに対して表現するグラフィカルピースであると考えられてよい。視覚的ＵＩ要素間の移行は、１つの視覚的ＵＩ要素（又は視覚的ＵＩ要素の集合）が１つ以上の別の視覚的ＵＩ要素に変化する様式であると理解されてよい。中間表現は、移行中に使用されてよく、初期の視覚的ＵＩ要素の形状、及び目標の視覚的ＵＩ要素の形状と異なる様式で視覚的ＵＩ要素を表現する様式を意味すると考えられてよく、初期又は目標の視覚的ＵＩ要素の形状に限定されない。従って、中間表現は、計算負荷及びメモリ使用を最小限に抑えながらも、初期の視覚的ＵＩ要素の形状と目標の視覚的ＵＩ要素の形状との間で動的且つ連続的な移行を行うのに十分なフレキシビリティを有することが望ましいと考えられる。
【００２６】
本発明の実施形態は、移行中に、即ち、オンザフライで目標形状（例えば、目標の視覚的ＵＩ要素の目標形状）を構成（又は再構成）することを可能にする。従って、移行中に目標形状、更には目標形状のトポロジを変更することが可能であり、これは、イメージシーケンス又は他の従来のアニメーション手法では不可能である。更に、本発明の実施形態は、イメージシーケンスの場合と異なり、移行前に中間形状を生成することを必要としない。従って、移行の実施に必要なメモリ量が低減される。メモリの必要量の低減は、中間形状の全てを表現して保存することを回避することにより達成される。更に、各パーティクルの位置は個別に更新されてよく、これにより計算が効率的になる。
【００２７】
図１は、本発明の少なくとも幾つかの実施形態による、装置のディスプレイ上の形状間の移行の一例を示す。これらの形状は、視覚的ＵＩ要素であってよい。図１の例では、装置１１０はディスプレイ１２０を含んでよい。ディスプレイ１２０は、グラフィカルユーザインタフェースであるとも考えられてよい。これに対し、他の幾つかの実施形態では、装置１１０がディスプレイ１２０を含まない場合、ディスプレイ１２０は、無線又は有線のリンクを介して装置１１０に接続されてよい。そのような場合、装置１１０は、例えば、ディスプレイ１２０を制御する為の制御装置又はディスプレイ制御部を含んでよい。装置１１０は、幾つかの実施形態では、１つの物理的装置の形でディスプレイ１２０と統合されてよい。更に、ディスプレイ１２０は、例えば、発光ダイオード（ＬＥＤ）ディスプレイや有機ＬＥＤ（ＯＬＥＤ）ディスプレイであってよい。或いは、ディスプレイ１２０は、ブラウン管（ＣＲＴ）ディスプレイや他の種類のディスプレイであってもよい。
【００２８】
装置１１０は、ディスプレイ１２０の機能を指示する信号をディスプレイ１２０に与えることによってディスプレイ１２０を制御するように構成されてよい。この信号は、装置１１０が信号を生成するように構成されて、ディスプレイ１２０が信号に従って動作するように構成される適切なフォーマットであってよい。例えば、装置１１０は、ステータス情報を表示することをディスプレイ１２０に指示することが可能である。
【００２９】
図１に示された移行の例は４つのステップ１ａ〜１ｄを含むが、当然のこととして、移行はもっとずっと多くのステップを含んでよく、含むのが普通である。図１ａは、移行開始前の第１の形状を示しており、ここでは、各パーティクルは、初期位置及び場合によっては初期状態（色等）を有し、第１の形状の少なくとも１つの点を表す。例えば、自動車の場合、第１の形状は、第１の視覚的ＵＩ要素を含んでよい。第１の視覚的ＵＩ要素は速度計を表してよく、これは従来式の完全な円形状（センタゲージ）である。移行の開始は、移行によって第１の形状、例えば、第１の視覚的ＵＩ要素が目標の視覚的ＵＩ要素に向かって動き始める時点であるとしてよい。
【００３０】
次に図１ｂは、第１の中間形状、例えば、中間の視覚的ＵＩ要素を表しており、ここでは、各パーティクルは、第１の中間位置及び場合によっては第１の中間状態（やはり色等）を有する。パーティクルの第１の中間位置及び場合によっては第１の中間状態は、必ずしも全てのパーティクルに関してではないが、少なくとも幾つかのパーティクルに関しては、第１の形状及び目標の形状と異なってよい。図１ｂは、例示を目的として、第１の中間形状の一例を表しているに過ぎない。典型的には、第１の中間形状は、図１ａの第１の形状とより厳密に一致してよい。第１の中間位置は、初期位置より目標位置に近くてよい。
【００３１】
第２の中間形状、例えば、第２の視覚的ＵＩ要素を図１ｃに示す。この場合も、各パーティクルは、第２の中間位置及び場合によっては第２の中間状態（やはり色等）を有する。パーティクルの第２の中間位置及び場合によっては第２の中間状態は、必ずしも全てのパーティクルに関してではないが、少なくとも幾つかのパーティクルに関しては、第１の中間位置及び第１の中間状態（存在する場合）、並びに第１の視覚的ＵＩ要素及び目標の視覚的ＵＩ要素と異なってよい。第２の中間位置は、第１の中間位置位置より目標位置に近くてよい。
【００３２】
図１の例では、図１ｄは移行の終了を示しており、ここでは、目標形状、例えば、目標の視覚的ＵＩ要素に到達している。例えば、自動車の場合、図１の例の目標の視覚的ＵＩ要素は速度計を表してよく、これは２つの部分（ディスプレイ１２０の両サイドにある２つのゲージ）に分割されている。移行の終了は、中間表現が完全に、又は所定の程度まで、目標形状に達した時点であるとしてよい。即ち、各パーティクルは、その目標位置に達しており、その可能な目標状態にも達している。
【００３３】
本発明の幾つかの実施形態では、第１の（初期）形状と形状が一致するようにパーティクルが生成されるか受けられてよい。そして、移行が開始されると、パーティクルは、中間形状を経て目標形状に向かうように誘導されてよい。更に、幾つかの応用では、関連付けられたＵＩ要素グラフィックスが、この時点でディスプレイからフェードアウトされてよい。そのような操作によって第１の形状がパーティクルに視覚的に変換されることになり、この時点では第１の形状は元の形状のままである。
【００３４】
本発明の実施形態は、例えば、１つの形状から別の形状への移行を可能にし、この移行は、１つから１つへの移行と呼ばれることがある。更に、形状、例えば、１つの視覚的ＵＩ要素（図１ａのセンタゲージ）から複数の形状、例えば、複数の視覚的ＵＩ要素（図１ｄのディスプレイの両サイドにある２つのゲージ）への移行が可能にされる。この種の移行は、１つから多数への移行と呼ばれることがある。又、本発明の実施形態は、複数の形状から１つの形状への移行、即ち、多数から１つへの移行を可能にする。本発明の実施形態は又、形状をディスプレイに入れたり、ディスプレイから出したりする移行を可能にする。そのような移行は、ゼロから１つへの移行、又は１つからゼロへの移行と呼ばれることがある。更に、幾つかの実施形態では、多数から多数への移行が可能である。
【００３５】
パーティクルを使用すると、移行がどのように実施されるかを制御することが可能になる。例えば、移行中に目標形状を変更することが可能であり、これによって、動的な移行が可能になる。更に、パーティクルは連続的な移行も可能にし、これは、フォーカス及び／又は注意誘導の変更を連続的に伝達する為に必要となる場合がある。例えば、目標形状を変更することにより、移行の連続性の維持が可能になる。即ち、視覚的な連続性を保ちながら移行を中断又は変更することが可能である。
【００３６】
既存の、視覚的ＵＩ要素間の移行の幾つか（例えば、イメージシーケンス）は離散的であり、連続的な移行を可能にせず、オンザフライで制御及び再構成されることが可能である。これに対し、パーティクルは、フレキシブル且つ動的でありながらクリエイティブな様々な様式で移行を実施することを可能にする。
【００３７】
１つのソリューションは、シンプルな変換（又は補間）パラメータを伴って、視覚的ＵＩ要素をシンプルにフェードイン又はフェードアウトさせることであってよい。別のアプローチは、モーフ形状を使用して、構成間でメッシュ頂点を移動させることであってよい。しかしながら、これらのアプローチは、コンテンツに対する制限が厳しく、移行の実施（例えば、移行中に目標の視覚的ＵＩ要素を再構成すること）をほとんど制御できない（できたとしてもわずかである）。別の弱点は、これらのアプローチが一般的でないことである。
【００３８】
パーティクルはオブジェクトであってよく、位置、物理的状態（例えば、速度／速さ）、及び、外観に作用する何らかの状態（例えば、色）を有してよい。各パーティクルは、全般的には、視覚的ＵＩ要素の少なくとも１つの点を表す。パーティクルは、パーティクルを生成するパーティクルメッシュエミッタによって放出されてよい。そして、パーティクルバッファが、パーティクルの収集を含む構造体であってよい。
【００３９】
パーティクル形状エミッタが、パーティクルを初期化してパーティクルバッファに入れてよい。様々なパーティクル形状エミッタが、様々なパターンでパーティクルの初期位置及び初期状態を生成してよい。例えば、パーティクルメッシュエミッタは、パーティクルを、メッシュで規定される形状で放出してよく、又、それらの視覚的データ（即ち、状態）を、サーフェスの色に適合するように初期化してよい。これに対し、ボックスエミッタがボックスボリューム内に放出してよい。
【００４０】
パーティクル形状アフェクタが、専用のルール及びパラメータに従って、パーティクルバッファ内のパーティクルを更新してよい。例えば、形状アフェクタは、パーティクルを現在の目標形状に向かって動かしてよい。なお、他のアフェクタもアクティブであってよいが、それらは、視覚的差異のみを有してよい。一般に、視覚的ＵＩ要素の移行は、ディスプレイ上のグラフィカルＵＩ要素の集合を、そのディスプレイ上の別のグラフィカルＵＩ要素の集合に切り替えることを意味してよい。
【００４１】
本発明の幾つかの実施形態を、三角形メッシュに関して説明することとする。但し、以下では三角形メッシュを例として取り上げるが、本発明の実施形態は、概して任意の種類の形状に適用されてよい。
【００４２】
三角形メッシュは、メッシュとしてグループ化される三角形と考えられてよい。三角形メッシュは、コンピュータグラフィックスにおいて、効率的な操作を可能にする為に一般的に使用される。コンピュータグラフィックスの文脈では、三角形メッシュは三角形の集合を包含してよく、三角形同士は共通のエッジ又はコーナによって接続されてよい。各三角形は一般に３次元であり、操作は、各三角形のコーナにおいて頂点に対して実施されてよい。従って、システムは各三角形に対して３つの頂点に作用することが可能であり、大きなメッシュは、例えば、１つの頂点でつながる８つ以上の三角形を含んでよい。従って、それらの頂点を一度だけ操作することにより、理想的な結果を達成する為に必要とされるのは作業のごく一部である。
【００４３】
パーティクルは三角形メッシュの一点であると考えられてよく、パーティクルを生成することは、パーティクルごとにメッシュのランダム三角形の内側のランダム点を選択することを含んでよい。いずれにせよ、注目すべきこととして、本発明の幾つかの実施形態は三角形メッシュに関して説明されているが、本発明は、他の適切な状況においても同様に適用可能であり、例えば、イメージベースの放出／移行、任意の種類のサーフェス／テクスチャデータ、ベクトルグラフィックス又はディスタンスフィールドとして表現されるイメージ又はテキストを形成する為の、ビットマップに基づく放出等に適用可能である。従って、本発明は三角形メッシュに限定されない。
【００４４】
幾つかの実施形態では、パーティクルメッシュエミッタ、即ち、一般にはパーティクルメッシュ形状エミッタは、メッシュ（例えば、視覚的ＵＩ要素）の形状に基づいてパーティクルを生成することが可能である。例えば、パーティクルメッシュエミッタは、存続期間が無限である特定の数のパーティクルを生成することが可能である。更に、パーティクルは、サーフェス上でランダムに、又は何らかの有意なパターンでサンプリングされてよく、或いは、メッシュの頂点に配置されてよい。更に、本発明の幾つかの実施形態では、パーティクルメッシュアフェクタ、即ち、一般にはパーティクル形状アフェクタは、移行時間の間にパーティクルを目標形状、例えば、視覚的ＵＩ要素に向けて動かすことが可能である。移行時間は、移行開始から移行終了までの時間と考えられてよい。本発明の幾つかの実施形態では、移行終了は目標時間であると考えられてよい。更に、幾つかの実施形態では、２つ以上のパーティクルメッシュアフェクタがあってよい。そのような場合は、別のパーティクルメッシュアフェクタがパーティクルに作用して、異なる移行を生成することが可能である。従って、幾つかの実施形態では、目標時間や目標形状が異なる２つのアルゴリズムが同時に実行されていてよい。
【００４５】
形状間（例えば、視覚的ＵＩ要素間）で、それらのオリジナルのフォーマットを制限することなく、滑らかな移行を実施する為に、中間表現が使用されてよい。例えば、視覚的ＵＩ要素の形状に基づいて中間表現を生成する為に、３Ｄパーティクルが使用されてよい。更に、幾つかの実施形態では、パーティクルは、パーティクルへの滑らかで連続的な移行、又は別の視覚的ＵＩ要素の形状に戻す滑らかで連続的な移行を生成する為に、移行の状態に基づいてディスプレイにフェードインされたり、ディスプレイからフェードアウトされたりしてよい。例えば、３Ｄパーティクルから視覚的ＵＩ要素のモーフ形状への移行は２つ以上の中間状態を含んでよく、それらの状態の間で動的移行が生成されてよい。
【００４６】
本発明の幾つかの実施形態において、一方法ではまず、各パーティクルエミッタに対してパーティクルバッファを作成してよい。その後、パーティクルエミッタのパーティクルバッファは、次のように更新されてよい。パーティクルごとに３Ｄメッシュから三角形が選択されてよく、その後、その三角形にある点も選択されてよい。その後、各パーティクルが、メッシュ上の点に適合する特性で初期化されてよい。
【００４７】
本方法ではその後、パーティクルエミッタの生成／更新が行われた後に、パーティクルエミッタに関連付けられたアフェクタを実行してよい。即ち、各パーティクルエミッタは、１つの形状アフェクタと、場合によっては１つ以上の他の、エミッタに関連付けられたアフェクタとに関連付けられている。アフェクタの実行は、現在時間に基づく目標時間、継続時間、及び各フレームに対する直前のメッシュ（現在のメッシュが変化した場合）を記憶することを含んでよい。その後、各パーティクルについて、シードされたランダムサンプルによって目標位置が取得されてよい。その後、目標位置に到達するまでの距離及び利用可能時間が計算されてよい。
【００４８】
本方法では、次に、距離及び時間から所望の速さを算出してよく、これは、現在の速さで目標に到達するまでどれだけ時間がかかるかを積分することによって求められ、これを使用して、補正された目標速さ／速度を計算することが可能である。更に、速さ／速度は、加重平均によって、補正された目標速さ／速度に向けて補正されてよい。但し、残り時間がゼロになった場合、又はゼロを下回った場合には、各パーティクルを目標位置まで直接動かしてよい。
【００４９】
第１の例として、図１を再度参照すると、異なるゲージ間の移行が、以下の方法で実施されてよい。第１に、本方法はセットアップ段階を含んでよい。セットアップ段階では、２つのメッシュが初期化されてよく、第１のメッシュが第１の形状、例えば、一視覚的ＵＩ要素（初期状態である、図１ａのセンタゲージ）に対応し、第２のメッシュが第２の形状、例えば、目標の視覚的ＵＩ要素（目標状態である、図１ｂの２つのサイドゲージのセット）に対応する。メッシュが初期化されたら、第１のメッシュに対して中間パーティクル表現が用意されてよい。任意選択の機能として、第１のメッシュのパーティクルは、用意された後に隠されてよい。
【００５０】
その後、パーティクルを第１のメッシュの形状に引き寄せる為に、パーティクルアトラクタがセットアップされてよい。更に、アトラクタに対して、移行の目標時間、即ち、終了時間が設定されてよい。これによって、セットアップ段階が完了する。更に、この時点で、必要に応じて、第２のメッシュが隠されてよい。
【００５１】
形状間の移行は、メッシュアトラクタの目標形状を切り替えることによって初期化されてよい。幾つかの実施形態では、オリジナルのメッシュはディスプレイからフェードアウトされてよく、一方、パーティクルの中間表現はディスプレイにフェードインされてよい。その後、移行では、パーティクルの中間表現がフェードアウトされて、新しいメッシュがフェードインされてよい。その後、移行段階は、パーティクルがその目標位置、及び可能な目標状態に達した時点で終了する。
【００５２】
第２の例として、単一形状間（例えば、単一の視覚的ＵＩ要素間）の移行が、以下の方法で実施されてよい。第１に、本方法はセットアップ段階を含んでよい。セットアップ段階では、メッシュデータに基づいて様々なメッシュが生成されてよい。生成されたメッシュのうちの１つが、初期メッシュとして選択されてよい。メッシュが作成されたら、初期メッシュに対してパーティクルを放出することによって、中間パーティクル表現が用意されてよい。任意選択の機能として、初期メッシュのパーティクルは、用意された後に隠されてよい。通常、セットアップ段階は、パーティクルがレンダリングされる前に実施される。
【００５３】
その後、パーティクルを第１のメッシュの形状に引き寄せる為に、パーティクルアトラクタがセットアップされてよい。更に、アトラクタに対して移行の継続時間が設定されてよい。移行の継続時間は、現在時間から目標時間を差し引くことによって計算されてよい。これによって、セットアップ段階が完了する。更に、この時点で、必要に応じて、第２のメッシュが隠されてよい。但し、幾つかの実施形態では、第２のメッシュを表示することは全く必須ではない。その後、移行は、メッシュアトラクタを新たなメッシュとして設定することによって実施されてよい。
【００５４】
更に、第３の例として、本発明の実施形態による一方法が以下のように説明可能である。第１の、平面メッシュが第２のメッシュとともに作成されてよく、第２のメッシュはビュー外にあり、即ち、ディスプレイ上にはない。そして、第１の、平面メッシュは、ディスプレイ上にコンテンツを描く為に使用されてよい。この後、ビュー外メッシュである第２の、目標メッシュに対してメッシュエミッタが設定されてよい。又、第２の、目標メッシュに対してメッシュアトラクタが設定されてよい。
【００５５】
目標メッシュに対してメッシュエミッタ及びメッシュアトラクタがセットアップされた後、メッシュエミッタを使用し、テクスチャ及びＵＶ座標として使用するマテリアルを第２のメッシュからセットアップするパーティクル表現の為にパーティクルが放出されてよく、それによって、パーティクルは、パーティクルなしでメッシュ上に表示されるものと同じイメージを表示している。幾つかの実施形態では、第１の、平面メッシュは隠されてよく、パーティクルは表示されてよい。
【００５６】
更に、移行インは、メッシュアフェクタの目標メッシュを平面メッシュに切り替えることによって実施されてよい。又、平面メッシュは移行の終了時にフェードインされてよく、パーティクルはフェードアウトされてよい。
【００５７】
移行アウトは、第１のメッシュをビュー外メッシュとして切り替えることによって実施されてよい。又、平面メッシュは、移行開始時にフェードアウトされてよい。そして、パーティクルはフェードインされてよい。移行終了時にパーティクルのレンダリングを試みることは必須でなくてよく、これは、パーティクルがいずれにしてもビュー外であってよい為である。
【００５８】
図２は、本発明の少なくとも幾つかの実施形態をサポートすることが可能な装置の一例を示す。図示されているのは装置２００であり、これは、例えば、図１の装置１１０を含んでよい。装置２００はプロセッサ２１０を含み、これは、例えば、シングルコア又はマルチコアのプロセッサを含んでよく、シングルコアプロセッサは１つの処理コアを含み、マルチコアプロセッサは２つ以上の処理コアを含む。プロセッサ２１０は、例えば、クアルコム（Ｑｕａｌｃｏｍｍ）社のＳｎａｐｄｒａｇｏｎ  ８００プロセッサを含んでよい。プロセッサ２１０は、２つ以上のプロセッサを含んでよい。処理コアは、例えば、アーム・ホールディングス（ＡＲＭ  Ｈｏｌｄｉｎｇｓ）社製のＣｏｒｔｅｘ−Ａ８処理コア、又はアドバンスト・マイクロ・デバイセズ社（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ  Ｃｏｒｐｏｒａｔｉｏｎ）製のＢｒｉｓｂａｎｅ処理コアを含んでよい。プロセッサ２１０は、少なくとも１つのクアルコム製Ｓｎａｐｄｒａｇｏｎプロセッサ及び／又はインテル（Ｉｎｔｅｌ）製Ａｔｏｍプロセッサを含んでよい。プロセッサ２１０は、少なくとも１つの特定用途向け集積回路（ＡＳＩＣ）を含んでよい。プロセッサ２１０は、少なくとも１つのフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含んでよい。プロセッサ２１０は、装置２００において方法ステップを実施する手段であってよい。プロセッサ２１０は、少なくとも部分的にはコンピュータ命令によって、アクションを実施するように構成されてよい。
【００５９】
装置２００は、メモリ２２０を含んでよい。メモリ２２０は、ランダムアクセスメモリ及び／又は永久メモリを含んでよい。メモリ２２０は、少なくとも１つのＲＡＭチップを含んでよい。メモリ２２０は、例えば、磁気メモリ、光学メモリ、半導体メモリ、及び／又はホログラフィックメモリを含んでよい。メモリ２２０は、少なくとも部分的には、プロセッサ２１０からアクセス可能であってよい。メモリ２２０は、情報を記憶する手段であってよい。メモリ２２０は、プロセッサ２１０が実行するように構成されているコンピュータ命令を含んでよい。メモリ２２０は、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）の形で実施されてもよい。特定のアクションをプロセッサ２１０に実施させるように構成されたコンピュータ命令がメモリ２２０に記憶されていて、装置２００全体が、メモリ２２０にあるコンピュータ命令を使用するプロセッサ２１０の指示で動作するように構成されている場合、プロセッサ２１０及び／又はその少なくとも１つの処理コアは、前記特定のアクションを実施するように構成されていると見なされてよい。
【００６０】
装置２００は、送信器２３０を含んでよい。装置２００は、受信器２４０を含んでよい。送信器２３０及び受信器２４０は、少なくとも１つの規格に従って情報を、それぞれ、送信及び受信するように構成されてよい。送信器２３０は、２つ以上の送信器を含んでよい。受信器２４０は、２つ以上の受信器を含んでよい。送信器２３０及び／又は受信器２４０は、例えば、イーサネット、パラレルバス、及び／又はシリアルバスの各規格に従って動作するように構成されてよい。
【００６１】
装置２００は、近距離無線通信（ＮＦＣ）送受信器２５０を含んでよい。ＮＦＣ送受信器２５０は、少なくとも１つのＮＦＣ技術をサポートしてよく、例えば、ＮＦＣ、Ｂｌｕｅｔｏｏｔｈ、Ｗｉｂｒｅｅ、又は同様の技術をサポートしてよい。
【００６２】
装置２００は、ユーザインタフェース（ＵＩ）２６０を含んでよい。ＵＩ２６０は、ディスプレイ、キーボード、タッチディスプレイ、フィジカルコントローラ、外部フィジカルコントローラ、外部フィジカルコントローラ用インタフェース、装置２００を振動させてユーザに合図するように構成された振動器、スピーカ、及びマイクのうちの少なくとも１つを含んでよい。ユーザは、ＵＩ２６０から装置２００を操作することが可能であってよく、例えば、移行パラメータを設定することが可能であってよい。
【００６３】
装置２００は、ユーザ識別モジュール２７０を含んでよく、又は受け入れるように構成されてよい。ユーザ識別モジュール２７０は、例えば、装置２００に設置可能な加入者識別モジュール（ＳＩＭ）カードを含んでよい。ユーザ識別モジュール２７０は、装置２００のユーザのサブスクリプションを識別する情報を含んでよい。ユーザ識別モジュール２７０は、装置２００のユーザの識別情報を検査すること、及び／又は、伝達される情報の暗号化と、装置２００によって実行される通信に関する、装置２００のユーザへの課金とを促進することに使用可能な暗号情報を含んでよい。
【００６４】
プロセッサ２１０は、情報を、プロセッサ２１０から、装置２００の内部の導線を介して、装置２００に含まれる他の装置に出力するように構成された送信器を備えてよい。そのような送信器はシリアルバス送信器を含んでよく、この送信器は、例えば、情報をメモリ２２０に記憶させる為に、少なくとも１つの導線を介してメモリ２２０に出力するように構成されてよい。シリアルバスの代替として、送信器はパラレルバス送信器を含んでよい。同様に、プロセッサ２１０は受信器を含んでよく、受信器は、装置２００に含まれる他の装置から、装置２００の内部の導線を介して、情報をプロセッサ２１０に受け入れるように構成されてよい。そのような受信器はシリアルバス受信器を含んでよく、この受信器は、例えば、情報をプロセッサ２１０で処理させる為に、受信器２４０から少なくとも１つの導線を介して受けるように構成されてよい。シリアルバスの代替として、受信器はパラレルバス受信器を含んでよい。
【００６５】
装置２００は、図２に示されていない更なる装置を含んでよい。プロセッサ２１０、メモリ２２０、送信器２３０、受信器２４０、及び／又はＵＩ２６０は、装置２００の内部の導線によって、多様な様式で相互接続されてよい。例えば、上述の装置のそれぞれは、装置２００の内部のマスタバスに個別に接続されてよく、これは、それらの装置同士が情報を交換することを可能にする為である。但し、当業者であれば理解されるように、これは一例に過ぎず、本発明の範囲から逸脱しない限り、実施形態に応じて、上述の装置のうちの少なくとも２つを相互接続する様々な方法が選択されてよい。
【００６６】
図３は、本発明の少なくとも幾つかの実施形態による一方法の第１のフローグラフを示す。図示された方法の各ステップは、例えば、装置２００及び／又は装置１１０によって実施されてよい。又、図示された方法の各ステップは、装置２００及び／又は装置１１０の動作を制御するように構成された制御装置に埋め込まれている場合にはその制御装置において実施されてよく、或いは、無線及び／又は有線の接続によりリモートで実施されてよい。本方法は、ユーザインタフェース（ＵＩ）用であってよく、例えば、グラフィカルユーザインタフェース（ＧＵＩ）用であってよい。
【００６７】
本方法では、まず、ステップ３１０で、第１の（初期）形状に関連付けられたパーティクルを生成するか、受け取ってよく、各パーティクルは第１の（初期）位置を有する。パーティクルの第１の位置は、第１の形状に関連付けられてよい。しかしながら、第１の形状は、幾つかの実施形態では、ＵＩ要素ではない何か他のものであってよい。例えば、第１の形状は、（例えば、形状アフェクタの場合には）形状の集合がない形で与えられてよい。例えば、パーティクルは後で、移行中に初期形状に基づいて生成されてよく、これは、例えば、第１の形状から生成されたパーティクルから第２の形状が現れるエフェクトを生成する為であってよい。ステップ３１０は更に、第１の位置をパーティクルの現在位置として、例えば、メモリの第１のアドレスに記憶させることを含んでよく、メモリは、パーティクル用のバッファ（パーティクルバッファ）を含んでよい。
【００６８】
幾つかの実施形態では、位置を有する目標形状がなくてよい。そのような場合、現在位置は目標位置と見なされてよく、本方法はいかなるアクションも実施しない。
【００６９】
しかしながら、幾つかの実施形態では、本方法は、任意の位置及び／又は他の属性で開始されてよく、これがパーティクルの初期形状と見なされてよい。パーティクル位置で規定される形状から更なる位置又は新たなパーティクルを生成することが可能でない場合がある。これは、位置を欠いた形状と見なされてよい。
【００７０】
幾つかの実施形態では、初期形状が位置を有する場合に、新たなパーティクルが放出されてよい。第１の形状は、パーティクルを全く持たずに存在してよい。このアルゴリズムの間に放出されたパーティクルは、この初期形状から位置を取得してよく、これは、例えば、パーティクルがフロアから放出されて第２の形状を作り上げるエフェクトにおいて行われてよい。
【００７１】
幾つかの実施形態では、生成された、又は受け取られたパーティクルは、少なくとも１つの第１の視覚的ＵＩ要素の形状に関連付けられてよく、即ち、第１の形状は、少なくとも１つの第１の視覚的ＵＩ要素の形状を意味してよい。そのような場合、パーティクルの第１の位置は、少なくとも１つの第１の視覚的ＵＩ要素の少なくとも１つの点を表してよい。
【００７２】
パーティクルを生成することは、少なくとも１つの第１の視覚的ＵＩ要素上の点をランダムに選択することを含んでよい。代替又は追加として、各パーティクルは、初期状態、例えば、物理的状態、及び／又は外観に作用する何らかの状態（例えば、特定の色）等を有してよい。
【００７３】
本方法は更に、パーティクルの現在位置が記憶された後に、移行をトリガする入力を受け取ることを含んでよい。この入力は、例えば、ユーザインタフェースをタッチするユーザから、又はイベントを検出するセンサからの入力であってよい。例えば、自動車の場合には、センサが、危険な状況や緊急事態を検出し、その結果として、運転者の注意を引く移行をトリガしてよい。
【００７４】
更に、本方法は又、ステップ３２０で、第１の形状からの第１の移行の第１の目標形状を含んでよい第２の形状の形状と、第１の移行の目標時間と、を算出することを含んでよい。幾つかの実施形態では、第２の形状は、少なくとも１つの第２の視覚的ＵＩ要素を含んでよい。移行の目標時間は、移行の所望継続時間を現在時間に加算することによって算出されてよい。
【００７５】
本方法は更に、ステップ３３０で、第２の形状（例えば、少なくとも１つの第２の視覚的ＵＩ要素）の形状に関連付けられたパーティクルの目標位置を生成して記憶することを含んでよい。この場合もパーティクルはメモリに記憶されてよい。例えば、三角形メッシュが目標形状として選択された場合、パーティクルの目標位置を生成することは、パーティクルごとにメッシュのランダム三角形の内側のランダム点を選択することを含んでよい。即ち、パーティクルごとに目標形状内の目標位置が選択される。場合によっては、パーティクルごとに第１の目標状態も選択及び記憶されてよい。一例として、本方法は、パーティクルを別の色でレンダリングすることを含んでよく、これは、例えば、第１の目標状態を、第１の状態とは異なる色で記憶することによって行われる。
【００７６】
本方法は、ステップ３３５で、新たなパーティクルを放出し、その新たなパーティクルの現在位置を生成して記憶することを含んでよい。これらの位置は、ステップ３１０で受け取られた初期形状に基づいて生成されてよい。
【００７７】
本方法は更に、ステップ３４０で、移行のステップサイズを時間単位で算出し、そのステップサイズのカウンタを始動させることを含んでよい。本方法は更に、ステップ３５０で、カウンタの満了時に、目標形状が変化したかどうかを判定することを含んでよい。目標形状が変化したかどうかを判定することによって得られる技術的効果は、移行中にオンザフライで目標形状を変更することによって移行を動的に制御することが可能なことである。
【００７８】
本方法はその後、ステップ３５２で、目標形状が変化したことを受けて、第２の移行の第２の目標形状及び第２の目標時間を算出することを含んでよい。その後、本方法は、ステップ３５４で、第２の目標形状に関連付けられたパーティクルの第２の目標位置を生成することを含んでよい。本方法は更に、ステップ３５６で、第２の目標時間を第１の目標時間として、並びに第２の目標位置を第１の目標位置として記憶することを含んでよい。
【００７９】
場合によっては、第２の目標状態もパーティクルごとに選択され、第１の目標状態として記憶されてよい。例えば、本方法は、目標形状が変化したことを受けて、目標形状の変化した部分に関連して、第２の目標状態を、第１の目標状態とは異なる色でレンダリングすることを含んでよい。更に、本方法は又、自動車の速度変化が検出された時点でパーティクルをその別の色でレンダリングすることを含んでよい。
【００８０】
第２の目標形状及び第２の目標時間は、第１の目標形状の場合と同様に算出されてよい。更に、パーティクルの第２の目標位置、及び場合によっては第２の目標状態は、第１の目標位置の場合と同様に、生成されて、メモリの第２のアドレスに記憶されてよい。更に、少なくとも１つの第２の視覚的ＵＩ要素の形状は、第２のアドレスに記憶されてよい。
【００８１】
幾つかの実施形態では、目標形状が変化したかどうかの判定は、目標形状が最後に修正されたのはいつかを、ログでチェックすることを含んでよい。目標形状がＵＩの最後の更新の後に修正されていれば、目標形状が変化したと判定されてよい。
【００８２】
或いは、少なくとも１つの第２の視覚的ＵＩ要素の形状のコピーが、メモリの第３のアドレスに記憶されてよい。従って、本方法は更に、メモリの第２のアドレスから取り出された少なくとも１つの第２の視覚的ＵＩ要素の形状を、メモリの第３のアドレスから取り出された少なくとも１つの第２の視覚的ＵＩ要素の形状のコピーと比較することを含んでよい。少なくとも１つの第２の視覚的ＵＩ要素の形状が少なくとも１つの第２の視覚的ＵＩ要素の形状のコピーと異なる場合は、目標形状が変化したと判定されてよい。目標形状の変化がどのように判定されたかにかかわらず、本方法は、目標形状が変化したことを受けて、ステップ３５４に進んでよい。
【００８３】
追加又は代替として、目標形状が変化したかどうかの判定は、メッシュ位置データが、記憶されているメッシュ位置データと一致しないこと、又はメッシュデータへのポインタが、記憶されているメッシュデータと一致しないことを検出することを含んでよい。更に、新たな目標形状を設定する関数が呼び出されてよい。
【００８４】
一般に、アルゴリズムが変化の情報を取得することが必要になる場合がある。形状は、比較可能なデータインスタンスによって表現されてよい。一致する２つのインスタンスは、例えば、それらが同じデータの別々のコピーで表現されている場合には別々であると見なされてよい。これらのコピーは、比較を可能にする為に別々のメモリアドレスにあってよい。
【００８５】
目標形状の変化の定義は、実施形態によって様々であってよい。例えば、目標形状の位置が変化することが含まれる場合、又は含まれない場合があり、それによって挙動が変わる。目標形状の変化が目標形状の位置の変化を含む場合は、移行全体が再度開始される可能性がある。従って、パーティクルは目標位置に向かって動くことになる。これに対し、目標形状の変化が目標形状の位置の変化を含まない場合は、移行全体が最初からは開始されずに目標形状が変化する可能性がある。
【００８６】
本方法は更に、ステップ３６０で、目標形状が位置を有するかどうかを判定することを含んでよい。例えば、場合によっては、目標形状がメモリにない場合があり、これは、例えば、目標形状が第２のアドレスから削除されている場合である。目標形状が削除されている場合は、方法ステップ３５２〜３５６によって、第１の目標が位置を有しないものとして更新されることになる。従って、そのような場合、ステップ３５０での、目標形状が変化したかどうかの判定は、目標形状が変化したことを示しうるが、それに加えて、目標がまだ位置を有しているかどうかをチェックすることが必要な場合がある。
【００８７】
代替又は追加として、本方法は、ステップ３６０で、目標位置が存在しないことを受けて、現在時間を目標時間として記憶することを含んでよく、現在位置は目標位置として定義されてよい。目標形状は、新たな位置を有することを必要としなくてよい。従って、目標形状は、アルゴリズムが実行されている場合は必ず存在しうるが、目標位置が欠落している可能性がある。即ち、この条件は、アルゴリズムがそれ以上実行されないように、アルゴリズムの移行部分を終了させる。即ち、位置が欠落している場合には、ただちに目標形状に到達して移行が完了するが、目標形状が常に存在しうる為に終了しない。
【００８８】
目標形状が、言い換えれば、位置を有するかどうかを判定することによって得られる技術的効果は動的制御にも関連しており、これは、それによって、移行中に目標形状を特定の目標に関連付けないことが可能になり、それによって、移行が実質的に終了する為である。例えば、目標形状／目標位置は現在形状／現在位置であるように定義されてよく、そうすると、全てのパーティクルがただちに目標に到達する為に移行が終了することになる。
【００８９】
本方法は、ステップ３７０で、第１の目標時間を現在時間と比較することを含んでよい。この比較の結果は残り時間であると見なされてよく、これは、第１の目標時間から現在時間を差し引くことによって計算されてよい。なお、幾つかの実施形態では、全てのパーティクルの目標時間が同じでなくてもよい。例えば、幾つかの実施形態では、新たなパーティクルの目標時間が、新たなパーティクルが生成された時間と所望継続時間との和として計算されてよい。
【００９０】
第１の目標時間が現在時間以下である場合、本方法は、先に進んで、ステップ３７２で、パーティクルの目標位置を第１の（初期）位置として記憶することを含んでよい。第１の目標時間が現在時間以下であるかどうかの判定は、パーティクルごとに行われてよい。従って、本方法は、目標時間がまだ経過していないパーティクルについて進められてよい。一般に、移行が終了したと見なされてよいのは、目標時間に達したとき、又は最初又は最後のパーティクルがその目標位置に到達したときである。
【００９１】
即ち、移行は、時間がなくなった場合、即ち、残り時間がゼロ以下の場合には、目標形状まで直接動いてよい。この後、移行は終了してよく、例えば、ステップ３３５に進んでよく、新たな移行を開始してよい。幾つかの実施形態では、ステップ３３５からステップ３４０まで、更にはステップ３５０まで動くことによって、アイドルループが生成されてよい。ステップ３５０で変化がない場合、アルゴリズムは、ステップ３６０及び３７０を経て、ステップ３７２まで動いてよい。ステップ３７２からは、位置がない場合、アルゴリズムはステップ３３５に戻ってよい。
【００９２】
一方、比較の結果、目標時間が現在時間より大きい場合（残り時間がゼロより大きい場合）、本方法は、ステップ３８０で、パーティクルの現在位置及び目標位置に基づいて、パーティクルの中間位置（中間位置は現在位置より目標位置に近い）を算出することと、パーティクルの中間位置を使用してグラフィカル出力をディスプレイに表示することによってユーザインタフェースを更新することと、を含んでよい。ディスプレイ上のグラフィカル出力は、携帯電話、自動車システム、航空機システム、船舶、産業機械、及び発電所のうちの少なくとも１つにおける現在の状態に関する情報を含んでよい。本方法は、ステップ３８０で、現在位置から各パーティクルの目標位置を差し引くことによって、各パーティクルの残り距離を計算することを含んでよい。本方法は更に、各パーティクルについて残り距離を残り時間で割ることによって目標速度／目標速さを算出することを含んでよい。
【００９３】
従って、幾つかの実施形態では、各パーティクルの中間位置を算出することは、目標速度／目標速さにステップサイズを掛けることを含んでよい。幾つかの実施形態では、視覚的に美しい外観が必要な場合に、所望速度に基づいて位置を変更する代わりに、古い速度／速さと所望の速度／速さの荷重平均が使用されてよい。ユーザインタフェースを更新することは、視覚的側面も含んでよい。例えば、視覚化は、パーティクルのみであってよく、或いは移行の開始時及び終了時で切り替わる提示であってよく、或いは他の何かであってよい。
【００９４】
中間位置が算出されたら、本方法は先に進んで、ステップ３９０で、中間位置を現在位置として記憶することを含んでよい。その後、本方法はステップ３９０からステップ３３５まで進んでよく、中間位置は、目標形状に向かって移行を続ける為の現在位置として使用されてよい。
【００９５】
図４は、本発明の少なくとも幾つかの実施形態による一方法の第２のフローグラフを示す。図示された方法の各段階は、例えば、装置２００及び／又は装置１１０において実施されてよい。又、図示された方法の各段階は、装置２００及び／又は装置１１０の動作を制御するように構成された制御装置に埋め込まれている場合にはその制御装置において実施されてよく、或いは、無線及び／又は有線の接続によりリモートで実施されてよい。本方法は、ユーザインタフェース（ＵＩ）用であってよく、例えば、グラフィカルユーザインタフェース（ＧＵＩ）用であってよい。
【００９６】
図３を参照すると、第２のフローグラフの段階４１０〜４９０は、図４のステップ３１０〜３９０に対応すると考えられてよい。段階４１０は、パーティクルを生成するか受け取ることを含んでよく、各パーティクルは、第１の形状に関連付けられた第１の位置を有する。更に、段階４２０は、第１の形状から第１の移行の為の第１の目標形状を形成する第２の形状と、第１の移行の為の第１の目標時間と、を含んでよく、段階４３０は、第２の形状に関連付けられたパーティクルの第１の目標位置を生成して記憶することを含んでよい。第２のフローグラフは更に、任意選択の段階４４０で、移行のステップサイズを算出し、そのステップサイズのカウンタを始動させることを含んでよい。
【００９７】
任意選択の段階４５０は、カウンタの満了時に、第２の形状が変化したかどうかを判定することを含んでよく、任意選択の段階４６０は、目標形状が目標位置を含むかどうかを判定することを含んでよいそして、段階４７０は、第１の目標時間を現在時間と比較すること（３７０）を含んでよい。第２のフローグラフは、段階４８０で、パーティクルの現在位置及び第１の目標位置に基づいて、（中間位置は現在位置より目標位置に近い）を算出することと、パーティクルの中間位置を使用してグラフィカル出力をディスプレイに表示することによってユーザインタフェースを更新することと、を含んでよく、段階４９０で、中間位置を現在位置として記憶することを含んでよい。
【００９８】
当然のことながら、開示された本発明の実施形態は、本明細書で開示された特定の構造、処理手順、又は材料に限定されず、当業者であれば理解されるであろう、その等価物まで拡張される。更に、当然のことながら、本明細書で使用された術語は、特定の実施形態の説明の為にのみ使用されており、限定的であることを意図されていない。
【００９９】
本明細書を通しての一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）又は一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）への参照は、その実施形態に関連して説明された特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。従って、本明細書全体の様々な場所での「一実施形態では（ｉｎ  ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」又は「一実施形態では（ｉｎ  ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」という語句の出現は、必ずしも全てが同じ実施形態を参照しているわけではない。例えば、約（ａｂｏｕｔ）又は大体（ｓｕｂｓｔａｎｔｉａｌｌｙ）等の語句を使用して数値が参照された場合は、厳密な数値も開示されている。
【０１００】
本明細書で使用されている複数のアイテム、構造要素、組成要素、及び／又は材料は、便宜上、一般的なリストに存在してよい。しかしながら、これらのリストは、リストの各要素が別個且つ固有の要素として個別に識別されるかのように解釈されるべきである。従って、そのようなリストの個々の要素は、反対の意味で示されているのでない限り、それらが一般的なグループに存在することに基づいて、同じリストの他の任意の要素の事実上の等価物としてのみ解釈されるべきである。更に、本明細書では、本発明の様々な実施形態及び実施例は、それらの様々な構成要素に関しては代替形態と併せて参照されてよい。当然のことながら、そのような実施形態、実施例、及び代替形態は、互いの事実上の等価物として解釈されるべきではなく、本発明の別個且つ独立の表現と見なされるべきである。
【０１０１】
一例示的実施形態では、装置（例えば、装置１１０等）が、上述の実施形態及びそれらの任意の組み合わせを実施する手段を含んでよい。
【０１０２】
一例示的実施形態では、コンピュータプログラムが、上述の実施形態及びそれらの任意の組み合わせによる方法を実施するように構成されてよい。一例示的実施形態では、非一時的コンピュータ可読媒体上で実施されているコンピュータプログラム製品が、上述の実施形態及びそれらの任意の組み合わせを含む方法を実施するようにプロセッサを制御するように構成されてよい。
【０１０３】
一例示的実施形態では、装置（例えば、装置１１０等）が、少なくとも１つのプロセッサと、コンピュータプログラムコードを含む少なくとも１つのメモリと、を含んでよく、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとともに、少なくとも、上述の実施形態及びそれらの任意の組み合わせを装置に実施させるように構成されている。
【０１０４】
更に、記載の特徴、構造、又は特性は、１つ以上の実施形態において任意の適切な様式で組み合わされてよい。ここまでの説明では、本発明の実施形態が十分理解されるように、長さ、幅、形状等の例など、様々な具体的詳細を示されている。しかしながら、当業者であれば理解されるように、本発明は、これらの具体的詳細のうちの１つ以上がなくても、或いは、他の方法、構成要素、材料等によっても実施可能である。他の例では、よく知られている構造、材料、又は動作が詳しく図示又は説明されていないが、これは、本発明の態様が曖昧にならないようにする為である。
【０１０５】
上述の各実施例は、本発明の原理を１つ以上の特定用途において例示したものであるが、当業者であれば明らかなように、発明的能力を行使することなく、且つ、本発明の原理及び概念から逸脱しない限り、実施態様の形式、用法、及び細部の様々な変更が行われてよい。従って、本発明は、後述の特許請求項によって限定される場合を除いて限定されないものとする。
【０１０６】
本文書では「含む（ｔｏ  ｃｏｍｐｒｉｓｅ）」及び「含む（ｔｏ  ｉｎｃｌｕｄｅ）」という動詞は、記載されていない特徴を排除することも、記載されていない特徴も存在することを必要とすることもない開放的限定（ｏｐｅｎ  ｌｉｍｉｔａｔｉｏｎｓ）として使用されている。従属請求項に記載された特徴は、特に別段に明記されない限りは、相互に自由に組み合わされてよい。更に、当然のことながら、「ａ」又は「ａｎ」、即ち、単数形の使用は、本文書全体を通して複数性を排除しない。
【産業上の利用可能性】
【０１０７】
本発明の少なくとも幾つかの実施形態は、グラフィカルユーザインタフェースにおいて産業利用され、例えば、乗り物の情報管理のケースでそのように利用される。
【０１０８】
頭字語一覧
ＡＳＩＣ  特定用途向け集積回路
ＣＲＴ  ブラウン管
ＣＵＩ  複合ユーザインタフェース
ＦＰＧＡ  フィールドプログラマブルゲートアレイ
ＬＥＤ  発光ダイオード
ＯＬＥＤ  有機ＬＥＤ
ＵＩ  ユーザインタフェース
【０１０９】
符号の説明
１１０  装置
１２０  ディスプレイ
２００〜２７０  図２の装置の構造
３００〜３９０  図３の方法の各ステップ
４００〜４９０  図４の方法の各段階
【図１】
2020170514.tif 000003
【図２】
2020170514.tif 000004
【図３】
2020170514.tif 000005
【図４】
2020170514.tif 000006
【外国語明細書】
2020170514000001.pdf