(57)【要約】【課題】オブジェクトの動作がユーザに自然に受け入れられるようにするとともに、汎用性の高いオブジェクトのアニメーション生成方法を提供することを目的とする。【解決手段】オブジェクトのアニメーションを表示する表示部２を備えた表示装置１において、物理モデルの挙動を記述した数式を設定する数式設定部５と、物理モデルの挙動を記述した数式に、時間が経つに伴い出力値が収束するようなパラメータを設定するパラメータ設定部６と、前記パラメータが設定された物理モデルの挙動を記述した数式に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成するアニメーション生成部７と、を備えている。【選択図】図１
2012068915.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトのアニメーション生成方法であって、
物理モデルの挙動を記述した数式を設定する数式設定ステップと、
該数式に、時間が経つに伴い出力値が収束するようなパラメータを設定するパラメータ設定ステップと、
該パラメータが設定された前記数式に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成するアニメーション生成ステップと、を備えたことを特徴とするアニメーション生成方法。
【請求項２】
前記物理モデルの挙動を記述した数式は、バネ・マス・ダンパモデルにおけるステップ応答についての時間領域の関数であることを特徴とする請求項１に記載のアニメーション生成方法。
【請求項３】
前記アニメーション生成ステップは、前記パラメータが設定された数式の時刻０から正規化された時刻の終了値までの時刻と出力値との関係に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成することを特徴とする請求項１又２に記載のアニメーション生成方法。
【請求項４】
前記パラメータが設定された数式の時刻０から正規化された時刻の終了値までの時刻と出力値との関係は、予め計算されテーブル化されていることを特徴とする請求項３に記載のアニメーション生成方法。
【請求項５】
前記パラメータは、角周波数と減衰係数であることを特徴とする請求項２乃至４のいずれか1項に記載のアニメーション生成方法。
【請求項６】
前記パラメータは、バネ係数と質量とダンパ係数であることを特徴とする請求項２乃至４のいずれか１項に記載のアニメーション生成方法。
【請求項７】
前記パラメータは、前記数式が入力値１のステップ応答に対して正規化された時間の終了値の出力値が１となるように設定されることを特徴とする請求項１乃至６のいずれか１項に記載のアニメーション生成方法。
【請求項８】
前記任意の値は、座標位置であることを特徴とする請求項１乃至７のいずれか１項に記載のアニメーション生成方法。
【請求項９】
前記任意の値は、エフェクト値であることを特徴とする請求項１乃至７のいずれか１項に記載のアニメーション生成方法。
【請求項１０】
請求項１乃至９のいずれか１項に記載のアニメーション生成方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムが格納されたコンピュータ読み取り可能な記憶媒体。
【請求項１２】
オブジェクトのアニメーションを生成する集積回路であって、
物理モデルの挙動を記述した数式を設定する数式設定手段と、
該数式に、時間が経つに伴い出力値が収束するようなパラメータを設定するパラメータ設定手段と、
該パラメータが設定された前記数式に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成するアニメーション生成手段と、を備えたことを特徴とする集積回路。
【請求項１３】
オブジェクトのアニメーションを表示する表示部を備えた表示装置であって、
物理モデルの挙動を記述した数式を設定する数式設定部と、
該数式に、時間が経つに伴い出力値が収束するようなパラメータを設定するパラメータ設定部と、
該パラメータが設定された前記数式に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成するアニメーション生成部と、を備えたことを特徴とする表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスのディスプレイ上に表示されたウィンドウ、文字、画像、映像等の表示オブジェクトのアニメーション生成方法、プログラム、記録媒体、集積回路、表示装置に関する技術である。
【背景技術】
【０００２】
近年、タッチパネルを備えた多種多様なデバイスが商品化されるに伴い、ユーザインタフェースの重要性が増してきている。近年のユーザインタフェースでは、例えば、録画コンテンツをリスト表示することによって視認性を向上させた動画選択方法、本棚を摸した画面に電子書籍を表示し、現実の本の選択と同じような手順で書籍を閲覧できる書籍閲覧方法、利用者の日常の行動を写真や映像などで記録したライフログ情報を表示する閲覧方法などが提供されている。これらの閲覧方法では、リスト表示やグリッド表示といった表示方法だけではなく、表示オブジェクト、例えば、動画、書籍画像、書籍タイトル、画像等のアニメーション方法も重要視されている。
【０００３】
例えば、特許文献１には、表示画面のスクロール時において、最大揺れ戻り値と最小揺れ戻り値との少なくともいずれかが設定された表示画面の揺れ戻りアニメーションと、スクロール速度に応じてスクロール速度の減速率が設定されるアニメーションとが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１０−５１５９７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、揺れ戻りアニメーションは、最大揺れ戻り値と最小揺れ戻り値の少なくともいずれかが設定されたとしても、設定した最大揺れ戻り値、若しくは、最小揺れ戻り値を満たすアニメーションが複数存在し、アニメーションの動作が一意に決まらなかった。このようなオブジェクトのアニメーションは、物理法則に従った揺れ戻りの動作ではなく、ユーザに不自然な印象を与える虞がある。また、アニメーションの動作が一意に決まらない為、任意の時間でアニメーションが終了することができず他の動作に転用し難かった。
【０００６】
また、スクロール速度に応じてスクロール速度の減速率が設定されるアニメーションは、速度が０の位置でアニメーションが終了となるため、予め指定する任意の位置を終了位置とすることができず、他の動作に転用し難かった。
【０００７】
本発明は、上述した実状に鑑みてなされたものであり、オブジェクトの動作がユーザに自然に受け入れられるようにするとともに、汎用性の高いオブジェクトのアニメーション生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の技術手段は、オブジェクトのアニメーション生成方法において、物理モデルの挙動を記述した数式を設定する数式設定ステップと、該数式に、時間が経つに伴い出力値が収束するようなパラメータを設定するパラメータ設定ステップと、該パラメータが設定された前記数式に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成するアニメーション生成ステップと、を備えたことを特徴としたものである。
【０００９】
第２の技術手段は、第１の技術手段において、前記物理モデルの挙動を記述した数式は、バネ・マス・ダンパモデルにおけるステップ応答についての時間領域の関数であることを特徴としたものである。
【００１０】
第３の技術手段は、第１又は第２の技術手段において、前記アニメーション生成ステップは、前記パラメータが設定された数式の時刻０から正規化された時刻の終了値までの時刻と出力値との関係に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成することを特徴としたものである。
【００１１】
第４の技術手段は、第３の技術手段において、前記パラメータが設定された数式の時刻０から正規化された時刻の終了値までの時刻と出力値との関係は、予め計算されテーブル化されていることを特徴としたものである。
【００１２】
第５の技術手段は、第２〜４のいずれか１の技術手段において、前記パラメータは、角周波数と減衰係数であることを特徴としたものである。
【００１３】
第６の技術手段は、第２〜４のいずれか１の技術手段において、前記パラメータは、バネ係数と質量とダンパ係数であることを特徴としたものである。
【００１４】
第７の技術手段は、第１〜６のいずれか１に記載の技術手段において、前記パラメータは、前記数式が入力値１のステップ応答に対して正規化された時間の終了値の出力値が１となるように設定されることを特徴としたものである。
【００１５】
第８の技術手段は、第１〜７のいずれか１に記載の技術手段において、前記任意の値は、座標位置であることを特徴としたものである。
【００１６】
第９の技術手段は、第１〜７のいずれか１に記載の技術手段において、前記任意の値は、エフェクト値であることを特徴としたものである。
【００１７】
第１０の技術手段は、第１〜９のいずれか１に記載の技術手段であるアニメーション生成方法の各ステップをコンピュータに実行させることを特徴としたプログラムである。
【００１８】
第１１の技術手段は、第１０に記載の技術手段であるプログラムが格納されたことを特徴としたコンピュータ読み取り可能な記憶媒体である。
【００１９】
第１２の技術手段は、オブジェクトのアニメーションを生成する集積回路において、物理モデルの挙動を記述した数式を設定する数式設定手段と、該数式に、時間が経つに伴い出力値が収束するようなパラメータを設定するパラメータ設定手段と、該パラメータが設定された前記数式に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成するアニメーション生成手段と、を備えたことを特徴とした集積回路である。
【００２０】
第１３の技術手段は、オブジェクトのアニメーションを表示する表示部を備えた表示装置において、物理モデルの挙動を記述した数式を設定する数式設定部と、該数式に、時間が経つに伴い出力値が収束するようなパラメータを設定するパラメータ設定部と、該パラメータが設定された前記数式に基づいて、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成するアニメーション生成部と、を備えたことを特徴とした表示装置である。
【発明の効果】
【００２１】
本発明に係るアニメーション生成方法によれば、アニメーションの生成に物理モデルの挙動を再現する数式を用いることによりオブジェクトが物理法則に従った自然な動作を行い、これによりオブジェクトの動作に意味を与え易く、ユーザがその動作を自然に受け入れることができる。
【００２２】
また、パラメータを変更することにより、多様なアニメーションを生成することができる。また、任意の値から任意の値へ任意の時間で、前記オブジェクトを変化させるアニメーションを生成するため、種々の動作に転用でき、汎用性の高いオブジェクトのアニメーションを提供することができる。
【図面の簡単な説明】
【００２３】
【図１】本実施形態に係る表示装置の概略構成を示す機能ブロック図である。
【図２】バネ・マス・ダンパ系の物理モデルを示す図である。
【図３】バネ・マス・ダンパ系の関数にパラメータの一例が設定された場合の出力を示す図である。
【図４】角周波数ωｎを２０.０に固定し、減衰係数ζを変更した場合のバネ・マス・ダンパ系の物理モデルの時間と出力を表すグラフである。
【図５】減衰係数ζを０.３３に固定し、角周波数ωｎを変更した場合のバネ・マス・ダンパ系の物理モデルの時間と出力を表すグラフである。
【図６】アニメーション生成方法の処理手順を示すフローチャートである。
【図７】バネ・マス・ダンパ系の関数をオブジェクトのＸ軸方向の座標値に適用した様子を示す図である。
【図８】バネ・マス・ダンパ系の関数をオブジェクトのＸ軸方向とＹ軸方向の座標値に適用した様子を示す図である。
【図９】バネ・マス・ダンパ系の関数をオブジェクトのＺ軸方向の座標値に適用した様子を示す図である。
【図１０】バネ・マス・ダンパ系の関数をオブジェクトの透明度のエフェクト値に適用した様子を示す図である。
【図１１】角周波数ωｎを２０.０に、減衰係数ζを０.１に設定した関数を正規化した様子を表すグラフである。
【発明を実施するための形態】
【００２４】
図１は、本実施形態に係る表示装置の概略構成を示す機能ブロック図である。図１に示すように、表示装置１は、表示部２と、入力部３と、記憶部４と、数式設定部５と、パラメータ設定部６と、アニメーション生成部７と、制御部８を備えている。
【００２５】
表示部２は、表示オブジェクトのアニメーションを表示する。表示部２は、例えば、液晶パネルや有機ＥＬパネルで構成される。
入力部３は、ユーザからの入力を受け付ける。入力部３は、例えば、タッチパネルや、キーや、マウス等によって構成される。
【００２６】
記憶部４は、ＲＯＭやＲＡＭといったメモリで構成されている。ＲＯＭは、フラッシュＥＥＰＲＯＭを含み、各種のデータやプログラム等を記憶する。例えば、記憶部４は、物理モデルの挙動を記述した数式も記憶される。
【００２７】
数式設定部５は、物理モデルの挙動を記述した数式を例えば、ＲＯＭから取り出して作業領域であるＲＡＭ上に設定する。図２を参照して、数式設定部５によって設定される物理モデルの挙動を記述した数式の一例であるバネ・マス・ダンパ系の数式を説明する。図２は、バネ・マス・ダンパ系を表した図である。
【００２８】
数式設定部５は、物理モデルの挙動を記述した数式として、例えば、バネ・マス・ダンパ系の数式を設定する。バネ・マス・ダンパ系は、機械制御、電気回路解析に用いられる力学モデルであり、機械制御に用いられることが多く、バネ定数や質量（マス）、ダンパ係数をどのような値にすれば、安定して機械を制御することができるかといった機械制御の解析に利用されるものである。
【００２９】
しかしながら、本発明のアニメーションの表示装置１では、機械制御の解析ではなく、この物理モデルが生成する時間に対する出力を、アニメーションの生成に利用する。このようにして生成されたアニメーションは、物理モデルが行う動作と同じになる。すなわち、人工的なアニメーションと異なり、重いものが動いている、軽いものが動いている、摩擦が発生するものが動いている、バネのようなものが動いているといったように、オブジェクトの動作に意味を与えることができる。
【００３０】
バネ・マス・ダンパの物理モデルを運動方定式で表すと下記の式１で表される。
【数１】
2012068915.tif 000003
なお、Ｆは力（ちから）、Ｍは質量、Ｂはダンパ係数、Ｋはバネ定数、ｘは変位を表している。（Ｍ＞０、Ｂ＞０、Ｋ＞０）
【００３１】
質量Ｍと時間ｔに対する変位ｘの２回微分（加速度）を乗算したものと、ダンパ係数Ｂと時間ｔに対する変位ｘの１回微分（速度）を乗算したものと、バネ定数と変位ｘとを乗算したものと、をそれぞれ足したものは、力（ちから）Ｆに等しいこと意味している。
【００３２】
次に、式１の運動方程式を、ラプラス変換を施すことにより、下記の式２で表される伝達関数Ｇ（ｓ）を得る。
【数２】
2012068915.tif 000004
ここで、ωｎは、角周波数を、ζは減衰係数を表す。なお、角周波数ωｎ及び減衰係数ζは、質量Ｍ、バネ定数Ｋ、ダンパ係数Ｂより算出することができる。
【００３３】
式２は、ラプラス変換におけるｓ領域で記述されているため、そのままアニメーションの生成に用いることができない。このため、下記の式３に示す時間領域の関数を求める。
【００３４】
式３は、バネ・マス・ダンパ系におけるステップ応答についての時間領域の関数である。
【数３】
2012068915.tif 000005
数式設定部５は、物理モデルの挙動を記述した数式として、例えば、式３を設定する。
【００３５】
パラメータ設定部６は、物理モデルの挙動を記述した関数（数式）に、時間が経つに伴い出力値が収束するようなパラメータを設定する。物理モデルの挙動を再現する数式は、時間が経つに伴い発散状態となるものも含むためである。具体的には、減衰係数ζを０＜ζ＜１の範囲の値で設定するとともにｔ＝１の出力が１となるようなパラメータを設定することが望ましい。すなわち、パラメータ設定部６は、物理モデルの挙動を記述した関数が入力値１のステップ応答に対して正規化された時間の終了値（１秒）の出力値が１となるようなパラメータを設定することが望ましい。
【００３６】
図３を参照して、バネ・マス・ダンパ系の関数にパラメータが設定される一例を説明する。図３は、バネ・マス・ダンパ系の関数にパラメータの一例が設定された場合の出力を示すグラフである。
図３のグラフは、例えば、角周波数ωｎを２０.０、減衰係数ζを０.３３に設定した時の時間に対する出力のグラフである。出力は、時刻ｔが０から１秒になるに伴い、１を中心に大きな振動から次第に小さな振動となり１に収束していく。
本願発明は、この出力値をアニメーションの生成に利用することにより、バネ、マス、ダンパを伴った物理モデルが持つ動作をアニメーションとして再現する。
【００３７】
図４及び図５を参照して、設定されるパラメータとアニメーションの変化との関係を説明する。図４は、角周波数ωｎを２０.０に固定し、減衰係数ζを変更した場合のバネ・マス・ダンパ系の物理モデルの時間と出力を表すグラフである。
減衰係数ζは、０.１、０.２、０.４、０.６、０.８と変更されると、Ｆ（ｔ）＝１を境に振動する大きさが小さくなり、Ｆ（ｔ）＝１に収束していく。すなわち、減衰係数ζが１に近づくに伴い振動が小さくなる。
【００３８】
減衰係数ζが小さいということは、ダンパ係数Ｂに比べ、質量Ｍとバネ定数の積が大きいことを示唆し（式２参照）、振動が起こり易いことを示している。一方、減衰係数ζが１に近づくと、ダンパ係数Ｂに比べ、質量Ｍとバネ定数の積とが等しいことを示唆し、互いにつり合い、振動が起こり難いことを示している。
以上により、減衰係数ζを変更することで、アニメーション生成の際、オブジェクトの振動の大きさを制御することができる。
【００３９】
図５は、減衰係数ζを０.３３に固定し、角周波数ωｎを変更した場合のバネ・マス・ダンパ系の物理モデルの時間と出力を表すグラフである。
角周波数ωｎは、２０.０、８.４、５.３、２.０と変更されると、Ｆ（ｔ）＝１を境に振動する大きさが不変で振動の周期が大きくなる。すなわち、角周波数ωｎが小さくなるに伴い振動の周期が長くなる。
【００４０】
角周波数ωｎが小さいということは、質量Ｍに対するバネ定数Ｋの比が小さいことを示唆し、バネ定数Ｋに対する質量Ｍの比が大きくなるに伴いゆっくりとした動きになることを示している。
以上により、減衰振動ζを固定し、角周波数ωｎを変更することで、アニメーション生成の際、オブジェクトの動作の機敏さを制御することができる。
【００４１】
なお、本実施形態では、角周波数と減衰係数をパラメータとする方法で説明したが、質量とバネ定数とダンパ係数をパラメータとするようにしても良い。
例えば、バネ定数を小さく設定し、ダンパ係数を大きく設定した場合、振動しないで時間が経つにつれ動きが小さくなるようなアニメーションが生成できる。また、バネ定数を大きく設定し、ダンパ係数を小さく設定すると、長い時間振動を繰り返すアニメーションが生成できる。
【００４２】
また、質量とバネ定数とダンパ係数をパラメータとした場合にバネ定数を０に設定すると、物理モデルは、ダンパと質量からなるモデル系とみなせる。この場合、時刻が０に近い部分は素早い立ち上がりとなり、急速にＦ（ｔ）＝１に近づく。その後、時刻が１に近づくに伴い緩やかにＦ（ｔ）＝１に近づくようなアニメーション（イーズアウトと呼ばれ一般的に用いられる）が実現可能となる。
以上に説明した通り、マス・バネ・ダンパ系の物理モデルの時間領域の関数のパラメータを変更することにより多様なアニメーションを生成することができる。
【００４３】
次に、物理モデルの挙動を記述した関数に、時間が経つに伴い出力値が収束するようなパラメータの設定方法を説明する。ここでは、例えば、整定時間を用いたパラメータの設定方法で説明する。整定時間とは、応答が収束値の許容値内に入るまでの時間のことをいう。ここで、収束値の許容値内とは、例えば、収束値の±２％（２％整定時間）のことをいう。
【００４４】
整定時間は、次式で計算する。Δには、０．０２（２％）が入り、次のように近似できる。
【数４】
2012068915.tif 000006
ここで、（０＜ζ＜１）とすると、式４より、以下の関係が得られる。
【数５】
2012068915.tif 000007
【００４５】
以上により、図４より、ζの値の違いによる応答を１つ選択した場合は、式５より、ωｎを決定することができる。なお、例えば、４／ωｎ＝ζとした場合は、時刻１で応答が２％の許容範囲に入る。この場合は、ζ＝０．１を選択した場合、ωｎ＝４０．０が決定し、ζ＝０．２を選択した場合、ωｎ＝２０．０が決定する。
【００４６】
なお、図３に示す例（ωｎ＝２０．０、ζ＝０．３３）は、式５を満たしている。また、図５に示すように、ζが一定だとすると、ωｎが小さくなると整定時間が長くなり、ωｎが大きくなると整定時間が短くなっていく（応答が収束した時間、すなわち、アニメーション動作が収束した状態が続く）。以上の特性から、ωｎ及びζのパラメータは、整定時間を１により近づけることが好ましい。
なお、収束値の許容値内を±２％で説明したがこれに限定されるものではなく、±１％、±５％でも良い。
【００４７】
アニメーション生成部７は、パラメータが設定された物理モデルの挙動を記述した数式に基づいて、任意の値から任意の値へ任意の時間で、オブジェクトを変化させるアニメーションを生成する。
パラメータが設定された物理モデルの挙動を記述した数式は、入力値１のステップ応答に対して正規化された時間の終了値（１秒）の出力値が１となることが望ましいが後述するように必須ではない。このパラメータが設定された物理モデルの挙動を記述した数式は、任意の値から任意の値へ任意の時間でオブジェクトを変化させる際、基となる動き（正規化された動き）を決定する値を出力する。
【００４８】
式６は、任意の値から任意の値へ、任意の時間で行うアニメーションを生成するための式である。
【数６】
2012068915.tif 000008
【００４９】
前述した式３は、正規化された時間範囲（０≦ｔ≦１）の値を使うため、式６により、任意の時間への変換と、任意の値への変換を行う。なお、ｔは時刻、ｄはアニメーション時間、ｔ′は正規化された時刻、Ｐ´は時刻ｔ′におけるアニメーション値、Ｐｓｔａｒｔはオブジェクトの初期値（任意の値）、Ｐｅｎｄはオブジェクトの終了値（任意の値）を示し、Ｆ（ｔ′）は、式３のｘ（ｔ）である。ここで、アニメーション値は、例えば、オブジェクトの座標値、透明度等のエフェクト値等である。
【００５０】
具体的に式６を用いて時刻ｔにおけるアニメーション値Ｐ´を計算する方法を説明する。式６に示す通り、時刻ｔをアニメーション時間ｄによって除算することにより、時刻ｔを正規化し、正規化された時刻ｔ′（０≦ｔ′≦１）を用いて時刻ｔ′におけるアニメーション値Ｐ´を計算する。そして、ｔ＝ｄｔ′より、正規化された時間ｔ′からアニメーション時間ｄでの時刻ｔに変換する。これにより、アニメーション時間ｄでの時刻ｔにおけるアニメーション値Ｐ´を求めることができる。
【００５１】
以上により、時刻ｔに応じたアニメーション値Ｐ´を求めることができ、オブジェクトを時刻毎のアニメーション値Ｐ´に基づいて変化させることによりアニメーションを生成することができる。
【００５２】
制御部８は、以上に説明した各部を総括的に制御するものでＣＰＵ８ａを有している。ＣＰＵ８ａは、表示装置１の本体を総括的に制御する制御手段として機能する中央処理装置である。ＣＰＵ８ａは、ＲＯＭに格納されたプログラムをＲＡＭに読み込ませて実行させる一種のコンピュータである。
【００５３】
図６を参照して、本発明のアニメーション生成方法の一例を説明する。図６は、アニメーション生成方法の処理手順を示すフローチャートである。
本発明に係るアニメーションの表示装置は、数式設定部５がバネ・マス・ダンパ系の関数（物理モデルの挙動を記述した数式）を設定し（ステップＳ１）、パラメータ設定部がバネ・マス・ダンパ系の関数のパラメータである角周波数ωｎと減衰係数ζを設定する（ステップＳ２）。
【００５４】
次に、アニメーション生成部７は、時刻ｔをアニメーション時間ｄで除算することにより、時刻ｔを正規化した正規化時刻ｔ′（０≦ｔ′≦１）を計算し（ステップＳ３）、正規化された時刻ｔ′を初期化し（ステップＳ４）、ステップＳ５へ進む。ここでいう時刻ｔとは、０秒〜ｄ秒の範囲の変数である。
【００５５】
アニメーション生成部７は、正規化された時刻ｔ′におけるアニメーション値Ｐ´を求める（ステップＳ５）とともにアニメーション時間ｄでの時刻ｔを求め（ステップＳ６）、ｔ′が正規化された時間（０≦ｔ′≦１）を終了したかどうかを判断する（ステップＳ７）。
【００５６】
ステップＳ７において、アニメーション生成部７は、正規化された時刻である１秒を経過した場合、終了する。１秒を経過していない場合は、正規化された時刻ｔ′に時間分解能値（例えば、０.１秒）を加算し（ステップＳ８）、再びステップＳ５へ戻る。
【００５７】
図７乃至図９を参照して、バネ・マス・ダンパ系の関数のグラフと生成されるアニメーションとの関係を説明する。図７は、バネ・マス・ダンパ系の関数をオブジェクトのＸ軸方向の座標値に適用した様子を示す図である。
【００５８】
図７を参照して、バネ・マス・ダンパ系の関数をオブジェクトのＸ軸方向の座標値に適用した様子を説明する。すわわち、Ｐ´(ｔ′)は、正規化された時刻ｔ′におけるオブジェクトのＸ軸の座標値を表す。
【００５９】
アニメーションは、各々の箱が左へバネのような動きで移動する。移動後は、１番の箱の位置に２番の箱が移動し、２番の箱の位置に３番の箱が移動し、３番の箱の位置に４番の箱が移動する。なお、バネ・マス・ダンパ系の関数は、図３で示す角周波数ωｎを２０.０、減衰係数ζを０.３３に設定した関数を用いる。また、アニメーション時間ｄは１秒とする。すなわち、それぞれの箱は、１秒間かけて移動するものとする。よって、ここでは、ｔ′＝ｔである。
【００６０】
なお、Ｘ軸は、表示部の左右方向とする。そして、表示部の表示領域は、左端がＸ座標値０、右端がＸ座標値６である。そして、箱の幅が２、箱と箱の間隔が１であるとすると、図７に示す［１］において、それぞれの箱の座標位置は、１番の箱がＸ＝−１、２番の箱がＸ＝２、３番の箱がｘ＝５、４番の箱がｘ＝８である。ここで、オブジェクトである箱は、座標値０≦Ｘ≦６の間で表示され、０＞Ｘ、６＜Ｘで非表示となる。なお、座標値は、箱の左部分を基準とする。
【００６１】
そして、それぞれの箱の時刻ｔにおけるＸ座標値Ｐ´は、以下の式で表される。
１番の箱のＰ´＝−１−３＊Ｆ(ｔ)          （ｔ：[０，１]）
２番の箱のＰ´＝  １番の箱のＰ´＋３      （ｔ：[０，１]）
３番の箱のＰ´＝  ２番の箱のＰ´＋３      （ｔ：[０，１]）
４番の箱のＰ´＝  ３番の箱のＰ´＋３      （ｔ：[０，１]）
なお、３＊Ｆ(ｔ)の係数３は、箱の幅が２、箱と箱の間隔が１であることから３となる。
【００６２】
それぞれの箱は、時刻ｔが０から１になる間に左方向へ、Ｘ座標値がＦ（ｔ）で再現される物理モデルに基づいて初期座標値から最終座標値へ図７の［１］〜［９］に示すように移動する。
なお、それぞれの箱に対して同じパラメータが設定されたバネ・マス・ダンパ系の関数を用いる態様で説明したが、箱ごとにパラメータの値を変えても良い。例えば、オブジェクトが映像データのサムネイルだった場合、短時間の映像は、ζを小さく、長時間の映像は、ζを大きく設定する。これにより、ユーザは、映像のサムネイルの動きから映像時間の長短を理解することができる。
【００６３】
この場合におけるそれぞれの箱の時刻ｔにおけるＸ座標値Ｐ´を式６で表すと、以下の式で表される。Ｆ１(ｔ)〜Ｆ４(ｔ)のそれぞれには、映像時間に応じたζが設定される。
１番の箱のＰ´＝−１＋Ｆ１(ｔ) ＊（−４−（−１））  （ｔ：[０，１]）
２番の箱のＰ´＝  ２＋Ｆ２(ｔ) ＊（−１−  ２）      （ｔ：[０，１]）
３番の箱のＰ´＝  ５＋Ｆ３(ｔ) ＊（  ２−  ５）      （ｔ：[０，１]）
４番の箱のＰ´＝  ８＋Ｆ４(ｔ) ＊（  ５−  ８）      （ｔ：[０，１]）
【００６４】
図８を参照しながら、オブジェクトがＸ軸方向、Ｙ軸方向の両軸に対して動く、すなわち画面の斜め方向に動くアニメーションを生成する場合について説明する。この場合、バネ・マス・ダンパ系の関数は、Ｘ軸方向とＹ軸方向の座標値に適用される。図８は、バネ・マス・ダンパ系の関数をオブジェクトのＸ軸方向とＹ軸方向の座標値に適用した様子を示す図である。
【００６５】
図７で示したアニメーションと同様にバネ・マス・ダンパ系の関数は、図３で示す角周波数ωｎを２０.０、減衰係数ζを０.３３のパラメータを設定した時の関数を用いた。また、アニメーション時間ｄは１秒、すなわち、ｔ′＝ｔとした。
オブジェクトの座標位置は、表示部の左右方向をＸ軸とし、上下方向をＹ軸とすると、座標位置(ｘ、ｙ)＝（Ｐ´、Ｐ´）と表され、オブジェクトが図の［１］〜［９］に示すように画面表示される。
【００６６】
図９を参照しながら、バネ・マス・ダンパ系の関数をＺ軸方向の座標値とした場合を説明する。図９は、バネ・マス・ダンパ系の関数をオブジェクトのＺ軸方向の座標値に適用した様子を示す図である。
【００６７】
先と同様にバネ・マス・ダンパ系の関数は、図３で示す角周波数ωｎを２０.０、減衰係数ζを０.３３のパラメータを設定した時の関数を用いた。また、アニメーション時間ｄは１秒、すなわち、ｔ′＝ｔとした。
オブジェクトは、表示部の表示領域に直交する方向をＺ軸とすると、オブジェクトのＺ軸の座標値がＦ（ｔ）で再現される物理モデルに基づいて初期座標値から最終座標値へ［１］〜［９］に示すように移動する。
【００６８】
また、バネ・マス・ダンパ系の関数をオブジェクトのＸ軸方向の座標値に適用する態様で説明したが、Ｙ軸、Ｚ軸方向にも同様にバネ・マス・ダンパ系の関数を適用し、Ｘ軸、Ｙ軸、Ｚ軸でオブジェクトを動かしても良い。各軸は、同じパラメータが設定されたバネ・マス・ダンパ系の関数でも良いし、パラメータを変化させたものでも良い。
【００６９】
図１０を参照しながら、バネ・マス・ダンパ系の関数をオブジェクトの透明度のエフェクト値に適用した場合を説明する。図１０は、バネ・マス・ダンパ系の関数をオブジェクトの透明度のエフェクト値に適用した様子を示す図である。
バネ・マス・ダンパ系の関数は、図５で示す角周波数ωｎを２０.０、減衰係数ζを０.３３のパラメータを設定した関数を用いた。また、アニメーション時間ｄは１秒、すなわち、ｔ′＝ｔとした。
【００７０】
なお、図５で示す角周波数ωｎを２０.０、減衰係数ζを０.３３のパラメータを設定した関数は、ｔ＝１のとき、出力値が１となっていない。しかし、出力値は、厳密に１である必要はなく、知覚上問題がないほど１に近い値（例えば、出力値１に対して２％以内の範囲の値）であれば、時刻毎にｔ＝１のときの出力値で除算することにより、時刻ｔ＝１のときの出力値を１に正規化してアニメーションの生成に用いることができる。
オブジェクトは、透明度のエフェクト値がＦ(ｔ)の出力値に基づいて設定され、オブジェクトが［１］〜［５］に示すように、透明な状態から見える状態へと画面表示される。
【００７１】
以上に説明した通り本発明に係るアニメーションの表示装置１は、表示部に表示されたウィンドウ、文字、画像、映像の表示オブジェクトの動きに関して、物理モデルの挙動を再現する関数を用いることにより、重いものが動いている、軽いものが動いている、摩擦のあるものが動いている、バネのようなものが動いているといった、実際に物理的なものが動く現象を再現することができる。これにより、このアニメーションは、オブジェクトの動作に意味を与え易く、ユーザがその動作を理解し自然に受け入れることができる。
【００７２】
また、物理モデルの挙動を再現する関数のパラメータを変更することにより、多様なアニメーションを生成することができる。
また、物理モデルの挙動を再現する関数は、ｔ＝１のとき、出力が１をとるようにパラメータが設定されることにより、この関数の時刻及び出力値が正規化値となり、この関数の時刻０から時刻１までの時刻と出力値との関係を基にして任意の値から任意の値へ任意の時間で変化するアニメーションを生成することができる。これにより、一度、パラメータを決定すれば、煩雑なパラメータ計算なしで任意の値から任意の時間で変化するアニメーションを生成することができる。
【００７３】
なお、パラメータ設定部６は、物理モデルの挙動を記述した関数にｔ＝１のとき、出力が１となるようなパラメータを設定する態様で説明したがこれに限定されるものではない。
例えば、パラメータが設定された物理モデルの挙動を記述した関数（ステップ応答）の０から任意の時間の動きをアニメーションの生成に用いても良い。この場合、任意の時間を１とする正規化を行うとともに任意の時間での出力値を１とする正規化を行う。この際、物理モデルの挙動を記述した関数は、その出力が時間の経過に伴い１近傍に収束しているようにパラメータ設定されていることが好ましく、オブジェクトがより自然な動きとなる。
例えば、図１１は、角周波数ωｎを２０.０に、減衰係数ζを０.１に設定した関数の出力値を正規化した様子を示すグラフであり、実線が正規化前の関数の出力を示し、点線が正規化後の関数による出力を示す。
【００７４】
また、例えば、あるパラメータが設定された数式が時間ｔ２のとき、出力値が１であったとして（すなわち、この関数の値が出力１となる時間ｔ１、ｔ２、ｔ３…の１つを選択する場合）、この時間ｔ２のときの出力値が１である関数の時間と出力値との関係を用いて任意の値から任意の値へ、任意の時間でアニメーションを生成させても良い。このようなｔ２のときの出力値が１である関数をアニメーションの生成に用いると、アニメーション終了時に外部から何らかの作用によって動作が止められたような動きを再現することができる。
【００７５】
また、所定のパラメータが設定された数式は、時刻０から正規化された時刻の終了値（１）まで逐次計算しても良いし、時刻０から正規化された時刻の終了値（１）までの時刻と出力値との関係を予め対応付けしてテーブル化させておいても良い。この場合は、数式を計算する計算コストを少なくすることができる。実際にこのテーブルを用いて計算する場合は、適宜テーブル化された値を省略、補間する。
【００７６】
例えば、１秒で動作することを前提としたテーブルを利用して、２秒で動作するアニメーションを生成する場合は、テーブルに記述された隣り合う値を線形補完する。
また、例えば、１秒で動作することを前提としたテーブルを利用して、０．５秒で動作するアニメーションを生成する場合は、１つおきにテーブルの値を参照する。
【００７７】
また、時間分解能値を０.１秒で説明したがこれに限定されるものではない。時間分解能値は、図６において、前回にステップＳ８の処理が行われてから、再度ステップＳ８の処理が行われるまでに経過した時間（画面更新の間隔、必要とされる時刻に応じた経過時間）であってもよい。
【００７８】
また、実施の形態で説明した機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行なっても良い。なお、「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００７９】
製品端末機器の有する制御プログラムとして、例えばＪｉｎｉ対応の製品端末機器であれば、インタープリタであるＪａｖａＶＭ（Virtual Machine）（登録商標）により、製品端末機器上でＪａｖａ（登録商標）プログラムとして、実行させることが可能である。
【００８０】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また前記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００８１】
また、上述した実施形態における表示装置１の一部、又は全部を典型的には集積回路であるＬＳＩ（Large Scale Integration）として実施しても良い。表示装置１の各機能ブロックは、個別にチップ化しても良いし、一部、又は全部を集積してチップ化しても良い。また、集積回路化の手法は、ＬＳＩに限らず専用回路、又は汎用プロセッサで実現しても良い。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いることも可能である。
【符号の説明】
【００８２】
１…表示装置、２…表示部、３…入力部、４…記憶部、５…数式設定部（数式設定手段）、６…パラメータ設定部（パラメータ設定手段）、７…アニメーション生成部（アニメーション生成手段）、８…制御部、８ａ…ＣＰＵ。
【図１】
2012068915.tif 000009
【図２】
2012068915.tif 000010
【図３】
2012068915.tif 000011
【図４】
2012068915.tif 000012
【図５】
2012068915.tif 000013
【図６】
2012068915.tif 000014
【図７】
2012068915.tif 000015
【図８】
2012068915.tif 000016
【図９】
2012068915.tif 000017
【図１０】
2012068915.tif 000018
【図１１】
2012068915.tif 000019