特許第5655142号(P5655142)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許5655142ウィンドウオブジェクト慣性移動の実現方法及び実現装置
<>
  • 特許5655142-ウィンドウオブジェクト慣性移動の実現方法及び実現装置 図000002
  • 特許5655142-ウィンドウオブジェクト慣性移動の実現方法及び実現装置 図000003
  • 特許5655142-ウィンドウオブジェクト慣性移動の実現方法及び実現装置 図000004
  • 特許5655142-ウィンドウオブジェクト慣性移動の実現方法及び実現装置 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5655142
(24)【登録日】2014年11月28日
(45)【発行日】2015年1月14日
(54)【発明の名称】ウィンドウオブジェクト慣性移動の実現方法及び実現装置
(51)【国際特許分類】
   G06F 3/0488 20130101AFI20141218BHJP
【FI】
   G06F3/048 620
【請求項の数】10
【全頁数】17
(21)【出願番号】特願2013-516988(P2013-516988)
(86)(22)【出願日】2011年7月6日
(65)【公表番号】特表2013-533550(P2013-533550A)
(43)【公表日】2013年8月22日
(86)【国際出願番号】CN2011076909
(87)【国際公開番号】WO2012003799
(87)【国際公開日】20120112
【審査請求日】2013年2月22日
(31)【優先権主張番号】201010223457.0
(32)【優先日】2010年7月7日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】506379493
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100104215
【弁理士】
【氏名又は名称】大森 純一
(74)【代理人】
【識別番号】100117330
【弁理士】
【氏名又は名称】折居 章
(74)【代理人】
【識別番号】100123733
【弁理士】
【氏名又は名称】山田 大樹
(74)【代理人】
【識別番号】100168181
【弁理士】
【氏名又は名称】中村 哲平
(74)【代理人】
【識別番号】100168745
【弁理士】
【氏名又は名称】金子 彩子
(74)【代理人】
【識別番号】100170346
【弁理士】
【氏名又は名称】吉田 望
(74)【代理人】
【識別番号】100176131
【弁理士】
【氏名又は名称】金山 慎太郎
(72)【発明者】
【氏名】レン ミン
(72)【発明者】
【氏名】ジャン チアン
(72)【発明者】
【氏名】ガオ シャンドン
【審査官】 萩島 豪
(56)【参考文献】
【文献】 特開平05−100809(JP,A)
【文献】 特開2004−117830(JP,A)
【文献】 特表2008−508600(JP,A)
【文献】 特表2012−507077(JP,A)
【文献】 特開2012−014524(JP,A)
【文献】 特開2011−258151(JP,A)
【文献】 特開2011−242820(JP,A)
【文献】 特開2011−133701(JP,A)
【文献】 特開2011−118477(JP,A)
【文献】 特開2010−198483(JP,A)
【文献】 特開2009−277117(JP,A)
【文献】 特開2009−123208(JP,A)
【文献】 特開2008−217742(JP,A)
【文献】 特開2007−018040(JP,A)
【文献】 特表2003−512668(JP,A)
【文献】 特開平10−161628(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/03 − 3/033
G06F 3/048 − 3/0488
G06F 3/041
G06F 3/01
G06F 3/14
(57)【特許請求の範囲】
【請求項1】
入力デバイスの初期接触動作を監視し、初期接触座標と接触時間を記録し、第1のタイマーを開始するステップAと、
ウィンドウオブジェクトをドラッグする過程において、ユーザが入力デバイスを介してスクリーンで生じさせた前時点からの変位量と回転量を取得するイベントを、第1のタイマーによって周期的にトリガーし、取得された変位量と回転量をウィンドウオブジェクトに伝送するステップBと、
ユーザがウィンドウオブジェクトをリリースする際に、ウィンドウオブジェクトの線速度の初速度と角速度の初速度を取得し、第2のタイマーを開始するステップCと、
前記線速度の初速度と角速度の初速度に基づいて、線速度の減速度と角速度の減速度からウィンドウオブジェクトの現在の変位量と回転量を取得するイベントを、第2のタイマーによって周期的にトリガーし、取得された現在の変位量と回転量をウィンドウオブジェクトに伝送するステップDと、
第2のタイマーの現在の時間における線速度の初速度と角速度の初速度が0以下である場合、ウィンドウオブジェクト慣性移動処理を中止するステップEと
を含むことを特徴とするウィンドウオブジェクト慣性移動の実現方法。
【請求項2】
ユーザは、一つ又は複数の接触点で入力デバイスを介して前記ウィンドウオブジェクトをドラッグし、
接触点が複数の場合、デバイス番号が最小である2つの接触点で前記変位量と回転量を取得することを特徴とする
請求項1に記載のウィンドウオブジェクト慣性移動の実現方法。
【請求項3】
接触点が一つの場合、
ステップBの前記変位量と回転量の取得においては、
i−1からTまでの変位量(ΔX,ΔY)は、次式
(ΔX,ΔY)=(X−Xi−1,Y−Yi−1
で表され、
ここで、(X,Y)は第1のタイマーのT時間における接触点の座標ベクトルであり、(Xi−1,Yi−1)は第1のタイマーのTi−1時間における接触点の座標ベクトルであり、
i−1からTまでの回転量αは、次式
α=arcos[u.v/(|u||v|)]
で表され、
ここで、回転中心座標はウィンドウオブジェクトの中心座標(C,C)であり、uは第1のタイマーのT時間における接触点座標と回転中心座標との間のベクトルであり、即ちu=(X−C,Y−C)であり、vは第1のタイマーのTi−1時間における接触点座標と回転中心座標との間のベクトルであり、即ちv=(Xi−1−C,Yi−1−C)であり、
ステップCの前記線速度の初速度Vと角速度の初速度Vaの取得においては、
線速度の初速度Vは、次式
V=(X−Xn−1,Y−Yn−1)/(T−Tn−1)=(X−Xn−1,Y−Yn−1)/Δt
で表され、
ここで、(X,Y)は、入力デバイスがウィンドウオブジェクトをリリースした際、第1のタイマーの最後の時間であるT時間における接触点の座標ベクトルであり、(Xn−1,Yn−1)は、Tn−1時間における接触点の座標ベクトルであり、Δtは、第1のタイマーのタイミング間隔であり、
角速度の初速度Vaは、次式
Va=arcos[u.v/(|u||v|)]/(T−Tn−1)=arcos[u.v/(|u||v|)]/Δt
で表され、
ここで、uは、入力デバイスがウィンドウオブジェクトをリリースした際、第1のタイマーのT時間における接触点座標(X,Y)と回転中心座標(C,C)との間のベクトルであり、即ちu=(X−C,Y−C)であり、vは第1のタイマーのTn−1時間における接触点座標と回転中心座標との間のベクトルであり、即ちv=(Xn−1−C,Yn−1−C)である
ことを特徴とする請求項2に記載のウィンドウオブジェクト慣性移動の実現方法。
【請求項4】
接触点が複数の場合、
ステップBの前記変位量と回転量の取得においては、
i−1からTまでの変位量(ΔX,ΔY)は、次式
(ΔX,ΔY)=(CX−CXi−1,CY−CYi−1
で表され、
ここで、(CX,CY)、(CXi−1,CYi−1)はそれぞれ、デバイス番号が最小である2つの接触点の第1のタイマーのT時間とTi−1時間に対応する中心点座標であり、
i−1からTまでの回転量αは、次式
α=arcos[u.v/(|u||v|)]
で表され、
ここで、uは第1のタイマーのT時間におけるデバイス番号が最小である2つの点によって形成されたベクトルであり、vは第1のタイマーのTi−1時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトルであり、
ステップCの線速度の初速度Vと角速度の初速度Vaの取得においては、
線速度の初速度Vは、次式
V=(CX−CXn−1,CY−CYn−1)/(T−Tn−1)=(CX−CXn−1,CY−CYn−1)/Δt
で表され、
ここで、(CX,CY)、(CXn−1,CYn−1)は、それぞれ、入力デバイスがウィンドウオブジェクトをリリースした際に、デバイス番号が最小である2つの接触点の第1のタイマーの最後の時間であるT時間とTn−1時間において形成されたベクトルの中心点座標であり、Δtは第1のタイマーのタイミング間隔であり、
角速度の初速度Vaは、次式
Va=arcos[u. v/(|u||v|)]/(T−Tn−1)=arcos[u. v/(|u||v|)]/Δt
で表され、
ここで、uは、入力デバイスがウィンドウオブジェクトをリリースした際、第1のタイマーの最後の時間であるT時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトルであり、vはTn−1時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトルである
ことを特徴とする請求項2に記載のウィンドウオブジェクト慣性移動の実現方法。
【請求項5】
ステップDの前記線速度の減速度と角速度の減速度からのウィンドウオブジェクトの現在の変位量と回転量の取得においては、
第2のタイマーの第T時間に対応する変位量(ΔX,ΔY)は、次式
(ΔX,ΔY)=(V−VdecTg)Tg
で表され、
第2のタイマーの第T時間に対応する回転量αは、次式
α=(Va−VadecTg)Tg
で表され、
ここで、Vdecは線速度の減速度であり、Vadecは角速度の減速度であり、Vは第2のタイマーの第T時間における線速度の初速度であり、Vaは第2のタイマーのT時間における角速度の初速度であり、Tgは第2のタイマーのタイミング間隔であり、入力デバイスがウィンドウオブジェクトをリリースした後の第2のタイマーの1番目の時間における線速度の初速度と角速度の初速度は、ステップCで取得された線速度の初速度と角速度の初速度である
ことを特徴とする請求項1〜4のいずれか1項に記載のウィンドウオブジェクト慣性移動の実現方法。
【請求項6】
入力デバイスがスクリーンドでウィンドウオブジェクトをドラッグする動作を取得し、対応する制御情報を生成する接触点取得ユニットと、
接触点取得ユニットにから送信された制御情報に応じて、ウィンドウオブジェクトのドラッグ効果を実現し、入力デバイスがウィンドウオブジェクトをリリースする際に、線速度の初速度と角速度の初速度を取得し、取得した線直速度の初速度と角速度の初速度を慣性処理ユニットに送信するドラッグ処理ユニットと、
ドラッグ処理ユニットから送信された線速度の初速度と角速度の初速度に基づいて、線速度の減速度と角速度の減速度から慣性移動効果を実現する慣性処理ユニットと
を含むことを特徴とするウィンドウオブジェクト慣性移動の実現装置。
【請求項7】
前記接触点取得ユニットによって生成された前記制御情報は、
入力デバイスが最初にウィンドウオブジェクトに接触するときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトの最初の接触を示す識別子とを含む入力デバイス初期制御情報と、
入力デバイスがウィンドウオブジェクトを移動させるときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトのドラッグを示す識別子とを含む入力デバイス動向制御情報と、
入力デバイスがウィンドウオブジェクトを移動するときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトのリリースを示す識別子とを含む入力デバイスリリース制御情報と
を含むことを特徴とする請求項6に記載のウィンドウオブジェクト慣性移動の実現装置。
【請求項8】
前記ドラッグ処理ユニットは、
接触点取得ユニットから送信された初期制御情報を受信した場合に第1のタイマーを開始し、接触点取得ユニットから送信された動向制御情報から、前記第1のタイマーのトリガーに従って第1のタイマーの現在の時間におけるウィンドウオブジェクトの変位量と回転量を取得し、取得した変位量と回転量をウィンドウオブジェクトに送信する第1移動処理ユニットと、
接触点取得ユニットから送信されたリリース制御情報を受信した後、線速度の初速度と角速度の初速度を取得し、取得した線速度の初速度と角速度の初速度を慣性処理ユニットに送信する初速度処理ユニットと
を含むことを特徴とする請求項6又は7に記載のウィンドウオブジェクト慣性移動の実現装置。
【請求項9】
接触点が一つの場合に、
前記第1移動処理ユニットによる前記変位量と回転量の取得においては、
i−1からTまでの変位量(ΔX,ΔY)は、次式
(ΔX,ΔY)=(X−Xi−1,Y−Yi−1
で表され、
ここで、(X,Y)は第1のタイマーのT時間における接触点の座標ベクトルであり、(Xi−1,Yi−1)は第1のタイマーのTi−1時間おける接触点に対応する座標ベクトルであり、
i−1からTまでの回転量αは、次式
α=arcos[u.v/(|u||v|)]
で表され、
ここで、回転中心座標はウィンドウオブジェクトの中心座標(C,C)であり、uは第1のタイマーのT時間に対応する接触点座標と回転中心座標との間のベクトルであり、即ちu=(X−C,Y−C)であり、vは第1のタイマーのTi−1時間における接触点座標と回転中心座標との間のベクトルであり、即ちv=(Xi−1−C,Yi−1−C)であり、
前記初速度処理ユニットによる前記線速度の初速度Vと角速度の初速度Vaの取得においては、
線速度の初速度Vは、次式
V=(X−Xn−1,Y−Yn−1)/(T−Tn−1)=(X−Xn−1,Y−Yn−1)/Δt
で表され、
ここで、(X,Y)は、入力デバイスがウィンドウオブジェクトをリリースした際、第1のタイマーの最後の時間であるT時間における接触点の座標ベクトルであり、(Xn−1,Yn−1)はTn−1時間における接触点の座標ベクトルであり、Δtは第1のタイマーのタイミング間隔であり、
角速度の初速度Vaは、次式
Va=arcos[u. v/(|u||v|)]/(T−Tn−1)=arcos[u.v/(|u||v|)]/Δt
で表され、
ここで、uは第1のタイマーのT時間における接触点座標(X,Y)と回転中心座標(C,C)との間のベクトルであり、即ちu=(X−C,Y−C)であり、vは第1のタイマーのTn−1時間における接触点座標と回転中心座標との間のベクトルであり、即ちv=(Xn−1−C,Yn−1−C)であり、
接触点が複数の場合に、
前記第1移動処理ユニットによる前記変位量と回転量の取得においては、
i−1からTまでの変位量(ΔX、ΔY)は、次式
(ΔX、ΔY)=(CX−CXi−1,CY−CYi−1
で表され、
ここで、(CX,CY)、(CXi−1,CYi−1)は、それぞれ、デバイス番号が最小である2つの接触点の第1のタイマーのT時間とTi−1時間における中心点座標であり、
i−1からTまでの回転量αは、次式
α=arcos[u. v/(|u||v|)]
で表され、
ここで、uは第1のタイマーのT時間におけるデバイス番号が最小である2つの点によって形成されたベクトルであり、vは第1のタイマーのTi−1時間におけるデバイス番号が最小である2つの点によって形成されたベクトルであり、
前記初速度処理ユニットによる前記線速度の初速度Vと角速度の初速度Vaの取得においては
線速度の初速度Vは、次式
V=(CX−CXn−1,CY−CYn−1)/(T−Tn−1)=(CX−CXn−1,CY−CYn−1)/Δt
で表され、
ここで、(CX,CY)、(CXn−1,CYn−1)はそれぞれ、入力デバイスがウィンドウオブジェクトをリリースした際に、デバイス番号が最小である2つの接触点の第1のタイマーの最後の時間であるT時間とTn−1期間において形成されたベクトルの中心点座標であり、Δtは第1のタイマーのタイミング間隔であり、
角速度の初速度Vaは、次式
Va=arcos[u. v/(|u||v|)]/(Tn−Tn−1)=arcos[u. v/(|u||v|)]/Δt
で表され、
ここで、uは、入力デバイスがウィンドウオブジェクトをリリースした際に、第1のタイマーの最後の時間であるT時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトルであり、vはTn−1時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトルである
ことを特徴とする請求項8に記載のウィンドウオブジェクト慣性移動の実現装置。
【請求項10】
前記慣性処理ユニットによる前記線速度の減速度と角速度の減速度からのウィンドウオブジェクトの現在の変位量と回転量の取得においては、
第2のタイマーのT時間における変位量(ΔX,ΔY)は、次式
(ΔX,ΔY)=(V−VdecTg)Tg
で表され、
第2のタイマーのT時間における回転量αは、次式
α=(Va−VadecTg)Tg
で表され、
ここで、Vdecは線速度の減速度であり、Vadecは角速度の減速度であり、Vは第2のタイマーのT時間における線速度の初速度であり、Vaは第2のタイマーのT時間における角速度の初速度であり、Tgは第2のタイマーのタイミング間隔であり、入力デバイスがウィンドウオブジェクトをリリースした後の第2のタイマーの1番目の時間における線速度の初速度と角速度の初速度はステップCで取得された線速度の初速度と角速度の初速度である
ことを特徴とする請求項8に記載のウィンドウオブジェクト慣性移動の実現装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチスクリーン装置のソフトウェア操作インターフェースの設計技術に関し、特に、ウィンドウオブジェクト慣性移動の実現方法及び実現装置に関する。
【背景技術】
【0002】
近年、インターネットインスタントメッセージツールは、数多くのネットワーク市民に受け入れられ、ユーザにとって必要不可欠なソフトウェアツールとなっている。
【0003】
このインターネットインスタントメッセージツールは、娯楽のみならず、仕事でも広く使用されている。このため、インスタントメッセージ(IM:Instant Messsaging)ソフトウェアの使いやすさ、安定性、安全性等に対して高い要求が存在する。
【0004】
技術の発展につれて、iPhone(登録商標)等のタッチ製品は次第に普及している。慣性を用いて実体化(realize materialization)を実現する設計が徐々に主流になっている。
【0005】
慣性を用いて実体化を実現する従来の設計では、ユーザは直線的なタッチ操作により、線速度に基づくリストやウェブページの慣性的スクロールを実現できるが、回転の場合での「角速度」に基づく慣性効果を処理させることができない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
これに鑑みて、本発明の主な目的は、ウィンドウオブジェクトの線速度と角速度に基づく慣性移動効果を実現するためのウィンドウオブジェクト慣性移動の実現方法及び実現装置を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の技術的スキームは、以下のように実現される。
【0008】
ウィンドウオブジェクト慣性移動の実現方法は、
入力デバイスの初期接触動作を監視し、初期接触座標と接触時間を記録し、第1のタイマーを開始するステップAと、
ウィンドウオブジェクトをドラッグする過程において、ユーザが入力デバイスを介してスクリーンで生じさせた前時点からの変位量と回転量を取得するイベントを、第1のタイマーによって周期的にトリガーし、取得された変位量と回転量をウィンドウオブジェクトに伝送するステップBと、
ユーザがウィンドウオブジェクトをリリースする際に、ウィンドウオブジェクト線速度の初速度と角速度の初速度を取得し、第2のタイマーを開始するステップCと、
前記線速度の初速度と角速度の初速度に基づいてして、線速度の減速度と角速度の減速度からウィンドウオブジェクトの現在の変位量と回転量を取得するイベントを、第2のタイマーによって周期的にトリガーし、取得された現在の変位量と回転量をウィンドウオブジェクトに伝送するステップDと、
第2のタイマーの現在の時間における線速度の初速度と角速度の初速度が0以下である場合、ウィンドウオブジェクト慣性移動処理を中止するステップEとを含む。
【0009】
更に、前記方法において、ユーザは、一つ又は複数の接触点で入力デバイスを介して前記ウィンドウオブジェクトをドラッグし、接触点が複数の場合、デバイス番号が最小である2つの接触点で前記変位量と回転量を取得する。
【0010】
上記方法に基づいて、本発明は、ウィンドウオブジェクト慣性移動の実現装置を更に提供する。
【0011】
ウインドウオブジェクト慣性移動の実現装置は、
入力デバイスがスクリーンドでウィンドウオブジェクトをドラッグする動作を取得し、対応する制御情報を生成する接触点取得ユニットと、
接触点取得ユニットから送信された制御情報に応じて、ウィンドウオブジェクトのドラッグ効果を実現し、入力デバイスがウィンドウオブジェクトをリリースする際に、線速度の初速度と角速度の初速度を取得し、取得した線速度の初速度と角速度の初速度を慣性処理ユニットに送信するドラッグ処理ユニットと、
ドラッグ処理ユニットから送信された線速度の初速度と角速度の初速度に基づいて、線速度の減速度と角速度の減速度から慣性移動効果を実現する慣性処理ユニットとを含む。
【0012】
更に、前記接触点取得ユニットによって生成された前記制御情報は、
入力デバイスが最初にウィンドウオブジェクトに接触するときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトの最初の接触を示す識別子とを含む入力デバイス初期制御情報と、
入力デバイスがウィンドウオブジェクトを移動させるときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトのドラッグを示す識別子とを含む、入力デバイス動向制御情報と、
入力デバイスがウィンドウオブジェクトを移動するときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトのリリースを示す識別子とを含む入力デバイスリリース制御情報とを含む。
【0013】
更に、前記ドラッグ処理ユニットは、
接触点取得ユニットから送信された初期制御情報を受信した場合に第1のタイマーを開始し、接触点取得ユニットから送信された動向制御情報から、前記第1のタイマーのトリガーに従って第1のタイマーの現在の時間におけるウィンドウオブジェクトの変位量と回転量を取得し、取得した変位量と回転量をウィンドウオブジェクトに送信する第1移動処理ユニットと、
接触点取得ユニットから送信されたリリース制御情報を受信した後、線速度の初速度と角速度の初速度を取得し、取得した線速度の初速度と角速度の初速度を慣性処理ユニットに送信する初速度処理ユニットとを含む。
【0014】
本発明に係る技術的解決法の適用によって、ウィンドウオブジェクトの線速度と角速度に基づく慣性移動効果が実現され、操作が容易になり、実体化のインターフェースと操作を介して、ターミナルソフトウェアの使いやすさが向上し、ユーザ体験が改善される。
【図面の簡単な説明】
【0015】
図1】本発明に係るウィンドウオブジェクト慣性移動効果を実現する装置の構造の模式図である。
図2】接触点が一つの場合の変位量と回転量の取得に係るベクトルダイアグラムである。
図3】接触点が複数の場合の変位量と回転量の取得に係るベクトルダイアグラムである。
図4】本発明に係るウィンドウオブジェクトの移動についてのフローチャートである。
【発明を実施するための形態】
【0016】
本発明の基本的な着想は、ユーザがマウス又は指でウィンドウオブジェクトを移動させるプロセスに基づいて、実体化処理を実行し、ユーザがドラッグ操作を終了させた後、慣性処理ユニットを介して、マウスのドラッグボタンがリリースされたとき又は、指が離されたとき線速度と角速度から、移動オブジェクトの慣性移動を実現する。
【0017】
本発明における移動オブジェクトとは、例えば、マウス又はタッチスクリーンに基づく指のドラッグ動作に応答可能なウィンドウオブジェクトインスタンスである。前記ウィンドウオブジェクトは自身のインターフェース属性、方法属性及びデータ属性を有し、ウィンドウインターフェースのトリガーイベントに応答できる。
【0018】
例えば、Windowオペレーティングシステムを例にとると、ウィンドウオブジェクトは連絡先情報を表示するウィンドウとすることができる。ウィンドウオブジェクトはユーザによるクリックや移動操作に応答するイベントファンクションを有し、幅(Width)や高さ(Height)、ウィンドウ中心点を回転中心とする回転角度(Angle)、ウィンドウ中心点の横座標(CenterX)、ウィンドウ中心点の縦座標(CenterY)といったインターフェース属性を含む。
【0019】
記載の便宜のために、以下の説明では、動作場面はユーザが指又はマウスを用いてインスタントメッセージの連絡先で代表されるウィンドウオブジェクトインスタンス(記載の便宜のために、以下、ウィンドウオブジェクトと略称する)を移動させるものとする。ユーザが一定の速度でウィンドウオブジェクトを移動させ、瞬間的に指又はマウスボタンを離すと、ウィンドウオブジェクトは慣性の作用によってそれまでの移動軌跡に沿って、移動と回転を継続し、摩擦力(減速度)の作用によって次第に静止状態となる。
【0020】
本発明の目的、技術的解決法及び利点が明らかになるように、以下、実施形態を挙げて、且つ図面を参照して、本発明を更に詳しく説明する。
【0021】
図1は本発明に係るウィンドウオブジェクト慣性移動効果を実現する装置の構造の模式図である。この装置は接触点取得ユニット101、ドラッグ処理ユニット102及び慣性処理ユニット103を含む。
【0022】
接触点取得ユニット101は、入力デバイスがスクリーンでウィンドウオブジェクトをドラッグする操作を取得し、対応する制御情報を生成する。
【0023】
前記入力デバイスは、タッチスクリーン、マウス、ワードパッド等のウィンドウ移動を実現できる装置を含む。
【0024】
前記制御情報は、(1)入力デバイスがウィンドウオブジェクトに最初に接触したときの位置、時間、デバイス番号、ウィンドウオブジェクトへの初期接触を示す識別子等を含む。入力デバイス初期制御情報を含む。
【0025】
また、前記制御情報は、(2)入力デバイスがウィンドウオブジェクトを移動させているときの位置、時間、デバイス番号、ウィンドウオブジェクトをドラッグしていることを示す識別子等を含む入力デバイス動向制御情報を含む。
【0026】
また、前記制御情報は、(3)入力デバイスがウィンドウオブジェクトをリリースし、ドラッグを終了させるときの位置、時間、デバイス番号、ウィンドウオブジェクトをリリースすることを示す識別子等を含む入力デバイスリリース制御情報を含む。
【0027】
接触点取得ユニット101は、本発明に係る前記装置とオペレーティングシステムとの間のインターフェースユニットである。接触点取得ユニット101は、オペレーティングシステムのウィンドウオブジェクトに対する動作をリアルタイムに監視し、入力デバイスによって生成された制御情報を取得し、制御情報をドラッグ処理ユニットに伝送する。ドラッグ処理ユニットは
ウィンドウオブジェクトに対するドラッグ効果を実現する。
【0028】
例えば、マウス又は指が押され、移動された場合に、接触点取得ユニット101は、マウスの押圧イベント又は指のタッチイベントを取得して、ドラッグ処理ユニット102に初期制御情報を送信する。初期制御情報は接触点の位置座標、現在の時間、デバイス番号、ウィンドウオブジェクトのドラッグのためにマウスの左ボタン又は指が押されたことを識別する識別子等を含む。
【0029】
前記デバイス番号は、異なる入力デバイスを区別することに用いられ、マルチタッチの場合には、例えばユーザが同時に2つの指を用いてウィンドウオブジェクトにタッチすると、異なる時点でタッチスクリーンに接触した指に対応するデバイス番号は異なる。
【0030】
ドラッグ処理ユニット102は、接触点取得ユニット101から送信された制御情報に応じて、ウィンドウオブジェクトのドラッグ効果を実現する。
【0031】
前記ドラッグ処理ユニット102は、第1の移動処理ユニットと初速度処理ユニットを含む。
【0032】
第1の移動処理ユニットは、接触点取得ユニット101から送信された初期制御情報を受信した場合に、第1のタイマーTimer1を開始する。第1の移動処理ユニットは、Timer1によるトリガーに従って、接触点取得ユニット101から送信された動向制御情報から、Timer1の現在の時間におけるウィンドウオブジェクトの変位量と回転量を取得し、取得した変位量と回転量をウィンドウオブジェクトに送信する。
【0033】
初速度処理ユニットは、接触点取得ユニット101から送信されたリリース制御情報を受信した後、線速度の初速度と角速度の初速度を取得し、取得した線速度の初速度と角速度の初速度を慣性処理ユニットに送信する。
【0034】
ウィンドウオブジェクトのドラッグ効果を実現する方法は、具体的には、
(1)ドラッグ処理ユニット102が、接触点取得ユニット101から送信された初期制御情報を受信した後、初期接触点の位置座標情報(X,Y)、初期接触時間T及びデバイス番号を記録する。
【0035】
(2)マウス又は指が押され、移動するとき、ドラッグ処理ユニット102は時間Δt毎にマウス又は指の位置(X,Y)、現在の時間T及びデバイス番号を記録し、前回の記録時点に対する変位量と回転量を取得し、相対的な変位量と回転量をウィンドウオブジェクトに送信する。ウィンドウオブジェクトはドラッグ効果を実現するための自身の属性値を設定する。
【0036】
例えば、ウィンドウオブジェクトの中心座標属性が(CenterX,CenterY)であり、回転角度属性がAngleであり、T時間にウィンドウオブジェクトから取得された現在の変位量が(ΔX,ΔY)であり、現在の回転量がαである場合に、ウィンドウオブジェクトは自身の中心座標属性値と回転角度属性値を以下のように設定する。
【0037】
CenterX=CenterX+ΔX
CenterY=CenterY+ΔY
Angle=Angle+α
【0038】
ウィンドウオブジェクトは、上記の中心座標属性値と回転角度属性値を設定することによって、ウィンドウオブジェクトのインターフェース再描画ファンクションをトリガーし、新たな座標位置において新たな回転角度でウィンドウオブジェクトを表示する。
【0039】
(3)入力デバイスがウィンドウオブジェクトをリリースした場合、即ちマウスのボタンがリリースされ、又は指が離された場合、接触点取得ユニット101はリリース制御情報をドラッグ処理ユニット102に送信する。ドラッグ処理ユニット102はリリース前のTimer1の最後の時間において取得された変位量と回転量に従って、線速度の初速度と角速度の初速度を取得する。
【0040】
上記変位量、回転量、線速度の初速度、角速度の初速度の取得は、シングルポイント接触とマルチポイント接触との2種類のケースに分けられる。
【0041】
(1)図2に示すようにシングルポイント接触の場合、変位量、回転量、線速度の初速度、角速度の初速度の取得方法は、以下のようになる。
【0042】
i−1からTまでの変位量(ΔX,ΔY)は次式で表される。
(ΔX,ΔY)=(X−Xi−1,Y−Yi−1
ここで、(X,Y)はTimer1のT時間における接触点の座標ベクトルであり、(Xi−1,Yi−1)はTimer1のTi−1時間における接触点の座標ベクトルである。
【0043】
i−1からTまでの回転量αは、次式で表される。
α=arcos[u.v/(|u||v|)]
ここで、回転中心座標はウィンドウオブジェクトの中心座標(C,C)であり、uはTimer1のT時間における接触点座標と回転中心座標との間のベクトルであり、即ちu=(X−C,Y−C)となる。vはTimer1のTi−1時間における接触触点座標と回転中心座標との間のベクトルであり、即ちv=(Xi−1−C,Yi−1−C)となる。
【0044】
入力デバイスがウィンドウオブジェクトをリリースした際の線速度の初速度Vは、次式で表される。
V=(X−Xn−1,Y−Yn−1)/(T−Tn−1)=(X−Xn−1,Y−Yn−1)/Δt
ここで、(X,Y)は、入力デバイスがウィンドウオブジェクトをリリースした際、Timer1の最後の時間であるT時間における接触点の座標ベクトルであり、(Xn−1,Yn−1)はTn−1時間における接触点の座標ベクトルである。
【0045】
Δtを基準単位時間に設定すると、上記の式は次式のように単純化することができる。
V=(X−Xn−1,Y−Yn−1
【0046】
入力デバイスがウィンドウオブジェクトをリリースした際の角速度の初速度Vaは次式で表される。
Va=arcos[u.v/(|u||v|)]/(T−Tn−1)=arcos[u. v/(|u||v|)]/Δt
ここで、uはTimer1のT時間における接触点座標(X,Y)と回転中心座標(C,C)との間のベクトルであり、即ちu=(X−C,Y−C)である。vはTimer1のTn−1時間における接触点座標と回転中心座標との間のベクトルであり、即ちv=(Xn−1−C,Yn−1−C)である。
【0047】
Δtを基準単位時間に設定すると、上記の式は次式のように単純化することができる。
Va=arcos[u.v/(|u||v|)]
【0048】
(2)図3に示すようにマルチポイント接触の場合、デバイス番号が最小である2つの点のみが考慮され、変位量、回転量、線速度の初速度、角速度の初速度の取得方法次のようになる。
【0049】
仮に、デバイス番号が最小である2つの接触点の、Timer1のTi−1時間における座標が(Xi−1,d0,Yi−1,d0)と(Xi−1,d1,Yi−1,d1)であり、T時間における座標が(Xi,d0,Yi,d0)と(Xi,d1,Yi,d1)であるとする。ここで、d0とd1はデバイス番号である。この2つの接触点のTi−1時間とT時間における中心の座標ベクトルはそれぞれ、次式で表される。
(CX,CY)=((Xi,d0+Xi,d1)/2,(Yi,d0+Yi,d1)/2)
(CXi−1,CYi−1)=((Xi−1,d0+Xi−1,d1)/2,(Yi−1,d0+Yi−1,d1)/2)
【0050】
i−1からTまでの変位量(ΔX,ΔY)は次式で表される。
(ΔX,ΔY)=(CX−CXi−1,CY−CYi−1
【0051】
入力デバイスがウィンドウオブジェクトをリリースするときの、Timer1のT時間に対応する線速度の初速度Vは次式で表される。
V=(CX−CXn−1,CY−CYn−1)/(T−Tn−1)=(CX−CXn−1,CY−CYn−1)/Δt
ここで、(X,CY)、(CXn−1,CYn−1)はそれぞれ、入力デバイスがウィンドウオブジェクトをリリースするときに、デバイス番号が最小である2つの接触点のTimer1の最後の時間であるT時間とTn−1時間に形成されたベクトルの中心点座標であり、ΔtはTimer1のタイミング間隔である。
【0052】
Δtを基準単位時間に設定すると、上記の式を次式のように単純化することができる。
V=(CX−CXn−1,CY−CYn−1
【0053】
マルチポイント接触の場合、回転量を取得する際に、デバイス番号が最小である2つの接触点のみが考慮される。、Ti−1時間における2つの接触点を結ぶ線と、T時間における2つの接触点を結ぶ線の交点は回転量を取得する際の中心点となる。
【0054】
時間における2つの接触点の座標が(Xi,d0,Yi,d0)と(Xi,d1,Yi,d1)であり、Ti−1時間における2つの接触点の座標が(Xi−1,d0,Yi−1,d0)と(Xi−1,d1,Yi−1,d1)である場合、回転量を取得するための回転中心座標は、次式で表される。
(Cx,Cy)=((Xi,d0+Xi,d1)/2,(Yi,d0+Yi,d1)/2)
【0055】
i−1からTまでの回転量αは、次式で表される。
α=arcos[u. v/(|u||v|)]
ここで、uはTimer1のT時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトル(Xi,d0−Xi,d1,Yi,d0−Yi,d1)である。vはTimer1のTi−1時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトル(Xi−1,d0−Xi−1,d1,Yi−1,d0−Yi−1,d1)である。
【0056】
入力デバイスがウィンドウオブジェクトをリリースするときの、Timer1のT時間に対応する回転量角速度の初速度Vaは、次式で表される。
Va=arcos[u.v/(|u||v|)]/(T−Tn−1)=arcos[u. v/(|u||v|)]/Δt
ここで、uは入力デバイスがウィンドウオブジェクトをリリースするときの、Timer1の最後の時間であるT時間における、デバイス番号が最小である2つの接触点によって形成されたベクトル(Xn,d0−Xn,d1,Yn,d0−Yn,d1)である。vはTn−1時間における、デバイス番号が最小である2つの接触点によって形成されたベクトル(Xn−1,d0−Xn−1,d1,Yn−1,d0−Yn−1,d1)である。
【0057】
Δtを基準単位時間に設定すると、上記の式を次式のように単純化することができる。
Va=arcos[u.v/(|u||v|)]
【0058】
慣性処理ユニット103は、入力デバイスがウィンドウオブジェクトをリリースした後、即ちユーザがドラッグ操作を終了させた後に慣性移動効果を実現する。慣性処理ユニット103はドラッグ処理ユニット102から送信されたリリース制御情報を受信した後、第2のタイマーTimer2を開始し、時間Tgの各時間毎にタイマー処理ファンクションを一回トリガーする。
【0059】
慣性処理ユニット103は、タイマー処理ファンクションにおいて、Timer2の現在の時間における線速度の初速度と角速度の初速度から現在の時間内の変位量と回転量を取得し、取得した現在の時間内の変位量と回転量をウィンドウオブジェクトに送信する。ウィンドウオブジェクトは自身の属性を設定し、慣性移動効果を実現する。
【0060】
Timer2のT時間に対応する線速度の初速度Vは、次式で表される。
=Vi−1−Vdec*Tg
ここで、Vdecは線速度の減速度であり、この値は実際の情況に応じてユーザ又はシステムにより予め設定されてもよい。この値は、線速度の摩擦係数を調整することに相当する。
【0061】
入力デバイスがウィンドウオブジェクトをリリースした後のTimer2の最初の時間において、Vはドラッグ処理ユニット102から送信された線速度の初速度Vである。TgはTimer2の間隔であり、この値はユーザ又はシステムにより予め設定されてよい。
【0062】
Timer2のT時間における角速度の初速度Vaは次式で表される。
Va=Vai−1−Vadec*Tg
ここで、Vadecは角速度の減速度であり、この値は実際の情況に応じてユーザ又はシステムにより予め設定されてもよい。この値は、角速度の摩擦係数を調整することに相当する。
【0063】
入力デバイスがウィンドウオブジェクトをリリースした後のTimer2の最初の時間において、Vaはドラッグ処理ユニット102から送信された角速度の初速度Vaである。
【0064】
Timer2のT時間に対応する変位量(ΔX,ΔY)は、次式で表される。
(ΔX,ΔY)=(V−Vdec*Tg)*Tg=(V.X−Vdec*Tg,V.Y−Vdec*Tg)*Tg
ここで、VはTimer2のT時間における線速度の初速度ベクトルであり、TgはTimer2のタイミング間隔である。
【0065】
Timer2のT時間における回転量αは、次式で表される。
α=(Va−Vadec*Tg)*Tg
ここで、VaはTimer2のT時間における角速度の初速度である。
【0066】
TgとΔtとが等しく、且つΔtを基準単位時間に設定すると、上記の式を次式のように単純化することができる。
(ΔX,ΔY)=(V.X−Vdec,V.Y−Vdec
α=(Va−Vadec
【0067】
Tg=Δt、即ちTgが慣性処理とウィンドウオブジェクト位置の更新時のサンプリングスピードの単位時間であるΔtと等しい場合、計算量を大幅に削減することができる。
【0068】
上記式により取得された現在の時間のウィンドウオブジェクトの慣性移動の変位量と回転量が0以下である場合、慣性処理は終了する。
【0069】
ウィンドウオブジェクトは、慣性処理ユニット103から送信された変位量と回転量を受信した後、自身の中心座標属性値と回転角度属性値を次式のように設定する。
【0070】
CenterX=CenterX+ΔX
CenterY=CenterY+ΔY
Angle=Angle+α
【0071】
インターフェース再描画ファンクションは、中心座標属性値と回転角度属性値を設定することにより、トリガーされ、新たな座標位置において新たな回転角度でウィンドウオブジェクトを表示し、これにより慣性移動効果を実現する。
【0072】
図4は本発明に係るウィンドウオブジェクトの移動方法のフローチャートであり、以下のステップを含む。
【0073】
ステップ401:入力デバイスの初期接触動作を監視し、初期制御情報を取得する。
このステップでは、触点取得ユニットが入力デバイスの初期接触動作を監視し、初期接触動作を監視した後、初期制御情報をドラッグ処理ユニットに送信する。
【0074】
前記入力デバイスは、マウス、タッチスクリーン、ワードパッド等のウィンドウオブジェクト移動機能を有する入力デバイスを含む。入力デバイスが異なると、生成されるシステムメッセージも異なる。例えば、マウスがウィンドウオブジェクトの移動をトリガーすることを示すシステムメッセージは、マウスの左ボタンがが押されて移動されることであってもよい。
【0075】
タッチスクリーンがウィンドウオブジェクトの移動をトリガーすることを示すシステムメッセージは、指が押されて移動されることであってもよい。
【0076】
前記初期接触動作とは、ウィンドウオブジェクトを移動させるために、ユーザが最初にマウスの左ボタンを押すクリック操作であり、又は最初に指でタッチスクリーンを押す操作である。
前記初期制御情報は、初期接触点の位置、時間、デバイス番号、ボタンコード等を含む。
【0077】
ステップ402:初期制御情報を記録し、第1のタイマーTimer1を開始し、タイミング間隔をΔtとして設定する。Δtは実際の情況に応じてユーザ又はシステムにより予め設定される。
【0078】
ドラッグ処理ユニットは、接触点取得ユニットから送信された初期制御情報を受信した後、前記初期制御情報を記録し、Timer1を開始する。Timer1はウィンドウオブジェクトの変位量(ΔX,ΔY)と回転量αを算出するイベントファンクションを周期的にトリガーする。これにより、現在の時間において入力デバイスによってスクリーンにおいて生成された変位量と回転量が取得される。
【0079】
ステップ403:Timer1のタイミング時間が満了した場合、動向制御情報を取得し、現在の時間においてユーザによって入力デバイスを介してスクリーンで生成された変位量と回転量が取得される。
【0080】
このステップを実行する前提条件は、ユーザが入力デバイスの押圧操作を維持し、静止させ、又はウィンドウオブジェクトをドラッグさせることである。触点取得ユニットは、監視された入力デバイスによって生成されたシステムメッセージを動向制御情報(位置、時間、デバイス番号等を含む)に変換してドラッグ処理ユニットに連続的に送信する。
【0081】
ドラッグ処理ユニットはローカルにキャッシュされた動向制御情報をリアルタイムに更新し、各Timer1のタイミング時間が満了する毎に動向制御情報を記録する。この履歴はスクリーン上における入力デバイスの動きの軌跡(ジェスチャー)を反映し、入力デバイスTimer1の現在の時間におけるウィンドウオブジェクトの変位量と回転量が取得される。
【0082】
ステップ404:ウィンドウオブジェクトは、取得された変位量と回転量に従って、ウィンドウオブジェクトのスクリーンでの位置と回転角度を調整する。
ドラッグ処理ユニットは、現在の時点の変位量と回転量を取得した後、それをウィンドウオブジェクトに伝送する。ウィンドウオブジェクトは自身の中心点座標と自身の中心点座標に対する回転角度の属性値を設定することによって、ウィンドウ再描画プロセスをトリガーし、これによりドラッグ効果が実現される。
【0083】
ステップ405:入力デバイスがウィンドウオブジェクトをリリースするか、即ちユーザがマウスボタンをリリースし、又は指を離してドラッグ動作を終了させるかどうかが判断されるウィンドウオブジェクトがリリースされる場合、ステップ406が実行され、ウィンドウオブジェクトがリリースされない場合、ステップ403が実行される。
【0084】
このステップでは、接触点取得ユニットが、入力デバイスがウィンドウオブジェクトをリリースするかを監視する。リリース情報が検出された後、接触点取得ユニットは直ちにリリース制御情報をドラッグ処理ユニットに送信する。前記リリース制御情報はリリース時刻の位置、時間、デバイス番号等の情報を含む。
【0085】
ステップ406:ドラッグ操作が終了された場合、Timer1の最後の時間であるT時間に対応する線速度の初速度Vと角速度の初速度Vaが取得され、Timer1を停止する。
【0086】
ドラッグ処理ユニットは、制御情報の履歴に従って、入力デバイスがウィンドウオブジェクトをリリースした際に、Timer1の最後の時間であるT時間における線速度の初速度Vと角速度の初速度Vaを取得する。取得方法は上述したため、詳細な記載はここでは省略する。ドラッグ処理ユニットは、取得した初速度Vと角速度の初速度Vaを慣性処理ユニットに送信する。
【0087】
ステップ407:第2のタイマーTimer2が開始され、タイミング間隔がTgに設定される。
このステップでは、慣性処理ユニットは、VとVaを受信した後、第2のタイマーTimer2を開始する。Timer2は、入力デバイスがウィンドウオブジェクトをリリースした後の慣性移動効果を実現することに用いられる。
【0088】
ステップ408:Timer2のタイミング時間が満了する度に、線速度の減速度Vdecと角速度の減速度Vadecからウィンドウオブジェクトの現在の変位量と回転量が取得される。現在の時刻の位置が記録され、次のタイミング時間のために、線速度の初速度Vと角速度の初速度Vaが算出される。
【0089】
このステップでは、慣性処理ユニットは、予め設定されたVdecとVadecに従って、入力デバイス、Timer2の現在のタイミング時間において、入力デバイスがウィンドウオブジェクトをリリースした後にウィンドウオブジェクトが前方へ移動し続けるための変位量と回転量を取得する。取得方法は上述したため、詳細な記載はここでは省略する。
【0090】
Timer2の次のタイミング時間の線速度の初速度Vと角速度の初速度Vaの取得方法は、次式で表される。
=Vi−1−Vdec*Tg;Va=Vai−1−Vadec*Tg
【0091】
ステップ409:慣性移動が終了したかが判断され、終了した場合、プロセスを終了させ、終了していない場合、ステップ410を実行する。
【0092】
慣性移動が終了したかを判断するステップでは、ステップ408で取得されたVとVaが0以下であるかが判断される。、0以下である場合、Timer2は停止され、慣性移動処理は終了する。一方の値が0以下であるが、他方の値が依然として0より大きい場合、他方値に対して慣性処理を行う必要がある。
【0093】
例えば、Vが0以下であるが、Vaが0より大きい場合、Timer2の現在の時間と後続の時間では変位量はいずれも0であり、回転量は0ではない。慣性移動処理は、両者とも現在の時間で0以下となるまで終了しない。
【0094】
ステップ410:ウィンドウオブジェクトは、取得された変位量と回転量に従って、ウィンドウオブジェクトのスクリーンでの位置と回転角度を調整し、慣性移動効果を実現する。そして再びステップ408が実行される。
【0095】
以上は、本発明の最適な実施形態であり、本発明の保護範囲を制限するものではない。
図1
図2
図3
図4